package org.concern.controller.spring;
import org.concern.controller.Worklist;
import org.springframework.beans.factory.*;
import org.hibernate.SessionFactory;
import javax.transaction.TransactionManager;
public class WorklistFactoryBean
implements FactoryBean, InitializingBean, DisposableBean
{
private SessionFactory sessionFactory;
private TransactionManager transactionManager;
protected Worklist worklist;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void setTransactionManager(TransactionManager transactionManager) {
this.transactionManager = transactionManager;
}
public Object getObject() throws Exception {
return worklist;
}
public Class getObjectType() {
return org.concern.Worklist.class;
}
public boolean isSingleton() {
return false;
}
public void afterPropertiesSet() throws Exception {
worklist = new Worklist();
worklist.setTransactionManager(transactionManager);
worklist.setSessionFactory(sessionFactory);
System.setProperty("concern.controller.lookup", LocalControllerLookup.class.getName());
((LocalControllerLookup)LocalControllerLookup.getInstance()).setWorklist(worklist);
}
public void destroy() throws Exception {
((LocalControllerLookup)LocalControllerLookup.getInstance()).setWorklist(null);
}
}
|