comparison artifacts/src/main/java/org/dive4elements/river/artifacts/services/D4EService.java @ 5868:35b2d86c3fb5

River artifacts: Renamed FLYSService to D4EService.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 15:26:59 +0200
parents artifacts/src/main/java/org/dive4elements/river/artifacts/services/FLYSService.java@4897a58c8746
children af13ceeba52a
comparison
equal deleted inserted replaced
5867:59ff03ff48f1 5868:35b2d86c3fb5
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
2 * Software engineering by Intevation GmbH
3 *
4 * This file is Free Software under the GNU AGPL (>=v3)
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
6 * documentation coming with Dive4Elements River for details.
7 */
8
9 package org.dive4elements.river.artifacts.services;
10
11 import org.w3c.dom.Document;
12
13 import org.apache.log4j.Logger;
14
15 import org.hibernate.Session;
16
17 import org.dive4elements.artifacts.CallMeta;
18 import org.dive4elements.artifacts.GlobalContext;
19
20 import org.dive4elements.artifactdatabase.XMLService;
21
22 import org.dive4elements.river.backend.SessionHolder;
23
24
25 public abstract class D4EService extends XMLService {
26
27 private static final Logger logger = Logger.getLogger(D4EService.class);
28
29
30 @Override
31 public Document processXML(
32 Document data,
33 GlobalContext globalContext,
34 CallMeta callMeta
35 ) {
36 init();
37
38 try {
39 return doProcess(data, globalContext, callMeta);
40 }
41 finally {
42 shutdown();
43 }
44 }
45
46
47 protected abstract Document doProcess(
48 Document data,
49 GlobalContext globalContext,
50 CallMeta callMeta);
51
52
53 protected void init() {
54 logger.debug("init");
55 SessionHolder.acquire();
56 }
57
58
59 protected void shutdown() {
60 logger.debug("shutdown");
61 Session session = SessionHolder.HOLDER.get();
62 session.close();
63
64 SessionHolder.release();
65 }
66 }
67 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org