comparison src/main/java/de/intevation/lada/validation/rules/messung/MessgroesseToMessmethode.java @ 1028:1c41c7b8f7c2 schema-update

Updated server application to new database model. THIS IS STILL WIP!!!
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 08 Jul 2016 15:32:36 +0200
parents 305f138982eb
children 18c789672b14
comparison
equal deleted inserted replaced
1027:9971471d562c 1028:1c41c7b8f7c2
12 12
13 import javax.inject.Inject; 13 import javax.inject.Inject;
14 14
15 import org.apache.log4j.Logger; 15 import org.apache.log4j.Logger;
16 16
17 import de.intevation.lada.model.land.LMessung; 17 import de.intevation.lada.model.land.Messung;
18 import de.intevation.lada.model.land.LMesswert; 18 import de.intevation.lada.model.land.Messwert;
19 import de.intevation.lada.model.stamm.MmtMessgroesse; 19 import de.intevation.lada.model.stammdaten.MmtMessgroesse;
20 import de.intevation.lada.util.annotation.RepositoryConfig; 20 import de.intevation.lada.util.annotation.RepositoryConfig;
21 import de.intevation.lada.util.data.QueryBuilder; 21 import de.intevation.lada.util.data.QueryBuilder;
22 import de.intevation.lada.util.data.Repository; 22 import de.intevation.lada.util.data.Repository;
23 import de.intevation.lada.util.data.RepositoryType; 23 import de.intevation.lada.util.data.RepositoryType;
24 import de.intevation.lada.util.rest.Response; 24 import de.intevation.lada.util.rest.Response;
42 @RepositoryConfig(type=RepositoryType.RO) 42 @RepositoryConfig(type=RepositoryType.RO)
43 private Repository repository; 43 private Repository repository;
44 44
45 @Override 45 @Override
46 public Violation execute(Object object) { 46 public Violation execute(Object object) {
47 LMessung messung = (LMessung)object; 47 Messung messung = (Messung)object;
48 String mmt = messung.getMmtId(); 48 String mmt = messung.getMmtId();
49 QueryBuilder<LMesswert> builder = 49 QueryBuilder<Messwert> builder =
50 new QueryBuilder<LMesswert>( 50 new QueryBuilder<Messwert>(
51 repository.entityManager("land"), LMesswert.class); 51 repository.entityManager("land"), Messwert.class);
52 builder.and("messungsId", messung.getId()); 52 builder.and("messungsId", messung.getId());
53 Response response = repository.filter(builder.getQuery(), "land"); 53 Response response = repository.filter(builder.getQuery(), "land");
54 @SuppressWarnings("unchecked") 54 @SuppressWarnings("unchecked")
55 List<LMesswert> messwerte = (List<LMesswert>)response.getData(); 55 List<Messwert> messwerte = (List<Messwert>)response.getData();
56 56
57 QueryBuilder<MmtMessgroesse> mmtBuilder = 57 QueryBuilder<MmtMessgroesse> mmtBuilder =
58 new QueryBuilder<MmtMessgroesse>( 58 new QueryBuilder<MmtMessgroesse>(
59 repository.entityManager("stamm"), MmtMessgroesse.class); 59 repository.entityManager("stamm"), MmtMessgroesse.class);
60 60
63 @SuppressWarnings("unchecked") 63 @SuppressWarnings("unchecked")
64 List<MmtMessgroesse> messgroessen = 64 List<MmtMessgroesse> messgroessen =
65 (List<MmtMessgroesse>)results.getData(); 65 (List<MmtMessgroesse>)results.getData();
66 List<MmtMessgroesse> found = new ArrayList<MmtMessgroesse>(); 66 List<MmtMessgroesse> found = new ArrayList<MmtMessgroesse>();
67 for (MmtMessgroesse mg: messgroessen) { 67 for (MmtMessgroesse mg: messgroessen) {
68 if (mg.getMmtMessgroessePK() != null && 68 if (mg.getMmtId().equals(mmt)) {
69 mg.getMmtMessgroessePK().getMmtId().equals(mmt)) {
70 found.add(mg); 69 found.add(mg);
71 } 70 }
72 } 71 }
73 Violation violation = new Violation(); 72 Violation violation = new Violation();
74 for(LMesswert messwert: messwerte) { 73 for(Messwert messwert: messwerte) {
75 boolean hit = false; 74 boolean hit = false;
76 for (MmtMessgroesse messgroesse: found) { 75 for (MmtMessgroesse messgroesse: found) {
77 logger.trace("###### mmt: " + messwert.getMessgroesseId() 76 logger.trace("###### mmt: " + messwert.getMessgroesseId()
78 + " mmtmg: " + messgroesse.getMmtMessgroessePK() 77 + " mmtmg: " + messgroesse.getMmtId());
79 .getMessgroessengruppeId());
80 if (messwert.getMessgroesseId().equals( 78 if (messwert.getMessgroesseId().equals(
81 messgroesse.getMmtMessgroessePK().getMessgroessengruppeId())) { 79 messgroesse.getMmtId())) {
82 hit = true; 80 hit = true;
83 } 81 }
84 } 82 }
85 if (!hit) { 83 if (!hit) {
86 violation.addWarning("messgroesse", 632); 84 violation.addWarning("messgroesse", 632);
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)