Mercurial > dive4elements > river
comparison backend/src/main/java/org/dive4elements/river/importer/ImportSQRelation.java @ 8641:c851d1ea543a
SCHEMA CHANGE: Remove unnecessary direct relation of sq_relation with rivers.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 17:42:27 +0100 |
parents | 4c3ccf2b0304 |
children | 67e53dbe05d2 |
comparison
equal
deleted
inserted
replaced
8640:0d15ebafbd0e | 8641:c851d1ea543a |
---|---|
16 | 16 |
17 import org.hibernate.Query; | 17 import org.hibernate.Query; |
18 import org.hibernate.Session; | 18 import org.hibernate.Session; |
19 import org.hibernate.exception.ConstraintViolationException; | 19 import org.hibernate.exception.ConstraintViolationException; |
20 | 20 |
21 import org.dive4elements.river.model.River; | |
22 import org.dive4elements.river.model.SQRelation; | 21 import org.dive4elements.river.model.SQRelation; |
23 import org.dive4elements.river.model.TimeInterval; | 22 import org.dive4elements.river.model.TimeInterval; |
24 | 23 |
25 | 24 |
26 public class ImportSQRelation { | 25 public class ImportSQRelation { |
37 | 36 |
38 public ImportSQRelation() { | 37 public ImportSQRelation() { |
39 this.values = new ArrayList<ImportSQRelationValue>(); | 38 this.values = new ArrayList<ImportSQRelationValue>(); |
40 } | 39 } |
41 | 40 |
42 public void storeDependencies(River river) { | 41 public void storeDependencies() { |
43 log.info("store dependencies"); | 42 log.info("store dependencies"); |
44 | 43 |
45 SQRelation peer = getPeer(river); | 44 SQRelation peer = getPeer(); |
46 | 45 |
47 if (peer != null) { | 46 if (peer != null) { |
48 int count = 0; | 47 int count = 0; |
49 | 48 |
50 for (ImportSQRelationValue value : values) { | 49 for (ImportSQRelationValue value : values) { |
62 | 61 |
63 log.info("stored " + count + " sq relation values."); | 62 log.info("stored " + count + " sq relation values."); |
64 } | 63 } |
65 } | 64 } |
66 | 65 |
67 public SQRelation getPeer(River river) { | 66 public SQRelation getPeer() { |
68 log.debug("getPeer()"); | 67 log.debug("getPeer()"); |
69 | 68 |
70 if (peer == null) { | 69 if (peer == null) { |
71 TimeInterval timeInter = timeInterval.getPeer(); | 70 TimeInterval timeInter = timeInterval.getPeer(); |
72 | 71 |
76 } | 75 } |
77 | 76 |
78 Session session = ImporterSession.getInstance() | 77 Session session = ImporterSession.getInstance() |
79 .getDatabaseSession(); | 78 .getDatabaseSession(); |
80 | 79 |
81 Query query = session | 80 Query query = session.createQuery( |
82 .createQuery("FROM SQRelation WHERE river=:river AND timeInterval=:timeInter"); | 81 "from SQRelation where " + |
82 " description = :description and " + | |
83 " timeInterval=:timeInter"); | |
83 | 84 |
84 query.setParameter("river", river); | 85 query.setParameter("description", description); |
85 query.setParameter("timeInter", timeInter); | 86 query.setParameter("timeInter", timeInter); |
86 | 87 |
87 List<SQRelation> sq = query.list(); | 88 List<SQRelation> sq = query.list(); |
88 | 89 |
89 if (sq.isEmpty()) { | 90 if (sq.isEmpty()) { |
90 log.info("create new SQ relation '" + description + "'"); | 91 log.info("create new SQ relation '" + description + "'"); |
91 | 92 |
92 peer = new SQRelation(river, timeInter, description); | 93 peer = new SQRelation(timeInter, description); |
93 session.save(peer); | 94 session.save(peer); |
94 } | 95 } |
95 else { | 96 else { |
96 peer = sq.get(0); | 97 peer = sq.get(0); |
97 } | 98 } |