Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/validation/rules/messung/Date.java @ 1316:2c4a20e0bc92 release-2.5
Respect in validation rule that Messzeitpunkt might be null.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 20 Mar 2017 15:17:20 +0100 |
parents | 186d602e031a |
children | 18c789672b14 |
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 */ |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 package de.intevation.lada.validation.rules.messung; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import java.util.HashMap; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import java.util.Map; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import javax.inject.Inject; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
711
diff
changeset
|
15 import de.intevation.lada.model.land.Messung; |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
711
diff
changeset
|
16 import de.intevation.lada.model.land.Probe; |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.lada.util.annotation.RepositoryConfig; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.lada.util.data.Repository; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.lada.util.data.RepositoryType; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.lada.util.rest.Response; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.lada.validation.Violation; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.lada.validation.annotation.ValidationRule; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.lada.validation.rules.Rule; |
4da01934e46f
Added new validation rules for messung 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 messungen. |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
27 * Validates if the "messzeitpunkt" is before or after the |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
28 * "probeentnahmebeginn" |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
29 * |
3ec358698b4d
Code style and documentation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
677
diff
changeset
|
30 * @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
|
31 */ |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 @ValidationRule("Messung") |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 public class Date implements Rule { |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 @Inject |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 @RepositoryConfig(type=RepositoryType.RO) |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 private Repository repository; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 @Override |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 public Violation execute(Object object) { |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
711
diff
changeset
|
41 Messung messung = (Messung)object; |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 Integer probeId = messung.getProbeId(); |
1097
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
711
diff
changeset
|
43 Response response = repository.getById(Probe.class, probeId, "land"); |
186d602e031a
Merged branch schema-update into default.
Tom Gottfried <tom@intevation.de>
parents:
711
diff
changeset
|
44 Probe probe = (Probe) response.getData(); |
677
de47b7193bdb
Fixed validation rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
647
diff
changeset
|
45 if (probe == null) { |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 Map<String, Integer> errors = new HashMap<String, Integer>(); |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 errors.put("lprobe", 604); |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 } |
1316
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
49 if (messung.getMesszeitpunkt() != null) { |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
50 if (probe.getProbeentnahmeEnde() == null || |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
51 probe.getProbeentnahmeEnde().after(messung.getMesszeitpunkt())) { |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
52 Violation violation = new Violation(); |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
53 violation.addWarning("messzeitpunkt", 632); |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
54 return violation; |
2c4a20e0bc92
Respect in validation rule that Messzeitpunkt might be null.
Tom Gottfried <tom@intevation.de>
parents:
1097
diff
changeset
|
55 } |
647
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 } |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 return null; |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 } |
4da01934e46f
Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 } |