]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/ant/AbstractSpringArg.java
Use data type for spring args
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / ant / AbstractSpringArg.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