Mercurial > dive4elements > river
annotate flys-backend/src/main/java/de/intevation/flys/backend/SessionHolder.java @ 5622:b28a6d05e969
Add a new mechanism in mapfish print call to add arbitary data maps
Data properties are identified by starting with mapfish-data
and they are then split in info value pairs where info
can be the description of the information and value the value
of the information to be transported in the data map.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 09 Apr 2013 19:04:32 +0200 |
parents | 76c75c8b9ee0 |
children |
rev | line source |
---|---|
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.backend; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import org.apache.log4j.Logger; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
5 import org.hibernate.Session; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 import org.hibernate.SessionFactory; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
8 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 public class SessionHolder |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 { |
3333
76c75c8b9ee0
SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
466
diff
changeset
|
11 private static Logger log = |
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
12 Logger.getLogger(SessionHolder.class); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 public static final ThreadLocal<Session> HOLDER = |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
15 new ThreadLocal<Session>() { |
3333
76c75c8b9ee0
SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
466
diff
changeset
|
16 @Override |
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 protected Session initialValue() { |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 return create(); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 }; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 private SessionHolder() { |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 public synchronized static Session create() { |
3333
76c75c8b9ee0
SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
466
diff
changeset
|
26 log.debug("create"); |
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 SessionFactory sessionFactory = |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 SessionFactoryProvider.getSessionFactory(); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 return sessionFactory.openSession(); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 public static Session acquire() { |
3333
76c75c8b9ee0
SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
466
diff
changeset
|
33 log.debug("acquire"); |
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 Session session = create(); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 HOLDER.set(session); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 return session; |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 public static void release() { |
3333
76c75c8b9ee0
SedDB: Make access to SedDB configurable over conf.xml and provide access to sessions.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
466
diff
changeset
|
40 log.debug("release"); |
466
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 HOLDER.remove(); |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 } |
8bd50b41dea6
Moved the SessionHolder from flys-artifacts to flys-backend.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
44 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |