Mercurial > lada > lada-server
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 } |