diff src/main/java/de/intevation/lada/validation/rules/status/StatusFolge.java @ 1035:4d95cc7f0a43 schema-update

Updated status workflow. * Using status_kombi instead of status_wert and status_stufe * new service for status_kombi * updated validators
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 31 Aug 2016 15:52:15 +0200
parents 1c41c7b8f7c2
children f92c96efa976
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/validation/rules/status/StatusFolge.java	Wed Aug 31 15:50:54 2016 +0200
+++ b/src/main/java/de/intevation/lada/validation/rules/status/StatusFolge.java	Wed Aug 31 15:52:15 2016 +0200
@@ -11,6 +11,8 @@
 
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
+
 import de.intevation.lada.model.land.StatusProtokoll;
 import de.intevation.lada.model.stammdaten.StatusKombi;
 import de.intevation.lada.model.stammdaten.StatusReihenfolge;
@@ -30,57 +32,36 @@
 @ValidationRule("Status")
 public class StatusFolge implements Rule {
 
+    @Inject Logger logger;
+
     @Inject
     @RepositoryConfig(type=RepositoryType.RO)
     private Repository repository;
 
     @Override
     public Violation execute(Object object) {
-        /*
         StatusProtokoll status = (StatusProtokoll)object;
-        QueryBuilder<StatusKombi> kombi = new QueryBuilder<StatusKombi>(
-            repository.entityManager("stamm"),
-            StatusKombi.class);
-        kombi.and("stufeId", status.getStatusStufe());
-        kombi.and("wertId", status.getStatusWert());
-        List<StatusKombi> result =
-            repository.filterPlain(kombi.getQuery(), "stamm");
-        if (result.isEmpty()) {
-            Violation violation = new Violation();
-            violation.addError("status", 632);
-            return violation;
-        }
 
         // Get the previous status
-        QueryBuilder<LStatusProtokoll> lastFilter =
-            new QueryBuilder<LStatusProtokoll>(
+        QueryBuilder<StatusProtokoll> lastFilter =
+            new QueryBuilder<StatusProtokoll>(
                     repository.entityManager("land"),
-                    LStatusProtokoll.class);
+                    StatusProtokoll.class);
 
         lastFilter.and("messungsId", status.getMessungsId());
         lastFilter.orderBy("datum", true);
-        List<LStatusProtokoll> protos =
+        List<StatusProtokoll> protos =
             repository.filterPlain(lastFilter.getQuery(), "land");
         if (protos.isEmpty()) {
             return null;
         }
-        LStatusProtokoll last = protos.get(protos.size() - 1);
-        QueryBuilder<StatusKombi> kombi2 = kombi.getEmptyBuilder();
-        kombi2.and("stufeId", last.getStatusStufe());
-        kombi2.and("wertId", last.getStatusWert());
-        List<StatusKombi> result2 =
-            repository.filterPlain(kombi2.getQuery(), "stamm");
-        if (result2.isEmpty()) {
-            Violation violation = new Violation();
-            violation.addError("status", 632);
-            return violation;
-        }
+        StatusProtokoll last = protos.get(protos.size() - 1);
         QueryBuilder<StatusReihenfolge> folgeFilter =
             new QueryBuilder<StatusReihenfolge>(
                 repository.entityManager("stamm"),
                 StatusReihenfolge.class);
-        folgeFilter.and("von", result2.get(0).getId());
-        folgeFilter.and("zu", result.get(0).getId());
+        folgeFilter.and("vonId", last.getStatusKombi());
+        folgeFilter.and("zuId", status.getStatusKombi());
         List<StatusReihenfolge> reihenfolge =
             repository.filterPlain(folgeFilter.getQuery(), "stamm");
         if (reihenfolge.isEmpty()) {
@@ -89,10 +70,6 @@
             return violation;
         }
 
-        return null;*/
-
-        Violation violation = new Violation();
-        violation.addError("status", 000);
-        return violation;
+        return null;
     }
 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)