comparison src/main/java/de/intevation/lada/validation/rules/ortszuordnung/HasEntnahmeOrt.java @ 1285:b0f73f864486

Updated validation rules to allow messprogramm ortszuordnungen.
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 08 Feb 2017 09:12:17 +0100
parents 201cc62a1c57
children
comparison
equal deleted inserted replaced
1284:736445a05169 1285:b0f73f864486
10 import java.util.List; 10 import java.util.List;
11 11
12 import javax.inject.Inject; 12 import javax.inject.Inject;
13 13
14 import de.intevation.lada.model.land.Ortszuordnung; 14 import de.intevation.lada.model.land.Ortszuordnung;
15 import de.intevation.lada.model.land.OrtszuordnungMp;
15 import de.intevation.lada.util.annotation.RepositoryConfig; 16 import de.intevation.lada.util.annotation.RepositoryConfig;
16 import de.intevation.lada.util.data.QueryBuilder; 17 import de.intevation.lada.util.data.QueryBuilder;
17 import de.intevation.lada.util.data.Repository; 18 import de.intevation.lada.util.data.Repository;
18 import de.intevation.lada.util.data.RepositoryType; 19 import de.intevation.lada.util.data.RepositoryType;
19 import de.intevation.lada.validation.Violation; 20 import de.intevation.lada.validation.Violation;
27 @RepositoryConfig(type=RepositoryType.RO) 28 @RepositoryConfig(type=RepositoryType.RO)
28 private Repository repository; 29 private Repository repository;
29 30
30 @Override 31 @Override
31 public Violation execute(Object object) { 32 public Violation execute(Object object) {
32 Ortszuordnung ort = (Ortszuordnung)object; 33 Integer id = null;
33 if (!"E".equals(ort.getOrtszuordnungTyp())) { 34 if (object instanceof Ortszuordnung) {
34 return null; 35 Ortszuordnung ort = (Ortszuordnung)object;
35 } 36 if (!"E".equals(ort.getOrtszuordnungTyp())) {
37 return null;
38 }
39 id = ort.getProbeId();
40 QueryBuilder<Ortszuordnung> builder = new QueryBuilder<Ortszuordnung>(
41 repository.entityManager("land"),
42 Ortszuordnung.class);
36 43
37 QueryBuilder<Ortszuordnung> builder = new QueryBuilder<Ortszuordnung>( 44 builder.and("probeId", id);
38 repository.entityManager("land"), 45 List<Ortszuordnung> orte = repository.filterPlain(
39 Ortszuordnung.class); 46 builder.getQuery(),
40 builder.and("probeId", ort.getProbeId()); 47 "land");
41 List<Ortszuordnung> orte = repository.filterPlain( 48 for (Ortszuordnung o : orte) {
42 builder.getQuery(), 49 if ("E".equals(o.getOrtszuordnungTyp()) &&
43 "land"); 50 !o.getId().equals(ort.getId())
44 for (Ortszuordnung o : orte) { 51 ) {
45 if ("E".equals(o.getOrtszuordnungTyp()) && 52 Violation violation = new Violation();
46 !o.getId().equals(ort.getId()) 53 violation.addError("ortszuordnungTyp", 611);
47 ) { 54 return violation;
48 Violation violation = new Violation(); 55 }
49 violation.addError("ortszuordnungTyp", 611);
50 return violation;
51 } 56 }
52 } 57 }
58 else if (object instanceof OrtszuordnungMp) {
59 OrtszuordnungMp ort = (OrtszuordnungMp)object;
60 if (!"E".equals(ort.getOrtszuordnungTyp())) {
61 return null;
62 }
63 id = ort.getMessprogrammId();
64 QueryBuilder<OrtszuordnungMp> builder = new QueryBuilder<OrtszuordnungMp>(
65 repository.entityManager("land"),
66 OrtszuordnungMp.class);
53 67
68 builder.and("messprogrammId", id);
69 List<OrtszuordnungMp> orte = repository.filterPlain(
70 builder.getQuery(),
71 "land");
72 for (OrtszuordnungMp o : orte) {
73 if ("E".equals(o.getOrtszuordnungTyp()) &&
74 !o.getId().equals(ort.getId())
75 ) {
76 Violation violation = new Violation();
77 violation.addError("ortszuordnungTyp", 611);
78 return violation;
79 }
80 }
81 }
54 return null; 82 return null;
55 } 83 }
56 } 84 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)