Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/data/importer/LAFWriter.java @ 366:567ce7697fc7 0.5
Code documentation.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 10 Sep 2013 15:55:54 +0200 |
parents | d39d3886b97d |
children | bc6d0785986f |
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.List; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
6 import java.util.Map; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 import javax.ejb.TransactionAttribute; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 import javax.ejb.TransactionAttributeType; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 import javax.inject.Inject; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 import javax.inject.Named; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import javax.persistence.EntityManager; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 import javax.persistence.Query; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 import de.intevation.lada.auth.AuthenticationResponse; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.lada.data.Repository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.lada.model.LKommentarM; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.lada.model.LKommentarP; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 import de.intevation.lada.model.LMessung; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.lada.model.LMesswert; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.lada.model.LOrt; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.lada.model.LProbe; |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
23 import de.intevation.lada.model.Ort; |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.lada.validation.ValidationException; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.lada.validation.Validator; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
27 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
28 * Writer to persist new entities in the database. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
29 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
30 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a> |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
31 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 @Named("lafwriter") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 public class LAFWriter |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 implements Writer |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
36 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 private EntityManager em; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
40 @Named("lprobevalidator") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 private Validator probeValidator; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 @Named("lmessungvalidator") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 private Validator messungValidator; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
46 @Named("lortvalidator") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
47 private Validator ortValidator; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 @Named("lmesswertvalidator") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
50 private Validator messwertValidator; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
53 @Named("lproberepository") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
54 private Repository probeRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
55 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
56 @Named("lmessungrepository") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 private Repository messungRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
59 @Named("lortrepository") |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
60 private Repository lortRepository; |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
61 @Inject |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
62 @Named("ortrepository") |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
63 private Repository ortRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
64 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 @Named("lkommentarRepository") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
66 private Repository pKommentarRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
67 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
68 @Named("lkommentarmrepository") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 private Repository mKommentarRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
70 @Inject |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
71 @Named("lmesswertrepository") |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
72 private Repository messwertRepository; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
74 private List<ReportData> errors; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
75 private List<ReportData> warnings; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
76 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
77 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
78 * Default constructor. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
79 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
80 public LAFWriter() { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
81 errors = new ArrayList<ReportData>(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
82 warnings = new ArrayList<ReportData>(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
83 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
84 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
85 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
86 * Write a new {@link LProbe} object to the database using |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
87 * authorization and validation. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
88 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
89 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
90 * @param probe The new {@link LProbe} object. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
91 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
92 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
93 @Override |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
94 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
|
95 if (!authorized(probe, auth)) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
96 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
|
97 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
98 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
99 try { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
100 Map<String, Integer> warn = |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
101 probeValidator.validate(probe, false); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
102 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
103 for (String key: warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
104 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
|
105 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
106 } |
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 catch (ValidationException e) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
109 Map<String, Integer> err = e.getErrors(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
110 for(String key: err.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
111 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
|
112 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
113 Map<String, Integer> warn = e.getWarnings(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
114 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
115 for (String key: warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
116 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
|
117 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
118 } |
355
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
119 if (probe.getProbeId() == null) { |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
120 errors.add(new ReportData("probeId", "missing", 673)); |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
121 } |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
122 return false; |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
123 } |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
124 if (probe.getProbeId() == null) { |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
125 errors.add(new ReportData("probeId", "missing", 673)); |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
126 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
127 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
128 persist(probe); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
129 return true; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
130 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
131 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
132 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
133 * Write new {@link LMessung} objects to the database using |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
134 * authorization and validation. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
135 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
136 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
137 * @param messungen The new {@link LMessung} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
138 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
139 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
140 @Override |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
141 public boolean writeMessungen( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
142 AuthenticationResponse auth, |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
143 List<LMessung> messungen |
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 for(LMessung messung: messungen) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
146 try { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
147 Map<String, Integer> warn = |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
148 messungValidator.validate(messung, false); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
149 messungRepository.create(messung); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
150 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
151 for (String key : warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
152 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
153 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
|
154 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
155 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
156 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
157 catch (ValidationException e) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
158 Map<String, Integer> err = e.getErrors(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
159 for(String key: err.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
160 errors.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
161 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
|
162 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
163 Map<String, Integer> warn = e.getWarnings(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
164 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
165 for (String key: warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
166 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
167 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
|
168 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
169 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
170 return false; |
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 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
174 return true; |
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 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
177 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
178 * Write new {@link Ort} objects to the database. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
179 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
180 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
181 * @param orte List of {@link Ort} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
182 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
183 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
184 @Override |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
185 public boolean writeOrte(AuthenticationResponse auth, List<Ort> orte) { |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
186 for (Ort ort :orte) { |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
187 ortRepository.create(ort); |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
188 } |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
189 return true; |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
190 } |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
191 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
192 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
193 * Write new {@link LOrt} objects to the database using validation. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
194 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
195 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
196 * @param orte List of {@link LOrt} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
197 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
198 */ |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
199 @Override |
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
200 public boolean writeLOrte(AuthenticationResponse auth, List<LOrt> orte) { |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
201 for(LOrt ort: orte) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
202 try { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
203 Map<String, Integer> warn = |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
204 ortValidator.validate(ort, false); |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
205 lortRepository.create(ort); |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
206 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
207 for (String key : warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
208 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
209 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
|
210 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
211 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
212 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
213 catch (ValidationException e) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
214 Map<String, Integer> err = e.getErrors(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
215 for(String key: err.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
216 errors.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
217 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
|
218 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
219 Map<String, Integer> warn = e.getWarnings(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
220 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
221 for (String key: warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
222 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
223 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
|
224 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
225 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
226 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
227 } |
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 return true; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
230 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
231 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
232 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
233 * Write new {@link LKommentarP} objects to the database. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
234 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
235 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
236 * @param kommentare List of {@link LKommentarP} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
237 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
238 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
239 @Override |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
240 public boolean writeProbenKommentare( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
241 AuthenticationResponse auth, |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
242 List<LKommentarP> kommentare |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
243 ) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
244 for(LKommentarP kommentar: kommentare) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
245 pKommentarRepository.create(kommentar); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
246 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
247 return true; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
248 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
249 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
250 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
251 * Write new {@link LKommentarM} objects to the database. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
252 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
253 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
254 * @param kommentare List of {@link LKommentarM} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
255 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
256 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
257 @Override |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
258 public boolean writeMessungKommentare( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
259 AuthenticationResponse auth, |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
260 List<LKommentarM> kommentare |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
261 ) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
262 for(LKommentarM kommentar: kommentare) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
263 Query q = |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
264 em.createNativeQuery( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
265 "select nextval('kommentar_m_id_seq')"); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
266 BigInteger seqId = (BigInteger)q.getSingleResult(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
267 kommentar.getId().setKId(seqId.intValue()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
268 mKommentarRepository.create(kommentar); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
269 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
270 return true; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
271 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
272 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
273 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
274 * Write new {@link LMesswert} objects to the database using validation. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
275 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
276 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
277 * @param werte List of {@link LMesswert} objects. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
278 * @return success |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
279 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
280 @Override |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
281 public boolean writeMesswerte( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
282 AuthenticationResponse auth, |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
283 List<LMesswert> werte |
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 for(LMesswert messwert: werte) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
286 try { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
287 Map<String, Integer> warn = |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
288 messwertValidator.validate(messwert, false); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
289 messwertRepository.create(messwert); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
290 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
291 for (String key : warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
292 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
293 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
|
294 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
295 } |
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 catch (ValidationException e) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
298 Map<String, Integer> err = e.getErrors(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
299 for(String key: err.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
300 errors.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
301 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
|
302 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
303 Map<String, Integer> warn = e.getWarnings(); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
304 if (warn != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
305 for (String key: warn.keySet()) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
306 warnings.add( |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
307 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
|
308 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
309 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
310 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
311 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
312 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
313 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
314 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
315 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
316 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
317 * Persist a {@link LProbe} object. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
318 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
319 * @param probe The {@link LProbe} object. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
320 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
321 @TransactionAttribute(TransactionAttributeType.REQUIRED) |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
322 private void persist(LProbe probe) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
323 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
|
324 " 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
|
325 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
|
326 " :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
|
327 " :umw_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
328 if (probe.getErzeugerId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
329 queryColumns += ", erzeuger_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
330 queryParameter += ", :erzeuger_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
331 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
332 if (probe.getHauptprobenNr() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
333 queryColumns += ", hauptproben_nr"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
334 queryParameter += ", :hauptproben_nr"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
335 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
336 if (probe.getLetzteAenderung() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
337 queryColumns += ", letzte_aenderung"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
338 queryParameter += ", :letzte_aenderung"; |
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.getMedia() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
341 queryColumns += ", media"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
342 queryParameter += ", :media"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
343 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
344 if (probe.getMediaDesk() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
345 queryColumns += ", media_desk"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
346 queryParameter += ", :media_desk"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
347 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
348 if (probe.getMittelungsdauer() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
349 queryColumns += ", mittelungsdauer"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
350 queryParameter += ", :mittelungsdauer"; |
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.getMpKat() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
353 queryColumns += ", mp_kat"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
354 queryParameter += ", mp_kat"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
355 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
356 if (probe.getMplId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
357 queryColumns += ", mpl_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
358 queryParameter += ", :mpl_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
359 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
360 if (probe.getMprId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
361 queryColumns += ", mpr_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
362 queryParameter += ", :mpr_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
363 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
364 if (probe.getProbeNehmerId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
365 queryColumns += ", probe_nehmer_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
366 queryParameter += ", :probe_nehmer_id"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
367 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
368 if (probe.getProbeentnahmeBeginn() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
369 queryColumns += ", probeentnahme_beginn"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
370 queryParameter += ", :probeentnahme_beginn"; |
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 if (probe.getProbeentnahmeEnde() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
373 queryColumns += ", probeentnahme_ende"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
374 queryParameter += ", :probeentnahme_ende"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
375 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
376 if (probe.getSolldatumBeginn() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
377 queryColumns += ", solldatum_beginn"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
378 queryParameter += ", :solldatum_beginn"; |
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 if (probe.getSolldatumEnde() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
381 queryColumns += ", solldatum_ende"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
382 queryParameter += ", :solldatum_ende"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
383 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
384 queryColumns += ") " + queryParameter + ")"; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
385 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
386 Query insert = em.createNativeQuery(queryColumns); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
387 insert.setParameter("probe_id", probe.getProbeId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
388 insert.setParameter("ba_id", probe.getBaId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
389 insert.setParameter("datenbasis_id", probe.getDatenbasisId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
390 insert.setParameter("mst_id", probe.getMstId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
391 insert.setParameter("netzbetreiber_id", probe.getNetzbetreiberId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
392 insert.setParameter("probenart_id", probe.getProbenartId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
393 insert.setParameter("test", probe.isTest()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
394 insert.setParameter("umw_id", probe.getUmwId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
395 if (probe.getErzeugerId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
396 insert.setParameter("erzeuger_id", probe.getErzeugerId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
397 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
398 if (probe.getHauptprobenNr() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
399 insert.setParameter("hauptproben_nr", probe.getHauptprobenNr()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
400 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
401 if (probe.getLetzteAenderung() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
402 insert.setParameter("letzte_aenderung", probe.getLetzteAenderung()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
403 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
404 if (probe.getMedia() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
405 insert.setParameter("media", probe.getMedia()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
406 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
407 if (probe.getMediaDesk() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
408 insert.setParameter("media_desk", probe.getMediaDesk()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
409 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
410 if (probe.getMittelungsdauer() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
411 insert.setParameter("mittelungsdauer", probe.getMittelungsdauer()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
412 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
413 if (probe.getMpKat() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
414 insert.setParameter("mp_kat", probe.getMpKat()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
415 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
416 if (probe.getMplId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
417 insert.setParameter("mpl_id", probe.getMplId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
418 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
419 if (probe.getMprId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
420 insert.setParameter("mpr_id", probe.getMprId()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
421 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
422 if (probe.getProbeNehmerId() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
423 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
|
424 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
425 if (probe.getProbeentnahmeBeginn() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
426 insert.setParameter("probeentnahme_beginn", probe.getProbeentnahmeBeginn()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
427 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
428 if (probe.getProbeentnahmeEnde() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
429 insert.setParameter("probeentnahme_ende", probe.getProbeentnahmeEnde()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
430 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
431 if (probe.getSolldatumBeginn() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
432 insert.setParameter("solldatum_beginn", probe.getSolldatumBeginn()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
433 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
434 if (probe.getSolldatumEnde() != null) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
435 insert.setParameter("solldatum_ende", probe.getSolldatumEnde()); |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
436 } |
364
d39d3886b97d
Use the new ort creator to produce ort and lort objects from laf attributes.
Raimund Renkert <rrenkert@intevation.de>
parents:
355
diff
changeset
|
437 insert.executeUpdate(); |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
438 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
439 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
440 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
441 * Check if the user given in the authentication information is authorized |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
442 * to access the {@link LProbe} object. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
443 * |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
444 * @param probe The {@link LProbe} object. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
445 * @param auth The authentication information. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
446 * @return access |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
447 */ |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
448 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
|
449 if (auth.getNetzbetreiber().contains(probe.getNetzbetreiberId()) && |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
450 auth.getMst().contains(probe.getMstId())) { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
451 return true; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
452 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
453 return false; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
454 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
455 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
456 /** |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
457 * @return the errors |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
458 */ |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
459 public List<ReportData> getErrors() { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
460 return errors; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
461 } |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
462 |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
463 /** |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
464 * @return the warnings |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
465 */ |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
466 public List<ReportData> getWarnings() { |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
467 return warnings; |
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
468 } |
355
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
469 |
366
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
470 /** |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
471 * Reset the errors and warnings. |
567ce7697fc7
Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents:
364
diff
changeset
|
472 */ |
355
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
473 public void reset() { |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
474 this.warnings = new ArrayList<ReportData>(); |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
475 this.errors = new ArrayList<ReportData>(); |
490dc50365e7
Added reset for errors and warnings and add error if probeid is NULL.
Raimund Renkert <rrenkert@intevation.de>
parents:
338
diff
changeset
|
476 } |
338
b6f770956cae
Added new writer module and report object for importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
477 } |