Mercurial > dive4elements > river
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 : |