aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at
diff options
context:
space:
mode:
authorFelix Kehrer <felix.kehrer@gmail.com>2018-05-23 12:25:51 +0200
committerFelix Kehrer <felix.kehrer@gmail.com>2018-05-23 12:25:51 +0200
commitd13cee465d399895668a88edc34a30a4d0a380c5 (patch)
tree8367d590ba1500402fcf914890f2a78f3b522203 /src/main/java/at
parent694c5f3e6b5b260298af91a6d9d1b63dbc9e6231 (diff)
downloadsepm-groupproject-d13cee465d399895668a88edc34a30a4d0a380c5.tar.gz
sepm-groupproject-d13cee465d399895668a88edc34a30a4d0a380c5.tar.xz
sepm-groupproject-d13cee465d399895668a88edc34a30a4d0a380c5.zip
Fix problem where listing operations would throw exception, downgrading h2 to 1.4.196 because of bug in .197 #24993
Diffstat (limited to 'src/main/java/at')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/DBOperationDAO.java18
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/RegistrationDatabaseDAO.java2
2 files changed, 13 insertions, 7 deletions
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 bb6fb27..1fcdc2e 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,16 +221,22 @@ public class DBOperationDAO implements OperationDAO {
@Override
public Set<Operation> list(EnumSet<Status> statuses) throws PersistenceException {
- String sql = "SELECT * FROM Operation WHERE status IN (?)";
+ 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(") ;");
Set<Operation> operations = new HashSet<>();
try {
Connection con = jdbcConnectionManager.getConnection();
-
- try (PreparedStatement pstmt = con.prepareStatement(sql)) {
- Object[] arr = statuses.stream().map(Enum::ordinal).toArray();
- pstmt.setArray(1, con.createArrayOf("INTEGER", arr));
-
+ try (PreparedStatement pstmt = con.prepareStatement(listString.toString())) {
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 13aeffc..5c00447 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.setObject(4, registration.end());
+ addRegistration.setTimestamp(4, Timestamp.from(registration.end()));
addRegistration.setBoolean(
5, true); // ASSUMPTION: Registration gets created as active
addRegistration.executeUpdate();