Use data type for spring args
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 23 Oct 2007 08:25:11 +0000 (08:25 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 23 Oct 2007 08:25:11 +0000 (08:25 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@631 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc/src/main/java/org/argeo/slc/ant/AbstractSpringArg.java
org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcTestTask.java

index 2e2f3dfefa03d4fab28bd01eb9d19a417ec1362b..aa633d92aa8a874d8214c3b45f47197507690de0 100644 (file)
@@ -7,13 +7,14 @@ import org.springframework.beans.BeanWrapper;
 import org.springframework.beans.BeanWrapperImpl;\r
 import org.springframework.context.ApplicationContext;\r
 \r
-import org.apache.tools.ant.BuildException;\r
+import org.apache.tools.ant.Location;\r
+import org.apache.tools.ant.Project;\r
+import org.apache.tools.ant.types.DataType;\r
 \r
-public abstract class AbstractSpringArg {\r
+public abstract class AbstractSpringArg extends DataType {\r
        private List<OverrideArg> overrides = new Vector<OverrideArg>();\r
 \r
        private String bean;\r
-       private ApplicationContext context;\r
 \r
        public String getBean() {\r
                return bean;\r
@@ -24,7 +25,7 @@ public abstract class AbstractSpringArg {
        }\r
 \r
        protected Object getBeanInstance() {\r
-               Object obj = context.getBean(bean);\r
+               Object obj = getContext().getBean(bean);\r
 \r
                BeanWrapper wrapper = new BeanWrapperImpl(obj);\r
                for (OverrideArg override : overrides) {\r
@@ -34,14 +35,15 @@ public abstract class AbstractSpringArg {
                return obj;\r
        }\r
 \r
-       public void setContext(ApplicationContext context) {\r
-               this.context = context;\r
-       }\r
-\r
        public OverrideArg createOverride() {\r
                OverrideArg propertyArg = new OverrideArg();\r
-               propertyArg.setContext(context);\r
                overrides.add(propertyArg);\r
                return propertyArg;\r
        }\r
+\r
+       protected ApplicationContext getContext() {\r
+               return (ApplicationContext) getProject().getReference(\r
+                               SlcProjectHelper.REF_ROOT_CONTEXT);\r
+       }\r
+\r
 }\r
index 983b5fa320d656638d2aff6ad385b740fdaa651e..e082fe43c702d97b28f93cf7e5711ecce34987a3 100644 (file)
@@ -20,31 +20,23 @@ public class SlcTestTask extends AbstractSpringTask {
        }\r
 \r
        public TestDefinitionArg createTestDefinition() {\r
-               testDefinitionArg = new TestDefinitionArg(getContext());\r
+               testDefinitionArg = new TestDefinitionArg();\r
                return testDefinitionArg;\r
        }\r
 \r
        public TestDataArg createTestData() {\r
-               testDataArg = new TestDataArg(getContext());\r
+               testDataArg = new TestDataArg();\r
                return testDataArg;\r
        }\r
 }\r
 \r
 class TestDefinitionArg extends AbstractSpringArg {\r
-       public TestDefinitionArg(ApplicationContext context) {\r
-               setContext(context);\r
-       }\r
-       \r
        public TestDefinition getTestDefinition(){\r
                return (TestDefinition)getBeanInstance();\r
        }\r
 }\r
 \r
 class TestDataArg extends AbstractSpringArg {\r
-       public TestDataArg(ApplicationContext context) {\r
-               setContext(context);\r
-       }\r
-       \r
        public TestData getTestData(){\r
                return (TestData)getBeanInstance();\r
        }\r