diff options
Diffstat (limited to 'src/main/java/at')
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();  | 
