aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac
diff options
context:
space:
mode:
authorTharre <tharre3@gmail.com>2018-05-30 18:08:32 +0200
committerTharre <tharre3@gmail.com>2018-05-30 18:08:32 +0200
commitcad736b1bad936589cd6341d5e204dad5bf0588d (patch)
treef0652903f6c61d92b08ccb55e4806b4c18c2f323 /src/main/java/at/ac
parent406d99c083f9840d47722d3e52b521dc8c89e359 (diff)
downloadsepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.tar.gz
sepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.tar.xz
sepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.zip
Work around H2 bug in OperationDAO.list()
Diffstat (limited to 'src/main/java/at/ac')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
index 0a465f2..1989764 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java
@@ -150,11 +150,14 @@ public class OperationDatabaseDAO implements OperationDAO {
// This hack exists because H2 currently has a bug that prevents IN (?) with an array of
// ids, i.e. pstmt.setArray(1, con.createArrayOf("INT", intarray) from working. See
// commented code below.
+
+ // SELECT * FROM Operation WHERE status IN ('COMPLETED', 'CANCELLED') is BUGGED on H2!
+ // for this reason we use the ordinal values instead
String str =
statuses.stream()
- .map(Enum::name)
- .map(s -> "'" + s + "'")
+ .map(e -> Integer.toString(e.ordinal()))
.collect(Collectors.joining(","));
+
String sql = "SELECT * FROM Operation WHERE status IN (" + str + ")";
Set<Operation> operations = new HashSet<>();