[jboss-svn-commits] JBL Code SVN: r24605 - in labs/jbossesb/trunk/product/services/spring/src: test/java/org/jboss/soa/esb/actions/spring and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jan 8 09:45:12 EST 2009
Author: beve
Date: 2009-01-08 09:45:12 -0500 (Thu, 08 Jan 2009)
New Revision: 24605
Modified:
labs/jbossesb/trunk/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java
labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java
labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/SaySomething.java
labs/jbossesb/trunk/product/services/spring/src/test/resources/spring-context-2.xml
Log:
Work for https://jira.jboss.org/jira/browse/JBESB-2237 "Revisit spring integration"
Modified: labs/jbossesb/trunk/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java
===================================================================
--- labs/jbossesb/trunk/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java 2009-01-08 09:50:53 UTC (rev 24604)
+++ labs/jbossesb/trunk/product/services/spring/src/main/java/org/jboss/soa/esb/actions/AbstractSpringAction.java 2009-01-08 14:45:12 UTC (rev 24605)
@@ -26,7 +26,7 @@
import org.jboss.soa.esb.message.Message;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
-import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
@@ -62,9 +62,9 @@
/** configuration object */
protected ConfigTree configTree;
- /** Spring bean factory */
- private BeanFactory factory;
-
+ /** Spring Application Context */
+ private AbstractApplicationContext appContext;
+
/**
* Constructs and instance with storing the passed in ConfigTree instance.
* <p/>
@@ -101,7 +101,7 @@
}
springContextXml = configTree.getAttribute( SPRING_CONTEXT_XML_ATTR );
- if (springContextXml == null)
+ if (springContextXml == null || springContextXml.equals(""))
{
throw new ActionLifecycleException( "No Spring context specified on action config: " + SPRING_CONTEXT_XML_ATTR + "." );
}
@@ -117,7 +117,7 @@
*/
public boolean isBeanFactoryNull()
{
- return factory == null;
+ return appContext == null;
}
/**
@@ -151,6 +151,11 @@
*/
public void destroy() throws ActionLifecycleException
{
+ if (appContext != null)
+ {
+ appContext.close();
+ appContext = null;
+ }
}
/**
@@ -175,7 +180,7 @@
*/
protected BeanFactory getBeanFactory() throws ActionLifecycleException
{
- return factory;
+ return appContext;
}
/**
@@ -200,19 +205,7 @@
{
try
{
- ApplicationContext springContext;
-
- if (springContextXml.contains( "," ))
- {
- String[] springContextXmls = springContextXml.split( "," );
- springContext = new ClassPathXmlApplicationContext( springContextXmls );
- }
- else
- {
- springContext = new ClassPathXmlApplicationContext( springContextXml );
- }
-
- factory = (BeanFactory) springContext;
+ appContext = new ClassPathXmlApplicationContext(springContextXml.split(","));
}
catch (final BeansException e)
{
Modified: labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java 2009-01-08 09:50:53 UTC (rev 24604)
+++ labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/AbstractSpringActionUnitTest.java 2009-01-08 14:45:12 UTC (rev 24605)
@@ -20,6 +20,8 @@
package org.jboss.soa.esb.actions.spring;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import junit.framework.JUnit4TestAdapter;
import org.jboss.soa.esb.actions.ActionLifecycleException;
@@ -67,6 +69,22 @@
assertEquals("Greeting Changed", mockAction.sayHelloAopStyle());
assertEquals(false, mockAction.isBeanFactoryNull());
}
+
+ @Test
+ public void destroy() throws Exception
+ {
+ MockSpringAction mockAction = createMockAction( new String[] { springContext1, springContext2 } );
+ mockAction.sayHelloSpring();
+ assertFalse(mockAction.isBeanFactoryNull());
+ mockAction.destroy();
+ assertTrue(mockAction.isBeanFactoryNull());
+ }
+
+ @Test (expected = ActionLifecycleException.class)
+ public void exptySpringContextFile() throws Exception
+ {
+ createMockAction( new String[] { "" } );
+ }
public static junit.framework.Test suite()
{
@@ -81,13 +99,19 @@
private MockSpringAction createMockAction( String[] files) throws Exception
{
final ConfigTree config = createConfig();
- final StringBuilder sb = new StringBuilder();
- for (String configFile : files)
- {
- sb.append( configFile ).append( ',' );
- }
- config.setAttribute( "springContextXml" , sb.toString() );
-
+ if (files.length == 1)
+ {
+ config.setAttribute( "springContextXml" , files[0]);
+ }
+ else
+ {
+ final StringBuilder sb = new StringBuilder();
+ for (String configFile : files)
+ {
+ sb.append(configFile).append(",");
+ }
+ config.setAttribute( "springContextXml" , sb.toString() );
+ }
return new MockSpringAction( config );
}
}
Modified: labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/SaySomething.java
===================================================================
--- labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/SaySomething.java 2009-01-08 09:50:53 UTC (rev 24604)
+++ labs/jbossesb/trunk/product/services/spring/src/test/java/org/jboss/soa/esb/actions/spring/SaySomething.java 2009-01-08 14:45:12 UTC (rev 24605)
@@ -8,15 +8,21 @@
*/
public class SaySomething
{
- private String greeting;
+ private String greeting;
- public String getGreeting()
- {
- return greeting;
- }
+ public String getGreeting()
+ {
+ return greeting;
+ }
- public void setGreeting(String greeting)
- {
- this.greeting = greeting;
- }
+ public void setGreeting(String greeting)
+ {
+ this.greeting = greeting;
+ }
+
+ public void destroy()
+ {
+ System.out.println("destroy called");
+ }
+
}
Modified: labs/jbossesb/trunk/product/services/spring/src/test/resources/spring-context-2.xml
===================================================================
--- labs/jbossesb/trunk/product/services/spring/src/test/resources/spring-context-2.xml 2009-01-08 09:50:53 UTC (rev 24604)
+++ labs/jbossesb/trunk/product/services/spring/src/test/resources/spring-context-2.xml 2009-01-08 14:45:12 UTC (rev 24605)
@@ -8,7 +8,7 @@
<!-- ========================= BUSINESS OBJECT DEFINITIONS ======================== -->
- <bean id="goodbyeObject" class="org.jboss.soa.esb.actions.spring.SaySomething">
+ <bean id="goodbyeObject" class="org.jboss.soa.esb.actions.spring.SaySomething" destroy-method="destroy">
<property name="greeting" value="goodbye from Spring"/>
</bean>
More information about the jboss-svn-commits
mailing list