Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportRiver.java @ 188:003ac16812dd
Store annotations in backend.
flys-backend/trunk@1518 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 18 Mar 2011 12:10:33 +0000 |
parents | cf8cbcb6a10d |
children | bc3747a371cc |
comparison
equal
deleted
inserted
replaced
187:ecf90018563b | 188:003ac16812dd |
---|---|
5 import java.io.File; | 5 import java.io.File; |
6 import java.io.IOException; | 6 import java.io.IOException; |
7 | 7 |
8 import org.apache.log4j.Logger; | 8 import org.apache.log4j.Logger; |
9 | 9 |
10 import de.intevation.flys.model.River; | |
11 | |
10 import de.intevation.flys.utils.FileTools; | 12 import de.intevation.flys.utils.FileTools; |
13 | |
14 import org.hibernate.Session; | |
15 import org.hibernate.Query; | |
11 | 16 |
12 public class ImportRiver | 17 public class ImportRiver |
13 { | 18 { |
14 private static Logger log = Logger.getLogger(ImportRiver.class); | 19 private static Logger log = Logger.getLogger(ImportRiver.class); |
15 | 20 |
22 protected File bbInfoFile; | 27 protected File bbInfoFile; |
23 | 28 |
24 protected List<ImportGauge> gauges; | 29 protected List<ImportGauge> gauges; |
25 | 30 |
26 protected List<ImportAnnotation> annotations; | 31 protected List<ImportAnnotation> annotations; |
32 | |
33 protected River peer; | |
27 | 34 |
28 public ImportRiver() { | 35 public ImportRiver() { |
29 } | 36 } |
30 | 37 |
31 public ImportRiver(String name, File wstFile, File bbInfoFile) { | 38 public ImportRiver(String name, File wstFile, File bbInfoFile) { |
83 AnnotationsParser aparser = new AnnotationsParser(); | 90 AnnotationsParser aparser = new AnnotationsParser(); |
84 aparser.parse(riverDir); | 91 aparser.parse(riverDir); |
85 | 92 |
86 annotations = aparser.getAnnotations(); | 93 annotations = aparser.getAnnotations(); |
87 } | 94 } |
95 | |
96 public void storeAnnotations() { | |
97 River river = getPeer(); | |
98 for (ImportAnnotation annotation: annotations) { | |
99 annotation.getPeer(river); | |
100 } | |
101 } | |
102 | |
103 public River getPeer() { | |
104 if (peer == null) { | |
105 Session session = Importer.sessionHolder.get(); | |
106 Query query = session.createQuery("from River where name=:name"); | |
107 query.setString("name", name); | |
108 List<River> rivers = query.list(); | |
109 if (rivers.isEmpty()) { | |
110 peer = new River(name); | |
111 session.save(peer); | |
112 } | |
113 else { | |
114 peer = rivers.get(0); | |
115 } | |
116 } | |
117 return peer; | |
118 } | |
88 } | 119 } |
89 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 120 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |