Mercurial > lada > lada-server
comparison 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 |
comparison
equal
deleted
inserted
replaced
564:7a10b1e85c79 | 565:f3f8b8a26afa |
---|---|
1 package de.intevation.lada.validation.rules.messung; | |
2 | |
3 import java.util.List; | |
4 | |
5 import javax.inject.Inject; | |
6 | |
7 import de.intevation.lada.model.land.LMessung; | |
8 import de.intevation.lada.model.land.LMesswert; | |
9 import de.intevation.lada.util.annotation.RepositoryConfig; | |
10 import de.intevation.lada.util.data.QueryBuilder; | |
11 import de.intevation.lada.util.data.Repository; | |
12 import de.intevation.lada.util.data.RepositoryType; | |
13 import de.intevation.lada.util.rest.Response; | |
14 import de.intevation.lada.validation.Violation; | |
15 import de.intevation.lada.validation.annotation.ValidationRule; | |
16 import de.intevation.lada.validation.rules.Rule; | |
17 | |
18 @ValidationRule("Messung") | |
19 public class HasMesswert implements Rule { | |
20 | |
21 @Inject | |
22 @RepositoryConfig(type=RepositoryType.RO) | |
23 private Repository repo; | |
24 | |
25 @Override | |
26 public Violation execute(Object object) { | |
27 LMessung messung = (LMessung)object; | |
28 QueryBuilder<LMesswert> builder = | |
29 new QueryBuilder<LMesswert>( | |
30 repo.entityManager("land"), LMesswert.class); | |
31 builder.and("messungsId", messung.getId()); | |
32 Response response = repo.filter(builder.getQuery(), "land"); | |
33 @SuppressWarnings("unchecked") | |
34 List<LMesswert> messwerte = (List<LMesswert>)response.getData(); | |
35 if (messwerte == null || messwerte.isEmpty()) { | |
36 Violation violation = new Violation(); | |
37 violation.addWarning("messwert", 631); | |
38 return violation; | |
39 } | |
40 return null; | |
41 } | |
42 } |