diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java index 6250fd10c345299c8b6d2d4773c11c15111490af..cda2d2251e0fa27ebea53820909a58cd243ca2d0 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServiceProvider.java @@ -16,8 +16,7 @@ package ch.systemsx.cisd.openbis.generic.server; -import org.springframework.beans.factory.BeanFactory; -import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.context.ApplicationContext; import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; @@ -30,27 +29,31 @@ import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; */ public class CommonServiceProvider { - public static final BeanFactory APPLICATION_CONTEXT = - new ClassPathXmlApplicationContext(new String[] - { "applicationContext.xml" }, true); + private static ApplicationContext applicationContext; + public static void setApplicationContext(ApplicationContext context) + { + applicationContext = context; + } + public static ICommonServer getCommonServer() { - return (ICommonServer) APPLICATION_CONTEXT.getBean("common-server"); + return (ICommonServer) applicationContext.getBean("common-server"); } public static IDAOFactory getDAOFactory() { - return (IDAOFactory) APPLICATION_CONTEXT.getBean("dao-factory"); + return (IDAOFactory) applicationContext.getBean("dao-factory"); } public static ICommonBusinessObjectFactory getBusinessObjectFactory() { - return (ICommonBusinessObjectFactory) APPLICATION_CONTEXT + return (ICommonBusinessObjectFactory) applicationContext .getBean("common-business-object-factory"); } private CommonServiceProvider() { } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaintenanceTaskStarterRunnable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaintenanceTaskStarterRunnable.java index 94d76007a65e519b5aaf236c9e63b8b0ab8de6c2..0dfb7e92990c35fc46f787edce672c173c3b3c5a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaintenanceTaskStarterRunnable.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/MaintenanceTaskStarterRunnable.java @@ -18,6 +18,10 @@ package ch.systemsx.cisd.openbis.generic.server; import javax.annotation.Resource; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + import ch.systemsx.cisd.common.maintenance.MaintenanceTaskParameters; import ch.systemsx.cisd.common.maintenance.MaintenanceTaskUtils; import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer; @@ -27,11 +31,16 @@ import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer; * * @author Piotr Buczek */ -public class MaintenanceTaskStarterRunnable implements Runnable +public class MaintenanceTaskStarterRunnable implements Runnable, ApplicationContextAware { @Resource(name = "propertyConfigurer") private ExposablePropertyPlaceholderConfigurer configurer; + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException + { + CommonServiceProvider.setApplicationContext(applicationContext); + } public void run() {