diff options
3 files changed, 8 insertions, 14 deletions
@@ -19,7 +19,7 @@ <slf4j.version>1.8.0-beta2</slf4j.version> <auto-value.version>1.6</auto-value.version> <!-- runtime dependencies --> - <h2.version>1.4.196</h2.version> + <h2.version>1.4.197</h2.version> <logback.version>1.3.0-alpha4</logback.version> <!-- test dependencies --> <junit.version>4.12</junit.version> diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java index 1fcdc2e..bb6fb27 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java @@ -221,22 +221,16 @@ public class DBOperationDAO implements OperationDAO { @Override public Set<Operation> list(EnumSet<Status> statuses) throws PersistenceException { - StringBuilder listString = new StringBuilder("SELECT * FROM Operation WHERE status IN ("); - boolean first = true; - for (Status status : statuses) { - if (first) { - first = false; - } else { - listString.append(", "); - } - listString.append("\'" + status.name() + "\'"); - } - listString.append(") ;"); + String sql = "SELECT * FROM Operation WHERE status IN (?)"; Set<Operation> operations = new HashSet<>(); try { Connection con = jdbcConnectionManager.getConnection(); - try (PreparedStatement pstmt = con.prepareStatement(listString.toString())) { + + try (PreparedStatement pstmt = con.prepareStatement(sql)) { + Object[] arr = statuses.stream().map(Enum::ordinal).toArray(); + pstmt.setArray(1, con.createArrayOf("INTEGER", arr)); + try (ResultSet rs = pstmt.executeQuery()) { while (rs.next()) operations.add(operationFromRS(rs)); } diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDatabaseDAO.java index 5c00447..13aeffc 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDatabaseDAO.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDatabaseDAO.java @@ -56,7 +56,7 @@ public class RegistrationDatabaseDAO implements RegistrationDAO { addRegistration.setLong(1, vehicleId); addRegistration.setLong(2, registration.employee().id()); addRegistration.setTimestamp(3, Timestamp.from(registration.start())); - addRegistration.setTimestamp(4, Timestamp.from(registration.end())); + addRegistration.setObject(4, registration.end()); addRegistration.setBoolean( 5, true); // ASSUMPTION: Registration gets created as active addRegistration.executeUpdate(); |