diff options
| author | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-23 12:45:35 +0200 | 
|---|---|---|
| committer | Martin <martin.weick@outlook.com> | 2018-05-23 12:45:35 +0200 | 
| commit | 505c7dbdd8d2de827eefba8007463fb314a0f1a0 (patch) | |
| tree | b0fe597ccce4b82ec797569efdba6530b0613ce3 /src/main/java/at/ac/tuwien/sepm | |
| parent | b7fb4e11afc3dbc622652f54d96470da102436ea (diff) | |
| download | sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.tar.gz sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.tar.xz sepm-groupproject-505c7dbdd8d2de827eefba8007463fb314a0f1a0.zip  | |
Fix VehicleVersion Id #25963
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/VehicleDatabaseDao.java | 26 | 
1 files changed, 16 insertions, 10 deletions
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,30 +47,35 @@ 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);                      }                  }                  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)) {  | 
