diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverService.java @ 1631:26e19cdaed5e

Improved database session handling in services and artifacts. flys-artifacts/trunk@2807 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 22 Sep 2011 10:07:22 +0000
parents a63d79107289
children 614ffddb860e
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverService.java	Thu Sep 22 07:58:24 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/RiverService.java	Thu Sep 22 10:07:22 2011 +0000
@@ -15,12 +15,10 @@
 
 import de.intevation.artifactdatabase.DefaultService;
 
-import de.intevation.flys.backend.SessionHolder;
 import de.intevation.flys.model.River;
 
 import de.intevation.flys.artifacts.model.RiverFactory;
 
-import org.hibernate.Session;
 
 /**
  * This service provides information about the supported rivers by this
@@ -28,20 +26,13 @@
  *
  * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
  */
-public class RiverService extends DefaultService {
+public class RiverService extends FLYSService {
 
     /** The logger used in this service.*/
     private static Logger logger = Logger.getLogger(RiverService.class);
 
 
-    /**
-     * The default constructor.
-     */
-    public RiverService() {
-    }
-
-
-    public Document process(
+    protected Document doProcess(
         Document      data,
         GlobalContext globalContext,
         CallMeta      callMeta
@@ -55,25 +46,18 @@
             ArtifactNamespaceContext.NAMESPACE_URI,
             ArtifactNamespaceContext.NAMESPACE_PREFIX);
 
-        Session session = SessionHolder.acquire();
-        try {
-            List<River> allRivers = RiverFactory.getRivers();
-
-            Element rivers = ec.create("rivers");
+        List<River> allRivers = RiverFactory.getRivers();
 
-            for (River river: allRivers) {
-                Element r = ec.create("river");
-                ec.addAttr(r, "name", river.getName(), true);
+        Element rivers = ec.create("rivers");
 
-                rivers.appendChild(r);
-            }
+        for (River river: allRivers) {
+            Element r = ec.create("river");
+            ec.addAttr(r, "name", river.getName(), true);
 
-            result.appendChild(rivers);
+            rivers.appendChild(r);
         }
-        finally {
-            session.close();
-            SessionHolder.release();
-        }
+
+        result.appendChild(rivers);
 
         return result;
     }

http://dive4elements.wald.intevation.org