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 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)