Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/validation/LMesswertValidator.java @ 263:2098db2e8fbd M1
Code documentation.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 17 Jul 2013 09:40:53 +0200 |
parents | 0de24f5e7c01 |
children | 183f8116d9a6 |
rev | line source |
---|---|
228
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.lada.validation; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 import java.util.HashMap; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 import java.util.Map; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 import javax.enterprise.context.ApplicationScoped; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 import javax.inject.Named; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.lada.model.LMesswert; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 @Named("lmesswertvalidator") |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 @ApplicationScoped |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 public class LMesswertValidator |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 implements Validator |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 { |
263
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
16 /** |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
17 * Validate a LMesswert object. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
18 * |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
19 * @param object The LMesswert object. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
20 * @param update The database operation. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
21 * TRUE indicates that the object should be updated, FALSE |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
22 * if the object is a new Object. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
23 * @return Map containing warnings. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
24 */ |
228
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 @Override |
260
0de24f5e7c01
Added boolean parameter to validate method to test if update or create was triggered.
Raimund Renkert <rrenkert@intevation.de>
parents:
228
diff
changeset
|
26 public Map<String, Integer> validate(Object object, boolean update) |
228
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 throws ValidationException { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 Map<String, Integer> warnings = new HashMap<String, Integer>(); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 if (!(object instanceof LMesswert)) { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 Map<String, Integer> errors = new HashMap<String, Integer>(); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 errors.put("lmesswert", 610); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 throw new ValidationException(errors); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 LMesswert messwert = (LMesswert)object; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 validateMessunsicherheit(messwert, warnings); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 return null; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 |
263
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
40 /** |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
41 * Check if the LMesswert has a 'Messunsicherheit' or if the the value |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
42 * is lower than the 'Nachweisgrenze'. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
43 * |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
44 * @param messwert The LMesswert object. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
45 * @param warnings The map containing warnings. |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
46 * @throws ValidationException |
2098db2e8fbd
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
260
diff
changeset
|
47 */ |
228
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 private void validateMessunsicherheit( |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 LMesswert messwert, |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 Map<String, Integer> warnings) |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 throws ValidationException { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 Float unsicherheit = messwert.getMessfehler(); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 Float nachweisgrenze = messwert.getNwgZuMesswert(); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 Float wert = messwert.getMesswert(); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 if (unsicherheit != null && unsicherheit > 0f) { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 return; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 else if (nachweisgrenze != null && wert < nachweisgrenze) { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 return; |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
60 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
61 else { |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
62 warnings.put("messwert", 631); |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 } |
e7110c4324eb
More validation for LMesswert and LMessung.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 } |