diff options
Diffstat (limited to 'src')
4 files changed, 15 insertions, 13 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dto/Operation.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dto/Operation.java index 7d91c88..3a97dc7 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dto/Operation.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/dto/Operation.java @@ -26,6 +26,7 @@ public abstract class Operation {      public abstract String opCode(); +    @Nullable      public abstract Severity severity();      public abstract Status status(); diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java index a89e3b1..3e811d4 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java @@ -49,6 +49,8 @@ public class OperationServiceImpl implements OperationService {      public long add(Operation o) throws InvalidOperationException, ServiceException {          if (o.created() != null) throw new InvalidOperationException("Created must not be set"); +        if (o.severity() != null) throw new InvalidOperationException("Severity must not be set"); +          if (o.status() != Status.ACTIVE)              LOG.warn("Status was set but will be overridden"); // TODO: nullable instead?? @@ -61,7 +63,11 @@ public class OperationServiceImpl implements OperationService {              validateOperation(o);              return operationDAO.add( -                    o.toBuilder().created(Instant.now()).status(Status.ACTIVE).build()); +                    o.toBuilder() +                            .created(Instant.now()) +                            .severity(extractSeverityFromOpCode(o.opCode())) +                            .status(Status.ACTIVE) +                            .build());          } catch (PersistenceException e) {              LOG.error("PersistenceException while adding operation: {}", e);              throw new ServiceException(e); @@ -82,6 +88,10 @@ public class OperationServiceImpl implements OperationService {              Operation o = operationDAO.get(operationId);              validateOperation(o); +            if (o.opCode().trim().isEmpty() +                    || extractSeverityFromOpCode(o.opCode()) != o.severity()) +                throw new InvalidOperationException("Einsatzcode ist invalid"); +              if (o.status() != Status.ACTIVE)                  throw new InvalidOperationException("Einsatz ist inaktiv"); @@ -210,11 +220,6 @@ public class OperationServiceImpl implements OperationService {      private static void validateOperation(Operation o) throws InvalidOperationException {          if (o.id() <= 0) throw new InvalidOperationException("Id is invalid"); -        if (o.opCode().trim().isEmpty()) throw new InvalidOperationException("opCode is invalid"); - -        if (extractSeverityFromOpCode(o.opCode()) != o.severity()) -            throw new InvalidOperationException("Einsatzcode ist invalid"); -          if (o.vehicles().isEmpty())              throw new InvalidOperationException(                      "Es muss mindestens ein Fahrzeug ausgewählt werden!"); diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java index 5222712..9debddf 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java @@ -1,7 +1,6 @@  package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.userInterface;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation; -import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Severity;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Registration;  import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle; @@ -259,11 +258,9 @@ public class CreateOperationController {                  Operation.builder()                          .additionalInfo(txtNote.getText())                          .destination(txtAddress.getText()) -                        .created(Instant.now())                          .opCode(txtCode.getText())                          .status(Status.ACTIVE)                          .vehicles(Set.of(vehicles)) -                        .severity(Severity.A)                          .build();          try {              operationService.add(operation); diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java index f9ec287..ac53555 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceTest.java @@ -177,17 +177,16 @@ public class OperationServiceTest {      @Test      public void addOperation() throws Exception { -        operationService.add(baseOp); +        operationService.add(baseOp.toBuilder().severity(null).build()); -        // Operation result =          verify(operationDAO, times(1))                  .add(baseOp.toBuilder().created(any()).status(Status.ACTIVE).build());          verify(vehicleDAO, times(1)).get(v1.id());      }      @Test(expected = InvalidOperationException.class) -    public void addInvalidSeverity() throws Exception { -        operationService.add(baseOp.toBuilder().severity(Severity.B).build()); +    public void addWithSeverity() throws Exception { +        operationService.add(baseOp.toBuilder().severity(Severity.E).build());      }      @Test(expected = InvalidOperationException.class)  | 
