From 6cc8f520821bf99f8e31824bee98f221c266bcf6 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Sat, 19 May 2007 20:28:09 +0000 Subject: [PATCH] Fixed BaseSpringTest to handle custom application contexts from derived tests git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/util/BaseSpringTest.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/util/BaseSpringTest.java b/source/java/org/alfresco/util/BaseSpringTest.java index deb48926e4..c11e7b7fbe 100644 --- a/source/java/org/alfresco/util/BaseSpringTest.java +++ b/source/java/org/alfresco/util/BaseSpringTest.java @@ -27,6 +27,7 @@ package org.alfresco.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.orm.hibernate3.SessionFactoryUtils; import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests; @@ -44,12 +45,14 @@ public abstract class BaseSpringTest extends AbstractTransactionalDataSourceSpri { /** protected so that it gets populated if autowiring is done by variable name **/ protected SessionFactory sessionFactory; + private boolean defaultContext; /** * Constructor */ public BaseSpringTest() { + defaultContext = false; } /** @@ -90,6 +93,8 @@ public abstract class BaseSpringTest extends AbstractTransactionalDataSourceSpri @Override protected String[] getConfigLocations() { + // The derived class is using the default context + defaultContext = true; if (logger.isDebugEnabled()) { logger.debug("Getting config locations"); @@ -103,6 +108,14 @@ public abstract class BaseSpringTest extends AbstractTransactionalDataSourceSpri @Override protected ConfigurableApplicationContext loadContext(Object key) throws Exception { - return (ConfigurableApplicationContext) ApplicationContextHelper.getApplicationContext(); + if (defaultContext) + { + return (ConfigurableApplicationContext) ApplicationContextHelper.getApplicationContext(); + } + else + { + String[] configLocations = (String[]) key; + return new ClassPathXmlApplicationContext(configLocations); + } } }