01: package org.concern.controller.spring;
02:
03: import org.concern.controller.Worklist;
04: import org.springframework.beans.factory.*;
05: import org.hibernate.SessionFactory;
06:
07: import javax.transaction.TransactionManager;
08:
09: public class WorklistFactoryBean implements FactoryBean,
10: InitializingBean, DisposableBean {
11: private SessionFactory sessionFactory;
12: private TransactionManager transactionManager;
13: protected Worklist worklist;
14:
15: public void setSessionFactory(SessionFactory sessionFactory) {
16: this .sessionFactory = sessionFactory;
17: }
18:
19: public void setTransactionManager(
20: TransactionManager transactionManager) {
21: this .transactionManager = transactionManager;
22: }
23:
24: public Object getObject() throws Exception {
25: return worklist;
26: }
27:
28: public Class getObjectType() {
29: return org.concern.Worklist.class;
30: }
31:
32: public boolean isSingleton() {
33: return false;
34: }
35:
36: public void afterPropertiesSet() throws Exception {
37: worklist = new Worklist();
38: worklist.setTransactionManager(transactionManager);
39: worklist.setSessionFactory(sessionFactory);
40:
41: System.setProperty("concern.controller.lookup",
42: LocalControllerLookup.class.getName());
43: ((LocalControllerLookup) LocalControllerLookup.getInstance())
44: .setWorklist(worklist);
45: }
46:
47: public void destroy() throws Exception {
48: ((LocalControllerLookup) LocalControllerLookup.getInstance())
49: .setWorklist(null);
50: }
51: }
|