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);
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)