Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/validation/rules/probe/HasEntnahmeOrt.java @ 711:3ec358698b4d
Code style and documentation.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 22 Jul 2015 16:03:03 +0200 |
parents | de47b7193bdb |
children | 092e673cbb8d |
rev | line source |
---|---|
711
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
2 * Software engineering by Intevation GmbH |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
3 * |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
7 */ |
538
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.validation.rules.probe; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import java.util.List; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 import javax.inject.Inject; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.lada.model.land.LOrt; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.lada.model.land.LProbe; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.lada.util.annotation.RepositoryConfig; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.lada.util.data.QueryBuilder; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.lada.util.data.Repository; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.lada.util.data.RepositoryType; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.lada.util.rest.Response; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.lada.validation.Violation; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.lada.validation.annotation.ValidationRule; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.lada.validation.rules.Rule; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 |
711
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
25 /** |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
26 * Validation rule for probe. |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
27 * Validates if the probe has a "entnahmeort". |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
28 * |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
29 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
30 */ |
538
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 @ValidationRule("Probe") |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 public class HasEntnahmeOrt implements Rule { |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 @Inject |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 @RepositoryConfig(type=RepositoryType.RO) |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 private Repository repo; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 @Override |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 public Violation execute(Object object) { |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 LProbe probe = (LProbe)object; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 Integer id = probe.getId(); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 if (id == null) { |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 Violation violation = new Violation(); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 violation.addWarning("entnahmeOrt", 631); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 return violation; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 } |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 QueryBuilder<LOrt> builder = |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 new QueryBuilder<LOrt>(repo.entityManager("land"), LOrt.class); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 builder.and("probeId", id); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 Response response = repo.filter(builder.getQuery(), "land"); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 @SuppressWarnings("unchecked") |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 List<LOrt> orte = (List<LOrt>)response.getData(); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 for (LOrt ort: orte) { |
677
de47b7193bdb
Fixed validation rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
538
diff
changeset
|
54 if ("E".equals(ort.getOrtsTyp())) { |
538
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 return null; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 } |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 } |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 Violation violation = new Violation(); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 violation.addWarning("entnahmeOrt", 631); |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 return violation; |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 } |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 |
fd927b584c54
Added first validation rules for probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 } |