diff src/main/java/de/intevation/lada/factory/ProbeFactory.java @ 1262:9dfb52db6a0f

Make use of the ort factory in ort service.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 27 Jan 2017 15:10:01 +0100
parents 6e393b614edf
children 212fe0cfd694
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/factory/ProbeFactory.java	Fri Jan 27 15:00:31 2017 +0100
+++ b/src/main/java/de/intevation/lada/factory/ProbeFactory.java	Fri Jan 27 15:10:01 2017 +0100
@@ -25,6 +25,7 @@
 import de.intevation.lada.model.land.Messung;
 import de.intevation.lada.model.land.Messwert;
 import de.intevation.lada.model.land.Ortszuordnung;
+import de.intevation.lada.model.land.OrtszuordnungMp;
 import de.intevation.lada.model.land.StatusProtokoll;
 import de.intevation.lada.model.stammdaten.DeskriptorUmwelt;
 import de.intevation.lada.model.stammdaten.Deskriptoren;
@@ -60,16 +61,16 @@
 
         int[] J = { Calendar.YEAR, Calendar.DAY_OF_YEAR, 1 };
 
-        this.fieldsTable = new Hashtable<String, int[]>();
+        fieldsTable = new Hashtable<String, int[]>();
 
-        this.fieldsTable.put("T", T);
-        this.fieldsTable.put("W", W);
-        this.fieldsTable.put("W2", W2);
-        this.fieldsTable.put("W4", W4);
-        this.fieldsTable.put("M", M);
-        this.fieldsTable.put("Q", Q);
-        this.fieldsTable.put("H", H);
-        this.fieldsTable.put("J", J);
+        fieldsTable.put("T", T);
+        fieldsTable.put("W", W);
+        fieldsTable.put("W2", W2);
+        fieldsTable.put("W4", W4);
+        fieldsTable.put("M", M);
+        fieldsTable.put("Q", Q);
+        fieldsTable.put("H", H);
+        fieldsTable.put("J", J);
     }
 
     private class Intervall {
@@ -356,7 +357,8 @@
         Response response = repository.filter(builder.getQuery(), "land");
         @SuppressWarnings("unchecked")
         List<MessprogrammMmt> mmts = (List<MessprogrammMmt>)response.getData();
-        for (MessprogrammMmt mmt : mmts) {
+        for (int i = 0; i < mmts.size(); i++) {
+            MessprogrammMmt mmt = mmts.get(i);
             Messung messung = new Messung();
             messung.setFertig(false);
             messung.setGeplant(true);
@@ -375,22 +377,19 @@
                 repository.create(wert, "land");
             }
         }
-        if (messprogramm.getOrtId() != null &&
-            !messprogramm.getOrtId().equals("")) {
-            Ortszuordnung ort = new Ortszuordnung();
-            ort.setOrtszuordnungTyp("E");
-            ort.setProbeId(probe.getId());
-            QueryBuilder<Ort> ortBuilder = new QueryBuilder<Ort>(
-                repository.entityManager("stamm"), Ort.class);
-            ortBuilder.and("id", messprogramm.getOrtId());
-            Response ortResponse = repository.filter(
-                ortBuilder.getQuery(), "stamm");
-            @SuppressWarnings("unchecked")
-            List<Ort> orte = (List<Ort>) ortResponse.getData();
-            if (orte != null && !orte.isEmpty()) {
-                ort.setOrtId(orte.get(0).getId());
-            }
-            repository.create(ort, "land");
+        QueryBuilder<OrtszuordnungMp> builderOrt =
+            new QueryBuilder<OrtszuordnungMp>(
+                repository.entityManager("land"),
+                OrtszuordnungMp.class);
+        List<OrtszuordnungMp> orte =
+            repository.filterPlain(builderOrt.getQuery(), "land");
+        for (OrtszuordnungMp ort : orte) {
+            Ortszuordnung ortP = new Ortszuordnung();
+            ortP.setOrtszuordnungTyp(ort.getOrtszuordnungTyp());
+            ortP.setProbeId(probe.getId());
+            ortP.setOrtId(ort.getOrtId());
+            ortP.setOrtszusatztext(ort.getOrtszusatztext());
+            repository.create(ortP, "land");
         }
         // Reolad the probe to have the old id
         probe = (Probe)repository.getById(
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)