]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java
git-svn-id: https://svn.argeo.org/slc/trunk@1284 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc
[gpl/argeo-slc.git] / org.argeo.slc.agent / src / main / java / org / argeo / slc / ant / AntSlcApplication.java
index ed214b49e0d38955a1b8028798522d7b79407404..76c8331178a6f5a02dd7141d0482ec5cd939af71 100644 (file)
@@ -20,6 +20,7 @@ import org.apache.tools.ant.Project;
 import org.apache.tools.ant.ProjectHelper;
 import org.apache.tools.ant.helper.ProjectHelper2;
 import org.apache.tools.ant.listener.CommonsLoggingListener;
+import org.argeo.slc.core.SlcException;
 import org.argeo.slc.core.process.SlcExecution;
 import org.argeo.slc.core.structure.SimpleSElement;
 import org.argeo.slc.core.structure.StructureRegistry;
@@ -44,7 +45,7 @@ public class AntSlcApplication {
        private final static Log log = LogFactory.getLog(AntSlcApplication.class);
 
        private Resource contextLocation;
-       private ApplicationContext parentContext;
+       private ConfigurableApplicationContext parentContext;
 
        private Resource rootDir;
        private Resource confDir;
@@ -76,8 +77,8 @@ public class AntSlcApplication {
                // Ant project initialization
                Project project = new Project();
                AntExecutionContext executionContext = new AntExecutionContext(project);
-               project.addReference(SlcAntConstants.REF_ROOT_CONTEXT, ctx);
-               project.addReference(SlcAntConstants.REF_SLC_EXECUTION, slcExecution);
+               project.addReference(AntConstants.REF_ROOT_CONTEXT, ctx);
+               project.addReference(AntConstants.REF_SLC_EXECUTION, slcExecution);
                initProject(project, properties, references);
                parseProject(project, scriptRelativePath);
 
@@ -101,20 +102,20 @@ public class AntSlcApplication {
                        }
                }
 
-               if (System.getProperty(SlcAntConstants.DEFAULT_TEST_RUN_PROPERTY) == null) {
-                       System.setProperty(SlcAntConstants.DEFAULT_TEST_RUN_PROPERTY,
+               if (System.getProperty(AntConstants.DEFAULT_TEST_RUN_PROPERTY) == null) {
+                       System.setProperty(AntConstants.DEFAULT_TEST_RUN_PROPERTY,
                                        "defaultTestRun");
                }
 
                try {
                        if (rootDir != null)
-                               System.setProperty(SlcAntConstants.ROOT_DIR_PROPERTY, rootDir
+                               System.setProperty(AntConstants.ROOT_DIR_PROPERTY, rootDir
                                                .getURL().toString());
                        if (confDir != null)
-                               System.setProperty(SlcAntConstants.CONF_DIR_PROPERTY, confDir
+                               System.setProperty(AntConstants.CONF_DIR_PROPERTY, confDir
                                                .getURL().toString());
                        if (workDir != null)
-                               System.setProperty(SlcAntConstants.WORK_DIR_PROPERTY, workDir
+                               System.setProperty(AntConstants.WORK_DIR_PROPERTY, workDir
                                                .getCanonicalPath());
 
                        // Additional properties in slc.properties file. Already set sytem
@@ -143,7 +144,7 @@ public class AntSlcApplication {
                                }
                        }
                } catch (Exception e) {
-                       throw new SlcAntException("Cannot init system properties.", e);
+                       throw new SlcException("Cannot init system properties.", e);
                }
        }
 
@@ -154,7 +155,7 @@ public class AntSlcApplication {
                        // Find runtime definition
                        Resource runtimeRes = null;
                        String runtimeStr = slcExecution.getAttributes().get(
-                                       SlcAntConstants.EXECATTR_RUNTIME);
+                                       AntConstants.EXECATTR_RUNTIME);
                        if (runtimeStr == null)
                                runtimeStr = "default";
 
@@ -200,23 +201,23 @@ public class AntSlcApplication {
                        ctx.refresh();
                        return ctx;
                } catch (Exception e) {
-                       throw new SlcAntException(
+                       throw new SlcException(
                                        "Cannot create SLC execution application context.", e);
                }
        }
 
        protected String findAntScript(SlcExecution slcExecution) {
                String scriptStr = slcExecution.getAttributes().get(
-                               SlcAntConstants.EXECATTR_ANT_FILE);
+                               AntConstants.EXECATTR_ANT_FILE);
                if (scriptStr == null)
-                       throw new SlcAntException("No Ant script provided");
+                       throw new SlcException("No Ant script provided");
 
                return scriptStr;
        }
 
        protected List<String> findAntTargets(SlcExecution slcExecution) {
                String targetList = slcExecution.getAttributes().get(
-                               SlcAntConstants.EXECATTR_ANT_TARGETS);
+                               AntConstants.EXECATTR_ANT_TARGETS);
                List<String> targets = new Vector<String>();
                if (targetList != null) {
                        StringTokenizer stTargets = new StringTokenizer(targetList, ",");
@@ -245,7 +246,7 @@ public class AntSlcApplication {
                project.addBuildListener(new CommonsLoggingListener());
 
                ListableBeanFactory context = (ListableBeanFactory) project
-                               .getReference(SlcAntConstants.REF_ROOT_CONTEXT);
+                               .getReference(AntConstants.REF_ROOT_CONTEXT);
                // Register build listeners
                Map<String, BuildListener> listeners = context.getBeansOfType(
                                BuildListener.class, false, true);
@@ -254,7 +255,7 @@ public class AntSlcApplication {
                }
 
                // Register log4j appenders from context
-               MDC.put(SlcAntConstants.MDC_ANT_PROJECT, project);
+               MDC.put(AntConstants.MDC_ANT_PROJECT, project);
                Map<String, Appender> appenders = context.getBeansOfType(
                                Appender.class, false, true);
                for (Appender appender : appenders.values()) {
@@ -268,7 +269,7 @@ public class AntSlcApplication {
        /** Loads the SLC specific Ant tasks. */
        protected void addCustomTaskAndTypes(Project project) {
                Properties taskdefs = getDefs(project,
-                               SlcAntConstants.SLC_TASKDEFS_RESOURCE_PATH);
+                               AntConstants.SLC_TASKDEFS_RESOURCE_PATH);
                for (Object o : taskdefs.keySet()) {
                        String name = o.toString();
                        try {
@@ -279,7 +280,7 @@ public class AntSlcApplication {
                        }
                }
                Properties typedefs = getDefs(project,
-                               SlcAntConstants.SLC_TYPEDEFS_RESOURCE_PATH);
+                               AntConstants.SLC_TYPEDEFS_RESOURCE_PATH);
                for (Object o : typedefs.keySet()) {
                        String name = o.toString();
                        try {
@@ -298,7 +299,7 @@ public class AntSlcApplication {
                        defs.load(in);
                        in.close();
                } catch (IOException e) {
-                       throw new SlcAntException("Cannot load task definitions", e);
+                       throw new SlcException("Cannot load task definitions", e);
                }
                return defs;
        }
@@ -306,7 +307,7 @@ public class AntSlcApplication {
        protected void initStructure(Project project, String scriptRelativePath) {
                // Init structure registry
                StructureRegistry<TreeSPath> registry = new TreeSRegistry();
-               project.addReference(SlcAntConstants.REF_STRUCTURE_REGISTRY, registry);
+               project.addReference(AntConstants.REF_STRUCTURE_REGISTRY, registry);
 
                // Lowest levels
                StringTokenizer st = new StringTokenizer(scriptRelativePath, "/");
@@ -333,7 +334,7 @@ public class AntSlcApplication {
                                .getDescription() : projectPath.getName();
 
                registry.register(projectPath, new SimpleSElement(projectDesc));
-               project.addReference(SlcAntConstants.REF_PROJECT_PATH, projectPath);
+               project.addReference(AntConstants.REF_PROJECT_PATH, projectPath);
 
                if (log.isDebugEnabled())
                        log.debug("Project path: " + projectPath);
@@ -359,7 +360,7 @@ public class AntSlcApplication {
                                        projectHelper);
                        projectHelper.parse(project, script.getURL());
                } catch (Exception e) {
-                       throw new SlcAntException("Could not parse project for script "
+                       throw new SlcException("Could not parse project for script "
                                        + scriptRelativePath, e);
                }
 
@@ -376,7 +377,7 @@ public class AntSlcApplication {
                        }
                } catch (Throwable e) {
                        exception = e;
-                       throw new SlcAntException("SLC Ant execution failed", exception);
+                       throw new SlcException("SLC Ant execution failed", exception);
                } finally {
                        p.fireBuildFinished(exception);
                }
@@ -398,7 +399,7 @@ public class AntSlcApplication {
                this.workDir = workDir;
        }
 
-       public void setParentContext(ApplicationContext runtimeContext) {
+       public void setParentContext(ConfigurableApplicationContext runtimeContext) {
                this.parentContext = runtimeContext;
        }