Mercurial > dive4elements > river
comparison flys-backend/src/main/java/de/intevation/flys/importer/ImportDischargeTableValue.java @ 498:8ab04de0b879
Importer: Cache the discharge table values, too.
flys-backend/trunk@1852 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 08 May 2011 17:55:49 +0000 |
parents | 67fd63e4ef66 |
children | d50cd3a632e0 |
comparison
equal
deleted
inserted
replaced
497:67fd63e4ef66 | 498:8ab04de0b879 |
---|---|
33 } | 33 } |
34 | 34 |
35 | 35 |
36 public DischargeTableValue getPeer(DischargeTable dischargeTable) { | 36 public DischargeTableValue getPeer(DischargeTable dischargeTable) { |
37 if (peer == null) { | 37 if (peer == null) { |
38 Session session = ImporterSession.getInstance().getDatabaseSession(); | 38 peer = ImporterSession.getInstance() |
39 | 39 .getDischargeTableValue(dischargeTable, q, w); |
40 Query query = session.createQuery( | |
41 "from DischargeTableValue where " + | |
42 "dischargeTable.id=:tableId and q=:q and w=:w"); | |
43 query.setParameter("tableId", dischargeTable.getId()); | |
44 query.setParameter("q", q); | |
45 query.setParameter("w", w); | |
46 | |
47 List<DischargeTableValue> dischargeTableValues = query.list(); | |
48 if (dischargeTableValues.isEmpty()) { | |
49 peer = new DischargeTableValue(dischargeTable, q, w); | |
50 session.save(peer); | |
51 } | |
52 else { | |
53 peer = dischargeTableValues.get(0); | |
54 } | |
55 } | 40 } |
56 | 41 |
57 return peer; | 42 return peer; |
58 } | 43 } |
59 } | 44 } |