Mercurial > lada > lada-server
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 } |