annotate src/main/java/de/intevation/lada/data/importer/AttributeMapper.java @ 321:5844d7457dde

Completed importer for LAF format. Ort objects still need some attention.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 23 Aug 2013 11:35:24 +0200
parents 821557a17e5e
children 5d11428e6a09
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;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.util.Date;
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
7 import java.util.List;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import java.util.regex.Matcher;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import java.util.regex.Pattern;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
11 import javax.ejb.Stateless;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 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
13 import javax.inject.Named;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import javax.persistence.EntityManager;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
16 import de.intevation.lada.data.Repository;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import de.intevation.lada.model.LKommentarM;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import de.intevation.lada.model.LKommentarP;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 import de.intevation.lada.model.LMessung;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 import de.intevation.lada.model.LMessungId;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 import de.intevation.lada.model.LMesswert;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 import de.intevation.lada.model.LOrt;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 import de.intevation.lada.model.LProbe;
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
24 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
25 import de.intevation.lada.model.SMessgroesse;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
26 import de.intevation.lada.rest.Response;
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
28 @Stateless
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 public class AttributeMapper
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 @Inject
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 private EntityManager em;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
34 @Inject
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
35 @Named("readonlyrepository")
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
36 private Repository sRepository;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
37
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 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
39 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 if ("datenbasis_s".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 Integer v = Integer.valueOf(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 probe.setDatenbasisId(v);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 else if ("probe_id".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 probe.setProbeId(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 else if ("hauptprobennummer".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 probe.setHauptprobenNr(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 else if ("mpr_id".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 Integer v = Integer.valueOf(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 probe.setMprId(v);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 }
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
54 else if ("netzkennung".equals(key)) {
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
55 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
56 }
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 else if ("messprogramm_land".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 probe.setMplId(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 else if ("messstelle".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 probe.setMstId(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 else if ("betriebsart".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 probe.setBaId(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 else if ("soll_datum_uhrzeit_a".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 Date d = format.parse(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
69 probe.setSolldatumBeginn(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
71 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
72 //TODO handle warning.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
73 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
75 else if ("soll_datum_uhrzeit_e".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
76 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 Date d = format.parse(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 probe.setSolldatumEnde(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
79 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 //TODO handle warning.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
83 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
84 else if ("probenahme_datum_uhrzeit_a".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
85 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
86 Date d = format.parse(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
87 probe.setProbeentnahmeBeginn(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
88 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
89 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
90 //TODO handle warning.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
91 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
92 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
93 else if ("probenahme_datum_uhrzeit_e".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
94 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
95 Date d = format.parse(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
96 probe.setProbeentnahmeEnde(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
97 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
98 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
99 //TODO handle warning.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
100 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
101 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
102 else if ("umweltbereich_s".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
103 probe.setUmwId(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
104 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
105 else if ("deskriptoren".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
106 probe.setMediaDesk(value.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
107 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
108 else if ("testdaten".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
109 if (!value.toString().equals("0")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
110 probe.setTest(true);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
111 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
112 else {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
113 probe.setTest(false);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
114 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
115 }
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
116
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
117 probe.setProbenartId(1);
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118 return probe;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
119 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 public LKommentarP addAttribute(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
122 String key,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
123 Object values,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
124 LKommentarP kommentar
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
125 ) {
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
126 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
127 String v = values.toString();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 String erzeuger = v.substring(1, 5);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
129 String date = v.substring(8, 21);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
130 Date d;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 d = format.parse(date);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 kommentar.setKDatum(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 //TODO: handle warning.
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 String text = v.substring(23, v.length() -1);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
139 kommentar.setErzeuger(erzeuger);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
140 kommentar.setKText(text);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 return kommentar;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
143
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
144 public LKommentarM addAttribute(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
145 String key,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
146 Object values,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
147 LKommentarM kommentar
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
148 ) {
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
149 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
150 String v = values.toString();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
151 String erzeuger = v.substring(1, 5);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
152 String date = v.substring(8, 21);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
153 Date d;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
154 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
155 d = format.parse(date);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
156 kommentar.setKDatum(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
157 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
158 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
159 //TODO: handle warning.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
160 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
161 String text = v.substring(23, v.length() -1);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
162 kommentar.setErzeuger(erzeuger);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
163 kommentar.setKText(text);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
164 return kommentar;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
165 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
166
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
167 public LMessung addAttribute(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
168 String key,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
169 Object values,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
170 LMessung messung
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
171 ) {
321
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
172 DateFormat format = new SimpleDateFormat("yyyyMMdd HHmm");
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 if ("messungs_id".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 LMessungId id = messung.getId();
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 Integer v = Integer.valueOf(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 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
177 messung.setMessungsId(v);
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
178 messung.setId(id);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
179 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
180 else if ("nebenprobennummer".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
181 messung.setNebenprobenNr(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
182 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
183 else if ("mess_datum_uhrzeit".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
184 try {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
185 Date d = format.parse(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
186 messung.setMesszeitpunkt(d);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
187 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
188 catch (ParseException e) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
189 //TODO: handle warnings.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
190 }
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 else if ("messzeit_sekunden".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
193 Integer i = Integer.valueOf(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
194 messung.setMessdauer(i);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
195 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
196 else if ("messmethode_s".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
197 messung.setMmtId(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
198 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
199 else if ("bearbeitungsstatus".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
200 //ignored.!?
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
201 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
202 else if ("erfassung_abgeschlossen".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
203 if(!values.toString().equals("0")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
204 messung.setFertig(true);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
205 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
206 else {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
207 messung.setFertig(false);
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 return messung;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
211 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
212
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
213 public LMesswert addAttribute(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
214 String key,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
215 Object values,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
216 LMesswert messwert
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
217 ) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
218 Pattern p = Pattern.compile(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
219 "(\".+\")( .+ )(\".+\")( .*)( .{1,12})( .{1,9})(.{0,9})(.{0,3})");
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
220 //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
221 Matcher m = p.matcher(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
222 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
223 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
224 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
225 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
226 if (wert.startsWith(" <")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
227 wert = wert.substring(2);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
228 messwert.setGrenzwertueberschreitung(false);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
229 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
230 else if (wert.startsWith(" >")) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
231 wert = wert.substring(2);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
232 messwert.setGrenzwertueberschreitung(true);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
233 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
234 float fWert = Float.valueOf(wert);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
235 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
236 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
237 List<SMessEinheit> einheiten =
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
238 (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
239 boolean foundEinheit = false;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
240 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
241 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
242 foundEinheit = true;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
243 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
244 }
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
245 }
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
246 if (!foundEinheit) {
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
247 return null;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
248 //TODO: handle warning!
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
249 }
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
250 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
251 List<SMessgroesse> messgroessen =
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
252 (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
253 boolean foundGroesse = false;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
254 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
255 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
256 foundGroesse = true;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
257 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
258 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
259 }
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
260 }
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
261 if (!foundGroesse) {
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
262 return null;
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
263 //TODO: handle warning!
5844d7457dde Completed importer for LAF format. Ort objects still need some attention.
Raimund Renkert <rrenkert@intevation.de>
parents: 310
diff changeset
264 }
310
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
265 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
266 //TODO: Match the other values.
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
267 return messwert;
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
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
270 public LOrt addAttribute(
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
271 String key,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
272 Object values,
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
273 LOrt ort
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
274 ) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
275 if ("ort_id".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
276 Integer v = Integer.valueOf(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
277 ort.setOrtId(v);
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
278 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
279 else if ("ort_typ".equals(key)) {
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
280 ort.setOrtsTyp(values.toString());
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
281 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
282 return ort;
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
283 }
821557a17e5e First version of the LAF importer.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
284 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)