annotate src/main/java/de/intevation/lada/validation/rules/messung/HasPflichtmessgroessen.java @ 685:3118fbbe6292

Fixed or supressed warnings.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 29 May 2015 13:10:30 +0200
parents 0015e96a6454
children 3ec358698b4d
rev   line source
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.validation.rules.messung;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import java.util.List;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 import javax.inject.Inject;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 import de.intevation.lada.model.land.LMessung;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 import de.intevation.lada.model.land.LMesswert;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 import de.intevation.lada.model.stamm.PflichtMessgroesse;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 import de.intevation.lada.util.annotation.RepositoryConfig;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import de.intevation.lada.util.data.QueryBuilder;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import de.intevation.lada.util.data.Repository;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 import de.intevation.lada.util.data.RepositoryType;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.util.rest.Response;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.validation.Violation;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import de.intevation.lada.validation.annotation.ValidationRule;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17 import de.intevation.lada.validation.rules.Rule;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 @ValidationRule("Messung")
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20 public class HasPflichtmessgroessen implements Rule {
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 @Inject
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 @RepositoryConfig(type=RepositoryType.RO)
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24 private Repository repository;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 @Override
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 public Violation execute(Object object) {
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 LMessung messung = (LMessung)object;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 QueryBuilder<PflichtMessgroesse> builder =
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 new QueryBuilder<PflichtMessgroesse>(
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 repository.entityManager("stamm"),
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 PflichtMessgroesse.class);
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 builder.and("mmtId", messung.getMmtId());
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 Response response = repository.filter(builder.getQuery(), "stamm");
685
3118fbbe6292 Fixed or supressed warnings.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 682
diff changeset
35 @SuppressWarnings("unchecked")
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 List<PflichtMessgroesse> pflicht =
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 (List<PflichtMessgroesse>)response.getData();
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 QueryBuilder<LMesswert> wertBuilder =
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 new QueryBuilder<LMesswert>(
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 repository.entityManager("land"), LMesswert.class);
677
de47b7193bdb Fixed validation rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 647
diff changeset
42 wertBuilder.and("messungsId", messung.getId());
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43 Response wertResponse =
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 repository.filter(wertBuilder.getQuery(), "land");
685
3118fbbe6292 Fixed or supressed warnings.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 682
diff changeset
45 @SuppressWarnings("unchecked")
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46 List<LMesswert> messwerte = (List<LMesswert>)wertResponse.getData();
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 Violation violation = new Violation();
682
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
48 boolean missing = false;
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 for (PflichtMessgroesse p : pflicht) {
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 for (LMesswert wert : messwerte) {
682
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
51 if (!p.getMessgroesseId().equals(wert.getMessgroesseId())) {
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
52 missing = true;
647
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 }
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 }
682
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
55 }
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
56 if (missing) {
0015e96a6454 Fixed validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 677
diff changeset
57 violation.addWarning("pflichtmessgroesse", 631);
647
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 return violation.hasWarnings() ? violation : null;
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 }
4da01934e46f Added new validation rules for messung objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)