diff options
| author | Tharre <tharre3@gmail.com> | 2018-05-24 15:14:33 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-05-24 15:44:40 +0200 | 
| commit | 2cb71544b5306b3ad0bde74509000ede208f6faf (patch) | |
| tree | 26f3800f5376410c1f801ca35ce26864cb8fc583 /src/main/java/at | |
| parent | 9c60ec80f47fa87d4f339d97c21eb1724b66d5c7 (diff) | |
| download | sepm-groupproject-2cb71544b5306b3ad0bde74509000ede208f6faf.tar.gz sepm-groupproject-2cb71544b5306b3ad0bde74509000ede208f6faf.tar.xz sepm-groupproject-2cb71544b5306b3ad0bde74509000ede208f6faf.zip  | |
Set severity inside OperationService.add() #25963
This avoids duplicate parsing in the UI or adding a
getSeverityFromOpcode() method to the interface.
Diffstat (limited to 'src/main/java/at')
3 files changed, 12 insertions, 9 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);  | 
