X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2FSlcProjectHelper.java;fp=org.argeo.slc%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2FSlcProjectHelper.java;h=f17e0d5a3bbf5ead5ca98a69a7a4f6047fb55cac;hb=7756b44bff90cc8cb20e16e426c39f82ba89705e;hp=8fdefc23f7b61e612792148c939b279df4aa6eac;hpb=2052d0beab9c68880b3e8b0172a707274004b35f;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java index 8fdefc23f..f17e0d5a3 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Properties; import java.util.Vector; +import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; @@ -17,8 +18,8 @@ import org.apache.tools.ant.Project; import org.apache.tools.ant.helper.ProjectHelperImpl; import org.argeo.slc.core.structure.DefaultSRegistry; +import org.argeo.slc.core.structure.SimpleSElement; import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSElement; import org.argeo.slc.core.structure.tree.TreeSPath; /** @@ -48,22 +49,20 @@ public class SlcProjectHelper extends ProjectHelperImpl { SlcAntConfig.initProject(project, slcRootFile); // init Spring application context - String acPath = project - .getUserProperty(SlcAntConfig.APPLICATION_CONTEXT_PROPERTY); - ApplicationContext context = new FileSystemXmlApplicationContext(acPath); - project.addReference(REF_ROOT_CONTEXT, context); - - // init structure register if it does not exist + initSpringContext(project); + + // init structure registry DefaultSRegistry registry = new DefaultSRegistry(); project.addReference(REF_STRUCTURE_REGISTRY, registry); // call the underlying implementation to do the actual work super.parse(project, source); - addSlcTasks(project); - // create structure root registerProjectAndParents(project); + + addSlcTasks(project); + } private void registerProjectAndParents(Project project) { @@ -100,7 +99,7 @@ public class SlcProjectHelper extends ProjectHelperImpl { .getDescription() : ""; } } - TreeSElement element = new TreeSElement(description); + SimpleSElement element = new SimpleSElement(description); if (dir.equals(rootDir)) { currPath = TreeSPath.createRootPath(rootDir.getName()); @@ -132,6 +131,14 @@ public class SlcProjectHelper extends ProjectHelperImpl { } } + private void initSpringContext(Project project) { + System.getProperties().putAll(project.getProperties()); + String acPath = project + .getUserProperty(SlcAntConfig.APPLICATION_CONTEXT_PROPERTY); + ApplicationContext context = new FileSystemXmlApplicationContext(acPath); + project.addReference(REF_ROOT_CONTEXT, context); + } + private void addSlcTasks(Project project) { Properties taskdefs = new Properties(); try {