diff options
| author | Tharre <tharre3@gmail.com> | 2018-05-30 18:08:32 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-05-30 18:08:32 +0200 | 
| commit | cad736b1bad936589cd6341d5e204dad5bf0588d (patch) | |
| tree | f0652903f6c61d92b08ccb55e4806b4c18c2f323 /src | |
| parent | 406d99c083f9840d47722d3e52b521dc8c89e359 (diff) | |
| download | sepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.tar.gz sepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.tar.xz sepm-groupproject-cad736b1bad936589cd6341d5e204dad5bf0588d.zip  | |
Work around H2 bug in OperationDAO.list()
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dao/OperationDatabaseDAO.java | 7 | 
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<>();  | 
