Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/Recommendations.java @ 5590:b75005269a6c
Datacage: Fix potential connection leak to SedDB.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 08 Apr 2013 12:07:43 +0200 |
parents | 3e8f7b4bdf20 |
children | cf4cc385e7c6 |
comparison
equal
deleted
inserted
replaced
5589:1827798ca53f | 5590:b75005269a6c |
---|---|
18 | 18 |
19 import org.w3c.dom.Document; | 19 import org.w3c.dom.Document; |
20 import org.w3c.dom.Node; | 20 import org.w3c.dom.Node; |
21 | 21 |
22 import org.hibernate.Session; | 22 import org.hibernate.Session; |
23 import org.hibernate.SessionFactory; | |
23 | 24 |
24 import org.hibernate.jdbc.Work; | 25 import org.hibernate.jdbc.Work; |
25 | 26 |
26 import de.intevation.artifacts.common.utils.Config; | 27 import de.intevation.artifacts.common.utils.Config; |
27 import de.intevation.artifacts.common.utils.XMLUtils; | 28 import de.intevation.artifacts.common.utils.XMLUtils; |
28 import de.intevation.artifacts.common.utils.StringUtils; | 29 import de.intevation.artifacts.common.utils.StringUtils; |
29 | 30 |
30 import de.intevation.flys.artifacts.FLYSArtifact; | 31 import de.intevation.flys.artifacts.FLYSArtifact; |
31 | 32 |
32 import de.intevation.flys.backend.SedDBSessionHolder; | 33 import de.intevation.flys.backend.SessionFactoryProvider; |
33 import de.intevation.flys.backend.SessionHolder; | 34 import de.intevation.flys.backend.SessionHolder; |
34 | 35 |
35 import de.intevation.artifactdatabase.data.StateData; | 36 import de.intevation.artifactdatabase.data.StateData; |
36 | 37 |
37 import de.intevation.flys.artifacts.datacage.templating.Builder; | 38 import de.intevation.flys.artifacts.datacage.templating.Builder; |
216 parameters, userId, result, | 217 parameters, userId, result, |
217 systemConnection, | 218 systemConnection, |
218 (Connection)null); | 219 (Connection)null); |
219 } | 220 } |
220 }); | 221 }); |
221 /* | |
222 systemSession.doWork(new Work() { | 222 systemSession.doWork(new Work() { |
223 @Override | 223 @Override |
224 public void execute(final Connection systemConnection) | 224 public void execute(final Connection systemConnection) |
225 throws SQLException | 225 throws SQLException |
226 { | 226 { |
227 SedDBSessionHolder.HOLDER.get().doWork(new Work() { | 227 SessionFactory sedDBFactory = |
228 @Override | 228 SessionFactoryProvider.getSedDBSessionFactory(); |
229 public void execute(Connection sedDBConnection) | 229 |
230 throws SQLException | 230 Session sedDBSession = sedDBFactory.openSession(); |
231 { | 231 try { |
232 recommend( | 232 sedDBSession.doWork(new Work() { |
233 parameters, userId, result, | 233 @Override |
234 systemConnection, | 234 public void execute(Connection sedDBConnection) |
235 sedDBConnection); | 235 throws SQLException |
236 } | 236 { |
237 }); | 237 recommend( |
238 parameters, userId, result, | |
239 systemConnection, | |
240 sedDBConnection); | |
241 } | |
242 }); | |
243 } | |
244 finally { | |
245 sedDBSession.close(); | |
246 } | |
238 } | 247 } |
239 }); | 248 }); |
240 */ | |
241 } | 249 } |
242 | 250 |
243 public void recommend( | 251 public void recommend( |
244 Map<String, Object> parameters, | 252 Map<String, Object> parameters, |
245 String userId, | 253 String userId, |