Mercurial > lada > lada-server
comparison src/main/java/de/intevation/lada/validation/LProbeValidator.java @ 344:976f4e4df363
Validate haputprobennummer on probe update and create.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 30 Aug 2013 10:31:30 +0200 |
parents | aadc0bb0dc1d |
children | f3d0894d9bfc |
comparison
equal
deleted
inserted
replaced
343:aee36709a8e8 | 344:976f4e4df363 |
---|---|
7 | 7 |
8 import javax.enterprise.context.ApplicationScoped; | 8 import javax.enterprise.context.ApplicationScoped; |
9 import javax.inject.Inject; | 9 import javax.inject.Inject; |
10 import javax.inject.Named; | 10 import javax.inject.Named; |
11 | 11 |
12 import com.sun.istack.Builder; | |
13 | |
12 import de.intevation.lada.data.LOrtRepository; | 14 import de.intevation.lada.data.LOrtRepository; |
13 import de.intevation.lada.data.LProbeRepository; | 15 import de.intevation.lada.data.LProbeRepository; |
14 import de.intevation.lada.data.QueryBuilder; | 16 import de.intevation.lada.data.QueryBuilder; |
15 import de.intevation.lada.model.LOrt; | 17 import de.intevation.lada.model.LOrt; |
16 import de.intevation.lada.model.LProbe; | 18 import de.intevation.lada.model.LProbe; |
19 import de.intevation.lada.model.LProbeInfo; | |
17 import de.intevation.lada.rest.Response; | 20 import de.intevation.lada.rest.Response; |
18 | 21 |
19 /** | 22 /** |
20 * Validator for LProbe objects. | 23 * Validator for LProbe objects. |
21 * | 24 * |
55 LProbe p = (LProbe)probe; | 58 LProbe p = (LProbe)probe; |
56 | 59 |
57 validateEntnahmeOrt(p, warnings); | 60 validateEntnahmeOrt(p, warnings); |
58 validateProbenahmeBegin(p, warnings); | 61 validateProbenahmeBegin(p, warnings); |
59 validateUWB(p, warnings); | 62 validateUWB(p, warnings); |
60 if (!update) { | 63 validateHauptProbenNummer(p, warnings); |
61 validateHauptProbenNummer(p, warnings); | |
62 } | |
63 return warnings; | 64 return warnings; |
64 } | 65 } |
65 | 66 |
66 /** | 67 /** |
67 * Check if the 'Hauptproben Nr' is unique. | 68 * Check if the 'Hauptproben Nr' is unique. |
70 * @param warnings The map containing warnings. | 71 * @param warnings The map containing warnings. |
71 * @throws ValidationException | 72 * @throws ValidationException |
72 */ | 73 */ |
73 private void validateHauptProbenNummer(LProbe p, Map<String, Integer> warnings) | 74 private void validateHauptProbenNummer(LProbe p, Map<String, Integer> warnings) |
74 throws ValidationException { | 75 throws ValidationException { |
76 Response pInfo = | |
77 probeRepository.findById(LProbeInfo.class, p.getProbeId()); | |
78 List<LProbeInfo> pList = (List<LProbeInfo>)pInfo.getData(); | |
79 if (!(pList == null) && !pList.isEmpty()) { | |
80 LProbeInfo probe = pList.get(0); | |
81 if (probe.getHauptprobenNr().equals(p.getHauptprobenNr())) { | |
82 return; | |
83 } | |
84 } | |
75 String hpn = p.getHauptprobenNr(); | 85 String hpn = p.getHauptprobenNr(); |
76 QueryBuilder<LProbe> builder = | 86 QueryBuilder<LProbe> builder = |
77 new QueryBuilder<LProbe>( | 87 new QueryBuilder<LProbe>( |
78 probeRepository.getEntityManager(), LProbe.class); | 88 probeRepository.getEntityManager(), LProbe.class); |
79 builder.and("mstId", p.getMstId()).and("hauptprobenNr", hpn); | 89 builder.and("mstId", p.getMstId()).and("hauptprobenNr", hpn); |