Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/validation/rules/probe/HasEntnahmeOrt.java @ 538:fd927b584c54
Added first validation rules for probe objects.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Tue, 24 Feb 2015 10:58:06 +0100 |
parents | |
children | de47b7193bdb |
comparison
equal
deleted
inserted
replaced
537:f44c9e59f08c | 538:fd927b584c54 |
---|---|
1 package de.intevation.lada.validation.rules.probe; | |
2 | |
3 import java.util.List; | |
4 | |
5 import javax.inject.Inject; | |
6 | |
7 import de.intevation.lada.model.land.LOrt; | |
8 import de.intevation.lada.model.land.LProbe; | |
9 import de.intevation.lada.util.annotation.RepositoryConfig; | |
10 import de.intevation.lada.util.data.QueryBuilder; | |
11 import de.intevation.lada.util.data.Repository; | |
12 import de.intevation.lada.util.data.RepositoryType; | |
13 import de.intevation.lada.util.rest.Response; | |
14 import de.intevation.lada.validation.Violation; | |
15 import de.intevation.lada.validation.annotation.ValidationRule; | |
16 import de.intevation.lada.validation.rules.Rule; | |
17 | |
18 @ValidationRule("Probe") | |
19 public class HasEntnahmeOrt implements Rule { | |
20 | |
21 @Inject | |
22 @RepositoryConfig(type=RepositoryType.RO) | |
23 private Repository repo; | |
24 | |
25 @Override | |
26 public Violation execute(Object object) { | |
27 LProbe probe = (LProbe)object; | |
28 Integer id = probe.getId(); | |
29 if (id == null) { | |
30 Violation violation = new Violation(); | |
31 violation.addWarning("entnahmeOrt", 631); | |
32 return violation; | |
33 } | |
34 QueryBuilder<LOrt> builder = | |
35 new QueryBuilder<LOrt>(repo.entityManager("land"), LOrt.class); | |
36 builder.and("probeId", id); | |
37 Response response = repo.filter(builder.getQuery(), "land"); | |
38 @SuppressWarnings("unchecked") | |
39 List<LOrt> orte = (List<LOrt>)response.getData(); | |
40 for (LOrt ort: orte) { | |
41 if (ort.getOrtsTyp().equals("E")) { | |
42 return null; | |
43 } | |
44 } | |
45 Violation violation = new Violation(); | |
46 violation.addWarning("entnahmeOrt", 631); | |
47 return violation; | |
48 } | |
49 | |
50 } |