Mercurial > lada > lada-server
diff src/main/java/de/intevation/lada/data/importer/LAFProducer.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 | b73c16f2b87c |
children | 5d11428e6a09 |
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/data/importer/LAFProducer.java Fri Aug 23 11:32:21 2013 +0200 +++ b/src/main/java/de/intevation/lada/data/importer/LAFProducer.java Fri Aug 23 11:35:24 2013 +0200 @@ -2,11 +2,12 @@ import java.util.ArrayList; import java.util.List; -import java.util.regex.Pattern; +import javax.inject.Inject; import javax.inject.Named; import de.intevation.lada.model.LKommentarM; +import de.intevation.lada.model.LKommentarMId; import de.intevation.lada.model.LKommentarP; import de.intevation.lada.model.LMessung; import de.intevation.lada.model.LMessungId; @@ -14,6 +15,7 @@ import de.intevation.lada.model.LMesswertId; import de.intevation.lada.model.LOrt; import de.intevation.lada.model.LProbe; +import de.intevation.lada.model.LProbe; @Named("lafproducer") public class LAFProducer @@ -34,17 +36,17 @@ private List<EntryFormat> messungFormat; private List<EntryFormat> ortFormat; + @Inject private AttributeMapper mapper; public LAFProducer() { - this.mapper = new AttributeMapper(); this.probe = new LProbe(); this.pKommentare = new ArrayList<LKommentarP>(); this.mKommentare = new ArrayList<LKommentarM>(); this.messungen = new ArrayList<LMessung>(); this.orte = new ArrayList<LOrt>(); this.messwerte = new ArrayList<LMesswert>(); - String fileName = System.getProperty("de.intevation.lada.import"); + String fileName = System.getProperty("de.intevation.lada.importconfig"); LAFFormat format = new LAFFormat(); format.readConfigFile(fileName); probenFormat = format.getFormat("probe"); @@ -56,12 +58,21 @@ public void addData(String key, Object values) { String lKey = key.toLowerCase(); if(lKey.equals("probenkommentar")) { + LKommentarP kommentar = new LKommentarP(); + kommentar.setProbeId(this.probe.getProbeId()); this.pKommentare.add( - mapper.addAttribute(lKey, values, new LKommentarP())); + mapper.addAttribute(lKey, values, kommentar)); } else if (lKey.equals("kommentar")) { + LKommentarMId id = new LKommentarMId(); + id.setMessungsId(this.messung.getMessungsId()); + id.setProbeId(this.probe.getProbeId()); + LKommentarM kommentar = new LKommentarM(); + kommentar.setId(id); + kommentar.setMessungsId(this.messung.getMessungsId()); + kommentar.setProbeId(this.probe.getProbeId()); this.mKommentare.add( - mapper.addAttribute(lKey, values, new LKommentarM())); + mapper.addAttribute(lKey, values, kommentar)); } else if (lKey.equals("probenzusatzbeschreibung")) { //TODO: implement this! @@ -75,8 +86,12 @@ id.setMessungsId(this.messung.getId().getMessungsId()); LMesswert m = new LMesswert(); m.setId(id); - this.messwerte.add( - mapper.addAttribute(lKey, values, m)); + m.setMessungsId(this.messung.getMessungsId()); + m.setProbeId(this.probe.getProbeId()); + LMesswert wert = mapper.addAttribute(lKey, values, m); + if (wert != null) { + this.messwerte.add(wert); + } } else if (isValidMessung(lKey, values.toString())) { this.messung = mapper.addAttribute(lKey, values, this.messung); @@ -171,6 +186,7 @@ LMessungId id = new LMessungId(); id.setProbeId(this.probe.getProbeId()); this.messung = new LMessung(); + this.messung.setProbeId(this.probe.getProbeId()); this.messung.setId(id); }