Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportRange.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 |
---|---|
1 package de.intevation.flys.importer; | 1 package de.intevation.flys.importer; |
2 | |
3 import de.intevation.flys.model.Range; | |
4 import de.intevation.flys.model.River; | |
5 | |
6 import org.hibernate.Session; | |
7 import org.hibernate.Query; | |
8 | |
9 import java.util.List; | |
10 | |
11 import java.math.BigDecimal; | |
12 | |
13 import org.apache.log4j.Logger; | |
2 | 14 |
3 public class ImportRange | 15 public class ImportRange |
4 implements Comparable<ImportRange> | 16 implements Comparable<ImportRange> |
5 { | 17 { |
6 public Double from; | 18 private static Logger log = Logger.getLogger(ImportRange.class); |
7 public Double to; | 19 |
20 protected Double from; | |
21 protected Double to; | |
22 | |
23 protected Range peer; | |
8 | 24 |
9 public ImportRange() { | 25 public ImportRange() { |
10 } | 26 } |
11 | 27 |
12 public ImportRange(Double from, Double to) { | 28 public ImportRange(Double from, Double to) { |
46 } | 62 } |
47 | 63 |
48 public void setTo(Double to) { | 64 public void setTo(Double to) { |
49 this.to = to; | 65 this.to = to; |
50 } | 66 } |
67 | |
68 public Range getPeer(River river) { | |
69 if (peer == null) { | |
70 Session session = Importer.sessionHolder.get(); | |
71 Query query = session.createQuery( | |
72 "from Range where a=:a and b=:b and river.id=:river"); | |
73 BigDecimal a = from != null ? BigDecimal.valueOf(from) : null; | |
74 BigDecimal b = to != null ? BigDecimal.valueOf(to) : null; | |
75 query.setParameter("a", a); | |
76 query.setParameter("b", b); | |
77 query.setParameter("river", river.getId()); | |
78 List<Range> ranges = query.list(); | |
79 if (ranges.isEmpty()) { | |
80 peer = new Range(a, b, river); | |
81 session.save(peer); | |
82 } | |
83 else { | |
84 peer = ranges.get(0); | |
85 } | |
86 } | |
87 return peer; | |
88 } | |
51 } | 89 } |
52 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 90 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |