Mercurial > lada > lada-server
annotate src/main/java/de/intevation/lada/data/importer/AttributeMapper.java @ 337:cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 28 Aug 2013 15:11:50 +0200 |
parents | 5d11428e6a09 |
children | d39d3886b97d |
rev | line source |
---|---|
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.lada.data.importer; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
2 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
3 import java.text.DateFormat; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
4 import java.text.ParseException; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
5 import java.text.SimpleDateFormat; |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
6 import java.util.ArrayList; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
7 import java.util.Date; |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
8 import java.util.HashMap; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
9 import java.util.LinkedList; |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
10 import java.util.List; |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
11 import java.util.Map; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 import java.util.regex.Matcher; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 import java.util.regex.Pattern; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
15 import javax.ejb.Stateless; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 import javax.inject.Inject; |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
17 import javax.inject.Named; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 import javax.persistence.EntityManager; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
20 import de.intevation.lada.data.QueryBuilder; |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
21 import de.intevation.lada.data.Repository; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.lada.model.LKommentarM; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.lada.model.LKommentarP; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.lada.model.LMessung; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.lada.model.LMessungId; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.lada.model.LMesswert; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.lada.model.LOrt; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 import de.intevation.lada.model.LProbe; |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
29 import de.intevation.lada.model.LProbeInfo; |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
30 import de.intevation.lada.model.LZusatzWert; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
31 import de.intevation.lada.model.Ort; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
32 import de.intevation.lada.model.SDatenbasis; |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
33 import de.intevation.lada.model.SMessEinheit; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
34 import de.intevation.lada.model.SMessgroesse; |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
35 import de.intevation.lada.model.SProbenZusatz; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
36 import de.intevation.lada.model.SProbenart; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
37 import de.intevation.lada.model.SUmwelt; |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
38 import de.intevation.lada.rest.Response; |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
39 |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
40 @Stateless |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
41 public class AttributeMapper |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
42 { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
43 @Inject |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
44 private EntityManager em; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
45 |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
46 @Inject |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
47 @Named("lproberepository") |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
48 private Repository probeRepo; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
49 |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
50 @Inject |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
51 @Named("ortrepository") |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
52 private Repository ortRepo; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
53 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
54 @Inject |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
55 @Named("readonlyrepository") |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
56 private Repository sRepository; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
57 |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
58 private List<ReportData> warnings; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
59 private List<ReportData> errors; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
60 |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
61 public AttributeMapper() { |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
62 this.warnings = new ArrayList<ReportData>(); |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
63 this.errors = new ArrayList<ReportData>(); |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
64 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
65 public LProbe addAttribute(String key, Object value, LProbe probe) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
66 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
67 if ("datenbasis_s".equals(key) && probe.getDatenbasisId() == null) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
68 Integer v = Integer.valueOf(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 probe.setDatenbasisId(v); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
70 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
71 else if ("datenbasis_s".equals(key) && probe.getDatenbasisId() != null){ |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
72 this.warnings.add(new ReportData(key, value.toString(), 672)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
73 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
74 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
75 if ("datenbasis".equals(key) && probe.getDatenbasisId() == null) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
76 QueryBuilder<SDatenbasis> builder = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
77 new QueryBuilder<SDatenbasis>( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
78 this.sRepository.getEntityManager(), SDatenbasis.class); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
79 builder.and("datenbasis", value.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
80 Response response = sRepository.filter(builder.getQuery()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
81 List<SDatenbasis> datenbasis = (List<SDatenbasis>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
82 Integer v = Integer.valueOf(datenbasis.get(0).getDatenbasisId()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
83 probe.setDatenbasisId(v); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
84 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
85 else if ("datenbasis".equals(key) && probe.getDatenbasisId() != null){ |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
86 this.warnings.add(new ReportData(key, value.toString(), 672)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
87 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
88 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
89 if ("probe_id".equals(key)) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
90 Response response = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
91 probeRepo.findById(LProbeInfo.class, value.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
92 List<LProbeInfo> info = (List<LProbeInfo>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
93 if (info != null && info.size() > 0) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
94 errors.add(new ReportData("probe_id", value.toString(), 671)); |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
95 return null; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
96 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
97 probe.setProbeId(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
98 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
99 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
100 if ("hauptprobennummer".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
101 probe.setHauptprobenNr(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
102 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
103 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
104 if ("mpr_id".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
105 Integer v = Integer.valueOf(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
106 probe.setMprId(v); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
107 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
108 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
109 if ("netzkennung".equals(key)) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
110 probe.setNetzbetreiberId(value.toString()); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
111 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
112 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
113 if ("messstelle".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
114 probe.setMstId(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
115 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
116 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
117 if ("messprogramm_s".equals(key) && probe.getBaId() == null) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
118 probe.setBaId(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
119 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
120 else if ("messprogramm_s".equals(key) && probe.getBaId() != null){ |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
121 this.warnings.add(new ReportData(key, value.toString(), 672)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
122 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
123 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
124 if ("soll_datum_uhrzeit_a".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
125 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
126 Date d = format.parse(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
127 probe.setSolldatumBeginn(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
128 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
129 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
130 this.warnings.add(new ReportData(key, value.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
131 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
132 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
133 if ("soll_datum_uhrzeit_e".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
134 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
135 Date d = format.parse(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
136 probe.setSolldatumEnde(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
137 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
138 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
139 this.warnings.add(new ReportData(key, value.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
140 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
141 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
142 if ("probenahme_datum_uhrzeit_a".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
143 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
144 Date d = format.parse(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
145 probe.setProbeentnahmeBeginn(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
146 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
147 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
148 this.warnings.add(new ReportData(key, value.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
149 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
150 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
151 if ("probenahme_datum_uhrzeit_e".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
152 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
153 Date d = format.parse(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
154 probe.setProbeentnahmeEnde(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
155 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
156 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
157 this.warnings.add(new ReportData(key, value.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
158 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
159 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
160 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
161 if ("umweltbereich_s".equals(key) && probe.getUmwId() == null) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
162 probe.setUmwId(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
163 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
164 else if ("umweltbereich_s".equals(key) && probe.getUmwId() != null){ |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
165 this.warnings.add(new ReportData(key, value.toString(), 672)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
166 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
167 if ("umweltbereich_c".equals(key) && probe.getUmwId() == null) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
168 QueryBuilder<SUmwelt> builder = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
169 new QueryBuilder<SUmwelt>( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
170 sRepository.getEntityManager(), SUmwelt.class); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
171 int length = value.toString().length() > 80 ? 80 : value.toString().length(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
172 builder.and("umweltBereich", value.toString().substring(0, length)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
173 Response response = sRepository.filter(builder.getQuery()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
174 List<SUmwelt> umw = (List<SUmwelt>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
175 probe.setUmwId(umw.get(0).getUmwId()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
176 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
177 else if ("umweltbereich_c".equals(key) && probe.getUmwId() != null){ |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
178 this.warnings.add(new ReportData(key, value.toString(), 672)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
179 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
180 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
181 if ("deskriptoren".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
182 probe.setMediaDesk(value.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
183 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
184 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
185 if ("testdaten".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
186 if (!value.toString().equals("0")) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
187 probe.setTest(true); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
188 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
189 else { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
190 probe.setTest(false); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
191 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
192 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
193 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
194 if ("medium".equals(key)) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
195 probe.setMedia(value.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
196 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
197 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
198 if ("probenart".equals(key)) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
199 QueryBuilder<SProbenart> builder = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
200 new QueryBuilder<SProbenart>( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
201 sRepository.getEntityManager(), SProbenart.class); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
202 builder.and("probenart", value.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
203 Response response = sRepository.filter(builder.getQuery()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
204 List<SProbenart> art = (List<SProbenart>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
205 probe.setProbenartId(Integer.valueOf(art.get(0).getProbenartId())); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
206 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
207 return probe; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
208 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
209 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
210 public LKommentarP addAttribute( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
211 String key, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
212 Object values, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
213 LKommentarP kommentar |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
214 ) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
215 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
216 String v = values.toString(); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
217 String erzeuger = v.substring(1, 5); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
218 String date = v.substring(8, 21); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
219 Date d; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
220 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
221 d = format.parse(date); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
222 kommentar.setKDatum(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
223 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
224 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
225 this.warnings.add(new ReportData(key, values.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
226 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
227 String text = v.substring(23, v.length() -1); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
228 kommentar.setErzeuger(erzeuger); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
229 kommentar.setKText(text); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
230 return kommentar; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
231 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
232 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
233 public LKommentarM addAttribute( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
234 String key, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
235 Object values, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
236 LKommentarM kommentar |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
237 ) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
238 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
239 String v = values.toString(); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
240 String erzeuger = v.substring(1, 5); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
241 String date = v.substring(8, 21); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
242 Date d; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
243 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
244 d = format.parse(date); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
245 kommentar.setKDatum(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
246 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
247 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
248 this.warnings.add(new ReportData(key, values.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
249 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
250 String text = v.substring(23, v.length() -1); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
251 kommentar.setErzeuger(erzeuger); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
252 kommentar.setKText(text); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
253 return kommentar; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
254 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
255 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
256 public LMessung addAttribute( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
257 String key, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
258 Object values, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
259 LMessung messung |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
260 ) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
261 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm"); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
262 if ("messungs_id".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
263 LMessungId id = messung.getId(); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
264 Integer v = Integer.valueOf(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
265 id.setMessungsId(v); |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
266 messung.setMessungsId(v); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
267 messung.setId(id); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
268 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
269 else if ("nebenprobennummer".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
270 messung.setNebenprobenNr(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
271 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
272 else if ("mess_datum_uhrzeit".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
273 try { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
274 Date d = format.parse(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
275 messung.setMesszeitpunkt(d); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
276 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
277 catch (ParseException e) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
278 this.warnings.add(new ReportData(key, values.toString(), 674)); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
279 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
280 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
281 else if ("messzeit_sekunden".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
282 Integer i = Integer.valueOf(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
283 messung.setMessdauer(i); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
284 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
285 else if ("messmethode_s".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
286 messung.setMmtId(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
287 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
288 else if ("bearbeitungsstatus".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
289 //ignored.!? |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
290 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
291 else if ("erfassung_abgeschlossen".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
292 if(!values.toString().equals("0")) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
293 messung.setFertig(true); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
294 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
295 else { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
296 messung.setFertig(false); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
297 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
298 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
299 return messung; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
300 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
301 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
302 public LMesswert addAttribute( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
303 String key, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
304 Object values, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
305 LMesswert messwert |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
306 ) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
307 Pattern p = Pattern.compile( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
308 "(\".+\")( .+ )(\".+\")( .*)( .{1,12})( .{1,9})(.{0,9})(.{0,3})"); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
309 //TODO Does not perfectly match... Use better matching for floats. |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
310 Matcher m = p.matcher(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
311 if (m.matches()) { |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
312 String messgroesse = m.group(1).substring(1, m.group(1).length() - 1); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
313 String wert = m.group(2); |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
314 String einheit = m.group(3).substring(1, m.group(3).length() - 1); |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
315 if (wert.startsWith(" <")) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
316 wert = wert.substring(2); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
317 messwert.setGrenzwertueberschreitung(false); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
318 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
319 else if (wert.startsWith(" >")) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
320 wert = wert.substring(2); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
321 messwert.setGrenzwertueberschreitung(true); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
322 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
323 float fWert = Float.valueOf(wert); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
324 messwert.setMesswert(fWert); |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
325 Response responseEinheit = sRepository.findAll(SMessEinheit.class); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
326 List<SMessEinheit> einheiten = |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
327 (List<SMessEinheit>)responseEinheit.getData(); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
328 boolean foundEinheit = false; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
329 for (SMessEinheit e: einheiten) { |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
330 if(e.getEinheit().equals(einheit)) { |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
331 foundEinheit = true; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
332 messwert.setMehId((int) e.getMehId()); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
333 } |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
334 } |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
335 if (!foundEinheit) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
336 this.errors.add(new ReportData("messeinheit", "null", 673)); |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
337 return null; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
338 } |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
339 Response responseGroesse = sRepository.findAll(SMessgroesse.class); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
340 List<SMessgroesse> messgroessen = |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
341 (List<SMessgroesse>)responseGroesse.getData(); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
342 boolean foundGroesse = false; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
343 for (SMessgroesse g: messgroessen) { |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
344 if(g.getMessgro0esse().equals(messgroesse)) { |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
345 foundGroesse = true; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
346 messwert.setMessgroesseId(g.getMessgroesseId()); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
347 messwert.getId().setMessgroesseId(g.getMessgroesseId()); |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
348 } |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
349 } |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
350 if (!foundGroesse) { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
351 this.errors.add(new ReportData("messgroesse", "null", 673)); |
321
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
352 return null; |
5844d7457dde
Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents:
310
diff
changeset
|
353 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
354 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
355 //TODO: Match the other values. |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
356 return messwert; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
357 } |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
358 |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
359 public LOrt addAttribute( |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
360 String key, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
361 Object values, |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
362 LOrt ort |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
363 ) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
364 if ("ort_id".equals(key)) { |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
365 Integer v = Integer.valueOf(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
366 ort.setOrtId(v); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
367 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
368 if ("ort_code".equals(key)) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
369 QueryBuilder<Ort> builder = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
370 new QueryBuilder<Ort>(ortRepo.getEntityManager(), Ort.class); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
371 builder.and("bezeichnung", values.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
372 Response response = ortRepo.filter(builder.getQuery()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
373 List<Ort> orte = (List<Ort>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
374 Integer v = Integer.valueOf(orte.get(0).getOrtId()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
375 ort.setOrtId(v); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
376 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
377 if ("ort_typ".equals(key)) { |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
378 ort.setOrtsTyp(values.toString()); |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
379 } |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
380 if ("ort_zusatz".equals(key)) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
381 ort.setOrtszusatztext(values.toString()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
382 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
383 return ort; |
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
384 } |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
385 |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
386 public LZusatzWert addAttribute( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
387 String lKey, |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
388 Object values, |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
389 LZusatzWert wert |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
390 ) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
391 String v = values.toString().substring(1); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
392 int ndx = v.indexOf("\""); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
393 String groesse = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
394 v = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
395 ndx = v.indexOf(" "); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
396 String w = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
397 v = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
398 ndx = v.indexOf("\""); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
399 String einheit = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
400 String fehler = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
401 QueryBuilder<SProbenZusatz> builder = |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
402 new QueryBuilder<SProbenZusatz>( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
403 sRepository.getEntityManager(), SProbenZusatz.class); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
404 builder.and("zusatzwert", groesse); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
405 Response response = sRepository.filter(builder.getQuery()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
406 List<SProbenZusatz> list = (List<SProbenZusatz>)response.getData(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
407 if (list == null || list.isEmpty()) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
408 this.errors.add(new ReportData(lKey, "zusatzwert", 673)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
409 return null; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
410 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
411 wert.getId().setPzsId(list.get(0).getPzsId()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
412 wert.setPzsId(list.get(0).getPzsId()); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
413 wert.setMesswertPzs(Float.valueOf(w)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
414 wert.setMessfehler(Float.valueOf(fehler)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
415 return wert; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
416 } |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
417 |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
418 public LZusatzWert addAttributeS( |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
419 String lKey, |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
420 Object values, |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
421 LZusatzWert wert |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
422 ) { |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
423 String v = values.toString().substring(1); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
424 int ndx = v.indexOf("\""); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
425 String groesse = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
426 v = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
427 ndx = v.indexOf(" "); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
428 String w = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
429 v = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
430 ndx = v.indexOf(" "); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
431 String einheit = v.substring(0, ndx); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
432 String fehler = v.substring(ndx + 2); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
433 wert.getId().setPzsId(groesse); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
434 wert.setPzsId(groesse); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
435 wert.setMesswertPzs(Float.valueOf(w)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
436 wert.setMessfehler(Float.valueOf(fehler)); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
437 return wert; |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
438 } |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
439 /** |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
440 * @return the warnings |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
441 */ |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
442 public List<ReportData> getWarnings() { |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
443 return warnings; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
444 } |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
445 |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
446 /** |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
447 * @return the errors |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
448 */ |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
449 public List<ReportData> getErrors() { |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
450 return errors; |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
451 } |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
452 |
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
453 public void reset() { |
337
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
454 errors = new ArrayList<ReportData>(); |
cb47c33b119d
Imporved error/warning handling and fixed some bugs in the importer module.
Raimund Renkert <rrenkert@intevation.de>
parents:
331
diff
changeset
|
455 warnings = new ArrayList<ReportData>(); |
331
5d11428e6a09
Made the importer a little more robust and introduced a better warning/error reporting.
Raimund Renkert <rrenkert@intevation.de>
parents:
321
diff
changeset
|
456 } |
310
821557a17e5e
First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
457 } |