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 :

http://dive4elements.wald.intevation.org