diff src/main/java/de/intevation/lada/validation/rules/messung/MessgroesseToMessmethode.java @ 677:de47b7193bdb

Fixed validation rules.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 22 May 2015 15:15:14 +0200
parents 4da01934e46f
children 3118fbbe6292
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/validation/rules/messung/MessgroesseToMessmethode.java	Fri May 22 15:14:54 2015 +0200
+++ b/src/main/java/de/intevation/lada/validation/rules/messung/MessgroesseToMessmethode.java	Fri May 22 15:15:14 2015 +0200
@@ -1,9 +1,12 @@
 package de.intevation.lada.validation.rules.messung;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
+
 import de.intevation.lada.model.land.LMessung;
 import de.intevation.lada.model.land.LMesswert;
 import de.intevation.lada.model.stamm.MmtMessgroesse;
@@ -20,6 +23,9 @@
 public class MessgroesseToMessmethode implements Rule {
 
     @Inject
+    private Logger logger;
+
+    @Inject
     @RepositoryConfig(type=RepositoryType.RO)
     private Repository repository;
 
@@ -30,26 +36,32 @@
         QueryBuilder<LMesswert> builder =
             new QueryBuilder<LMesswert>(
                 repository.entityManager("land"), LMesswert.class);
-        builder.and("messungsId", messung.getId())
-            .and("probeId", messung.getProbeId());
+        builder.and("messungsId", messung.getId());
         Response response = repository.filter(builder.getQuery(), "land");
         List<LMesswert> messwerte = (List<LMesswert>)response.getData();
 
         QueryBuilder<MmtMessgroesse> mmtBuilder =
             new QueryBuilder<MmtMessgroesse>(
                     repository.entityManager("stamm"), MmtMessgroesse.class);
-        builder.and("mmtId", mmt);
 
         Response results =
             repository.filter(mmtBuilder.getQuery(), "stamm");
         List<MmtMessgroesse> messgroessen =
             (List<MmtMessgroesse>)results.getData();
+        List<MmtMessgroesse> found = new ArrayList<MmtMessgroesse>();
+        for (MmtMessgroesse mg: messgroessen) {
+            if (mmt.equals(mg.getMmtMessgroessePK().getMmtId())) {
+                logger.debug("found: " + mg.getMmtMessgroessePK().getMmtId() + " for " + mmt);
+                found.add(mg);
+            }
+        }
         Violation violation = new Violation();
         for(LMesswert messwert: messwerte) {
             boolean hit = false;
-            for (MmtMessgroesse messgroesse: messgroessen) {
+            for (MmtMessgroesse messgroesse: found) {
+                logger.debug("###### mmt: " + messwert.getMessgroesseId() + " mmtmg: " + messgroesse.getMmtMessgroessePK().getMessgroessengruppeId());
                 if (messwert.getMessgroesseId().equals(
-                        messgroesse.getMmtMessgroessePK().getMmtId().toString())) {
+                        messgroesse.getMmtMessgroessePK().getMessgroessengruppeId())) {
                     hit = true;
                 }
             }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)