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 }

http://dive4elements.wald.intevation.org