[Lada-commits] [PATCH] Check for entnahmeOrt in messprogramm and add error if missing

Wald Commits scm-commit at wald.intevation.org
Fri Jan 27 16:13:07 CET 2017


# HG changeset patch
# User Raimund Renkert <raimund.renkert at intevation.de>
# Date 1485529972 -3600
# Node ID 3cdf75a9bf9245ac30febce87f0b0cc5c031dd0c
# Parent  7ae0fa505abbcfcd90503484211de78d9fbb51c2
Check for entnahmeOrt in messprogramm and add error if missing.

diff -r 7ae0fa505abb -r 3cdf75a9bf92 src/main/java/de/intevation/lada/validation/rules/messprogramm/HasAllMandatory.java
--- a/src/main/java/de/intevation/lada/validation/rules/messprogramm/HasAllMandatory.java	Fri Jan 27 15:55:08 2017 +0100
+++ b/src/main/java/de/intevation/lada/validation/rules/messprogramm/HasAllMandatory.java	Fri Jan 27 16:12:52 2017 +0100
@@ -7,7 +7,16 @@
  */
 package de.intevation.lada.validation.rules.messprogramm;
 
+import java.util.List;
+
+import javax.inject.Inject;
+
 import de.intevation.lada.model.land.Messprogramm;
+import de.intevation.lada.model.land.OrtszuordnungMp;
+import de.intevation.lada.util.annotation.RepositoryConfig;
+import de.intevation.lada.util.data.QueryBuilder;
+import de.intevation.lada.util.data.Repository;
+import de.intevation.lada.util.data.RepositoryType;
 import de.intevation.lada.validation.Violation;
 import de.intevation.lada.validation.annotation.ValidationRule;
 import de.intevation.lada.validation.rules.Rule;
@@ -19,6 +28,10 @@
 @ValidationRule("Messprogramm")
 public class HasAllMandatory implements Rule {
 
+    @Inject
+    @RepositoryConfig(type=RepositoryType.RO)
+    Repository repository;
+
     @Override
     public Violation execute(Object object) {
         Messprogramm messprogramm = (Messprogramm)object;
@@ -54,6 +67,21 @@
         if (messprogramm.getGueltigBis() == null) {
             violation.addError("gueltigBis", 631);
         }
+        QueryBuilder<OrtszuordnungMp> builder =
+            new QueryBuilder<OrtszuordnungMp>(
+                repository.entityManager("land"),
+                OrtszuordnungMp.class);
+        List<OrtszuordnungMp> orte = repository.filterPlain(
+            builder.getQuery(), "land");
+        boolean found = false;
+        for (OrtszuordnungMp ort : orte) {
+            if ("E".equals(ort.getOrtszuordnungTyp())) {
+                found = true;
+            }
+        }
+        if (!found) {
+            violation.addError("entnahmeOrt", 631);
+        }
 
         return violation.hasErrors()
             ? violation


More information about the Lada-commits mailing list