Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverService.java @ 314:aeeb9054b7cf
Acquire/release sessions in services to avoid db connection leaks.
flys-artifacts/trunk@1699 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Apr 2011 13:45:50 +0000 |
parents | d6197a05a87c |
children | 4aa078e28cfd |
comparison
equal
deleted
inserted
replaced
313:89bd0417418f | 314:aeeb9054b7cf |
---|---|
15 import de.intevation.artifactdatabase.DefaultService; | 15 import de.intevation.artifactdatabase.DefaultService; |
16 | 16 |
17 import de.intevation.flys.model.River; | 17 import de.intevation.flys.model.River; |
18 | 18 |
19 import de.intevation.flys.artifacts.model.RiverFactory; | 19 import de.intevation.flys.artifacts.model.RiverFactory; |
20 import de.intevation.flys.artifacts.model.SessionHolder; | |
20 | 21 |
22 import org.hibernate.Session; | |
21 | 23 |
22 /** | 24 /** |
23 * This service provides information about the supported rivers by this | 25 * This service provides information about the supported rivers by this |
24 * application. | 26 * application. |
25 * | 27 * |
50 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( | 52 XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( |
51 result, | 53 result, |
52 ArtifactNamespaceContext.NAMESPACE_URI, | 54 ArtifactNamespaceContext.NAMESPACE_URI, |
53 ArtifactNamespaceContext.NAMESPACE_PREFIX); | 55 ArtifactNamespaceContext.NAMESPACE_PREFIX); |
54 | 56 |
55 List<River> allRivers = RiverFactory.getRivers(); | 57 Session session = SessionHolder.acquire(); |
58 try { | |
59 List<River> allRivers = RiverFactory.getRivers(); | |
56 | 60 |
57 Element rivers = ec.create("rivers"); | 61 Element rivers = ec.create("rivers"); |
58 | 62 |
59 for (River river: allRivers) { | 63 for (River river: allRivers) { |
60 Element r = ec.create("river"); | 64 Element r = ec.create("river"); |
61 ec.addAttr(r, "name", river.getName(), true); | 65 ec.addAttr(r, "name", river.getName(), true); |
62 | 66 |
63 rivers.appendChild(r); | 67 rivers.appendChild(r); |
68 } | |
69 | |
70 result.appendChild(rivers); | |
64 } | 71 } |
65 | 72 finally { |
66 result.appendChild(rivers); | 73 session.close(); |
74 SessionHolder.release(); | |
75 } | |
67 | 76 |
68 return result; | 77 return result; |
69 } | 78 } |
70 } | 79 } |
71 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 80 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |