annotate src/main/java/de/intevation/lada/data/importer/LAFWriter.java @ 338:b6f770956cae

Added new writer module and report object for importer.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 28 Aug 2013 15:12:50 +0200
parents
children 490dc50365e7
rev   line source
338
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.data.importer;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.math.BigInteger;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.util.ArrayList;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import java.util.HashMap;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.util.List;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import java.util.Map;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import javax.ejb.TransactionAttribute;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import javax.ejb.TransactionAttributeType;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import javax.inject.Inject;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import javax.inject.Named;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 import javax.persistence.EntityManager;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import javax.persistence.Query;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import de.intevation.lada.auth.AuthenticationResponse;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import de.intevation.lada.data.QueryBuilder;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import de.intevation.lada.data.Repository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import de.intevation.lada.model.LKommentarM;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import de.intevation.lada.model.LKommentarP;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 import de.intevation.lada.model.LMessung;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import de.intevation.lada.model.LMesswert;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 import de.intevation.lada.model.LOrt;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 import de.intevation.lada.model.LProbe;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 import de.intevation.lada.model.LProbeInfo;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 import de.intevation.lada.rest.Response;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 import de.intevation.lada.validation.ValidationException;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 import de.intevation.lada.validation.Validator;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 @Named("lafwriter")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 public class LAFWriter
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 implements Writer
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 private EntityManager em;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 @Named("lprobevalidator")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 private Validator probeValidator;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 @Named("lmessungvalidator")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 private Validator messungValidator;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 @Named("lortvalidator")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 private Validator ortValidator;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 @Named("lmesswertvalidator")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 private Validator messwertValidator;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 @Named("lproberepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 private Repository probeRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 @Named("lmessungrepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 private Repository messungRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 @Named("lortrepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 private Repository ortRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 @Named("lkommentarRepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 private Repository pKommentarRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 @Named("lkommentarmrepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 private Repository mKommentarRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 @Inject
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 @Named("lmesswertrepository")
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 private Repository messwertRepository;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 private List<ReportData> errors;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 private List<ReportData> warnings;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 public LAFWriter() {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 errors = new ArrayList<ReportData>();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 warnings = new ArrayList<ReportData>();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 public boolean writeProbe(AuthenticationResponse auth, LProbe probe) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 if (!authorized(probe, auth)) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 errors.add(new ReportData("auth", "not authorized", 699));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 try {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 Map<String, Integer> warn =
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 probeValidator.validate(probe, false);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 for (String key: warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 warnings.add(new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 catch (ValidationException e) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 Map<String, Integer> err = e.getErrors();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 for(String key: err.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 errors.add(new ReportData(key, "validation", err.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 Map<String, Integer> warn = e.getWarnings();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 for (String key: warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 warnings.add(new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 persist(probe);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 public boolean writeMessungen(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 AuthenticationResponse auth,
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 List<LMessung> messungen
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 ) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 for(LMessung messung: messungen) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 try {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 Map<String, Integer> warn =
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 messungValidator.validate(messung, false);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 messungRepository.create(messung);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 for (String key : warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 catch (ValidationException e) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 Map<String, Integer> err = e.getErrors();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 for(String key: err.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 errors.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130 new ReportData(key, "validation", err.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 Map<String, Integer> warn = e.getWarnings();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 for (String key: warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
138 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 public boolean writeOrte(AuthenticationResponse auth, List<LOrt> orte) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 for(LOrt ort: orte) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
149 try {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 Map<String, Integer> warn =
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 ortValidator.validate(ort, false);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 ortRepository.create(ort);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 for (String key : warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 catch (ValidationException e) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 Map<String, Integer> err = e.getErrors();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 for(String key: err.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 errors.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 new ReportData(key, "validation", err.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166 Map<String, Integer> warn = e.getWarnings();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 for (String key: warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
172 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 public boolean writeProbenKommentare(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 AuthenticationResponse auth,
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 List<LKommentarP> kommentare
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183 ) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 for(LKommentarP kommentar: kommentare) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
185 pKommentarRepository.create(kommentar);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
189
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
191 public boolean writeMessungKommentare(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
192 AuthenticationResponse auth,
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 List<LKommentarM> kommentare
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 ) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
195 for(LKommentarM kommentar: kommentare) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196 Query q =
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197 em.createNativeQuery(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 "select nextval('kommentar_m_id_seq')");
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 BigInteger seqId = (BigInteger)q.getSingleResult();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200 kommentar.getId().setKId(seqId.intValue());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
201 mKommentarRepository.create(kommentar);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
202 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
205
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
206 @Override
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 public boolean writeMesswerte(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
208 AuthenticationResponse auth,
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
209 List<LMesswert> werte
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
210 ) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211 for(LMesswert messwert: werte) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212 try {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 Map<String, Integer> warn =
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 messwertValidator.validate(messwert, false);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 messwertRepository.create(messwert);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
216 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
217 for (String key : warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
218 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
219 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
220 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
221 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
222 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
223 catch (ValidationException e) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
224 Map<String, Integer> err = e.getErrors();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
225 for(String key: err.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
226 errors.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
227 new ReportData(key, "validation", err.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
228 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
229 Map<String, Integer> warn = e.getWarnings();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
230 if (warn != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
231 for (String key: warn.keySet()) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
232 warnings.add(
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
233 new ReportData(key, "validation", warn.get(key)));
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
234 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
235 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
236 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
237 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
238 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
239 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
240 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
241
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
242 @TransactionAttribute(TransactionAttributeType.REQUIRED)
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
243 private void persist(LProbe probe) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
244 String queryColumns = "insert into l_probe (probe_id, ba_id, test," +
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
245 " datenbasis_id, netzbetreiber_id, mst_id, probenart_id, umw_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
246 String queryParameter = " values (:probe_id, :ba_id, :test," +
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
247 " :datenbasis_id, :netzbetreiber_id, :mst_id, :probenart_id," +
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
248 " :umw_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
249 if (probe.getErzeugerId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
250 queryColumns += ", erzeuger_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
251 queryParameter += ", :erzeuger_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
252 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
253 if (probe.getHauptprobenNr() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
254 queryColumns += ", hauptproben_nr";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
255 queryParameter += ", :hauptproben_nr";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
256 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
257 if (probe.getLetzteAenderung() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
258 queryColumns += ", letzte_aenderung";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
259 queryParameter += ", :letzte_aenderung";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
260 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
261 if (probe.getMedia() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
262 queryColumns += ", media";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
263 queryParameter += ", :media";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
264 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
265 if (probe.getMediaDesk() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
266 queryColumns += ", media_desk";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
267 queryParameter += ", :media_desk";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
268 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
269 if (probe.getMittelungsdauer() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
270 queryColumns += ", mittelungsdauer";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
271 queryParameter += ", :mittelungsdauer";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
272 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
273 if (probe.getMpKat() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
274 queryColumns += ", mp_kat";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
275 queryParameter += ", mp_kat";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
276 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
277 if (probe.getMplId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
278 queryColumns += ", mpl_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
279 queryParameter += ", :mpl_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
280 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
281 if (probe.getMprId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
282 queryColumns += ", mpr_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
283 queryParameter += ", :mpr_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
284 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
285 if (probe.getProbeNehmerId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
286 queryColumns += ", probe_nehmer_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
287 queryParameter += ", :probe_nehmer_id";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
288 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
289 if (probe.getProbeentnahmeBeginn() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
290 queryColumns += ", probeentnahme_beginn";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
291 queryParameter += ", :probeentnahme_beginn";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
292 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
293 if (probe.getProbeentnahmeEnde() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
294 queryColumns += ", probeentnahme_ende";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
295 queryParameter += ", :probeentnahme_ende";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
296 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
297 if (probe.getSolldatumBeginn() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
298 queryColumns += ", solldatum_beginn";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
299 queryParameter += ", :solldatum_beginn";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
300 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
301 if (probe.getSolldatumEnde() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
302 queryColumns += ", solldatum_ende";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
303 queryParameter += ", :solldatum_ende";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
304 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
305 queryColumns += ") " + queryParameter + ")";
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
306
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
307 Query insert = em.createNativeQuery(queryColumns);
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
308 insert.setParameter("probe_id", probe.getProbeId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
309 insert.setParameter("ba_id", probe.getBaId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
310 insert.setParameter("datenbasis_id", probe.getDatenbasisId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
311 insert.setParameter("mst_id", probe.getMstId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
312 insert.setParameter("netzbetreiber_id", probe.getNetzbetreiberId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
313 insert.setParameter("probenart_id", probe.getProbenartId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
314 insert.setParameter("test", probe.isTest());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
315 insert.setParameter("umw_id", probe.getUmwId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
316 if (probe.getErzeugerId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
317 insert.setParameter("erzeuger_id", probe.getErzeugerId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
318 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
319 if (probe.getHauptprobenNr() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
320 insert.setParameter("hauptproben_nr", probe.getHauptprobenNr());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
321 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
322 if (probe.getLetzteAenderung() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
323 insert.setParameter("letzte_aenderung", probe.getLetzteAenderung());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
324 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
325 if (probe.getMedia() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
326 insert.setParameter("media", probe.getMedia());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
327 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
328 if (probe.getMediaDesk() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
329 insert.setParameter("media_desk", probe.getMediaDesk());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
330 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
331 if (probe.getMittelungsdauer() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
332 insert.setParameter("mittelungsdauer", probe.getMittelungsdauer());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
333 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
334 if (probe.getMpKat() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
335 insert.setParameter("mp_kat", probe.getMpKat());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
336 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
337 if (probe.getMplId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
338 insert.setParameter("mpl_id", probe.getMplId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
339 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
340 if (probe.getMprId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
341 insert.setParameter("mpr_id", probe.getMprId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
342 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
343 if (probe.getProbeNehmerId() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
344 insert.setParameter("probe_nehmer_id", probe.getProbeNehmerId());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
345 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
346 if (probe.getProbeentnahmeBeginn() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
347 insert.setParameter("probeentnahme_beginn", probe.getProbeentnahmeBeginn());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
348 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
349 if (probe.getProbeentnahmeEnde() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
350 insert.setParameter("probeentnahme_ende", probe.getProbeentnahmeEnde());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
351 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
352 if (probe.getSolldatumBeginn() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
353 insert.setParameter("solldatum_beginn", probe.getSolldatumBeginn());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
354 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
355 if (probe.getSolldatumEnde() != null) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
356 insert.setParameter("solldatum_ende", probe.getSolldatumEnde());
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
357 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
358 int res = insert.executeUpdate();
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
359 int i = res;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
360 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
361
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
362 private boolean authorized(LProbe probe, AuthenticationResponse auth) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
363 if (auth.getNetzbetreiber().contains(probe.getNetzbetreiberId()) &&
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
364 auth.getMst().contains(probe.getMstId())) {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
365 return true;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
366 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
367 return false;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
368 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
369
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
370
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
371 /**
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
372 * @return the errors
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
373 */
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
374 public List<ReportData> getErrors() {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
375 return errors;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
376 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
377
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
378
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
379 /**
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
380 * @return the warnings
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
381 */
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
382 public List<ReportData> getWarnings() {
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
383 return warnings;
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
384 }
b6f770956cae Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
385 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)