From 505c7dbdd8d2de827eefba8007463fb314a0f1a0 Mon Sep 17 00:00:00 2001 From: Martin Weick Date: Wed, 23 May 2018 12:45:35 +0200 Subject: Fix VehicleVersion Id #25963 --- .../einsatzverwaltung/dao/VehicleDatabaseDao.java | 26 +++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java index 7e0f494..808e7e7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java @@ -33,6 +33,7 @@ public class VehicleDatabaseDao implements VehicleDAO { String status = "ABGEMELDET"; String name = ""; int id = -1; + int version = -1; try { Connection connection = jdbcConnectionManager.getConnection(); connection.setAutoCommit(false); @@ -46,9 +47,21 @@ public class VehicleDatabaseDao implements VehicleDAO { p1.setString(4, vehicle.type().name()); p1.executeUpdate(); - try (ResultSet keyResultSet = p1.getGeneratedKeys()) { + if (keyResultSet.next()) { + version = keyResultSet.getInt(1); + } + } + } + try (PreparedStatement p2 = + connection.prepareStatement(query2, Statement.RETURN_GENERATED_KEYS)) { + + p2.setInt(1, version); + p2.setString(2, status); + p2.executeUpdate(); + try (ResultSet keyResultSet = p2.getGeneratedKeys()) { + if (keyResultSet.next()) { id = keyResultSet.getInt(1); } @@ -56,20 +69,13 @@ public class VehicleDatabaseDao implements VehicleDAO { name = vehicle.type().name() + "-" + id; } - query1 = "UPDATE VehicleVersion SET name=? WHERE id=?"; try (PreparedStatement p3 = connection.prepareStatement(query1)) { p3.setString(1, name); - p3.setInt(2, id); + p3.setInt(2, version); p3.executeUpdate(); } - try (PreparedStatement p2 = connection.prepareStatement(query2)) { - - p2.setInt(1, id); - p2.setString(2, status); - p2.executeUpdate(); - } connection.commit(); connection.setAutoCommit(true); } catch (SQLException e) { @@ -125,7 +131,7 @@ public class VehicleDatabaseDao implements VehicleDAO { throw new ElementNotFoundException("Vehicle don“t found"); } } - name = vehicle.type().name() + "-" + vehicleVersion; + name = vehicle.type().name() + "-" + vehicleID; query = "UPDATE VehicleVersion SET name=? WHERE id=?"; try (PreparedStatement p = connection.prepareStatement(query)) { -- cgit v1.2.3-70-g09d2