annotate src/main/java/de/intevation/lada/validation/rules/messung/HasMesswert.java @ 565:f3f8b8a26afa

Added messung validator and rules.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 13 Mar 2015 16:50:20 +0100
parents
children 3ec358698b4d
rev   line source
565
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.validation.rules.messung;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import java.util.List;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
4
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
5 import javax.inject.Inject;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
6
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
7 import de.intevation.lada.model.land.LMessung;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
8 import de.intevation.lada.model.land.LMesswert;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
9 import de.intevation.lada.util.annotation.RepositoryConfig;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
10 import de.intevation.lada.util.data.QueryBuilder;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
11 import de.intevation.lada.util.data.Repository;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import de.intevation.lada.util.data.RepositoryType;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13 import de.intevation.lada.util.rest.Response;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.validation.Violation;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.validation.annotation.ValidationRule;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import de.intevation.lada.validation.rules.Rule;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
18 @ValidationRule("Messung")
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 public class HasMesswert implements Rule {
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
20
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
21 @Inject
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
22 @RepositoryConfig(type=RepositoryType.RO)
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
23 private Repository repo;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
24
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
25 @Override
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
26 public Violation execute(Object object) {
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 LMessung messung = (LMessung)object;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 QueryBuilder<LMesswert> builder =
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
29 new QueryBuilder<LMesswert>(
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
30 repo.entityManager("land"), LMesswert.class);
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 builder.and("messungsId", messung.getId());
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 Response response = repo.filter(builder.getQuery(), "land");
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
33 @SuppressWarnings("unchecked")
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 List<LMesswert> messwerte = (List<LMesswert>)response.getData();
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
35 if (messwerte == null || messwerte.isEmpty()) {
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
36 Violation violation = new Violation();
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
37 violation.addWarning("messwert", 631);
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38 return violation;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
39 }
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40 return null;
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 }
f3f8b8a26afa Added messung validator and rules.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)