comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportDepth.java @ 2817:8979f2294af9

Finished parsing MINFO specific sediment density. flys-backend/trunk@4234 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 13 Apr 2012 11:45:29 +0000
parents f121c0f456ab
children 7c1dd9c3f6bd
comparison
equal deleted inserted replaced
2816:70b4a31a3306 2817:8979f2294af9
1 package de.intevation.flys.importer; 1 package de.intevation.flys.importer;
2 2
3 import java.math.BigDecimal; 3 import java.math.BigDecimal;
4 4
5 import java.util.List;
6
5 import org.apache.log4j.Logger; 7 import org.apache.log4j.Logger;
8
9 import org.hibernate.Session;
10 import org.hibernate.Query;
6 11
7 import de.intevation.flys.model.Depth; 12 import de.intevation.flys.model.Depth;
8 13
9 14
10 public class ImportDepth { 15 public class ImportDepth {
27 } 32 }
28 33
29 34
30 public void storeDependencies() { 35 public void storeDependencies() {
31 log.info("store dependencies"); 36 log.info("store dependencies");
37
38 getPeer();
32 } 39 }
33 40
34 41
35 public Depth getPeer() { 42 public Depth getPeer() {
36 log.info("get peer"); 43 log.info("get peer");
37 44
38 return null; 45 if (peer == null) {
46 Session session = ImporterSession.getInstance().getDatabaseSession();
47
48 Query query = session.createQuery(
49 "from Depth where " +
50 " lower=:lower and " +
51 " upper=:upper and " +
52 " unit=:unit");
53
54 query.setParameter("lower", lower);
55 query.setParameter("upper", upper);
56 query.setParameter("unit", unit.getPeer());
57
58 List<Depth> depths = query.list();
59
60 if (depths.isEmpty()) {
61 log.debug("Create new Depth DB instance.");
62
63 peer = new Depth(lower, upper, unit.getPeer());
64
65 session.save(peer);
66 }
67 else {
68 peer = depths.get(0);
69 }
70 }
71
72 return peer;
39 } 73 }
40 } 74 }
41 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 75 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org