]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Clean old ant runtime
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 16 Jun 2009 08:24:10 +0000 (08:24 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 16 Jun 2009 08:24:10 +0000 (08:24 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2554 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

38 files changed:
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntConstants.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntExecutionContext.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntRunner.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcApplication.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcRuntime.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcManagerTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/package.html [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/package.html [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/ListArg.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/MapArg.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringArg.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringRegister.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/package.html [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/package.html [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/ParentContextType.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/package.html [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/AntSlcApplicationTestCase.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/MinimalAntClasspathTestCase.java [deleted file]
runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/defaultAppLog4j.properties [deleted file]
runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/taskdefs.properties [deleted file]
runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/typedefs.properties [deleted file]
runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/DummyObject.java [deleted file]
runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/OverrideTest.java [deleted file]
runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/SlcAntTest.java [deleted file]
runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/acOverride.xml [deleted file]
runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/applicationContext.xml [deleted file]
runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/build.xml [deleted file]
runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/buildOverride.xml [deleted file]
runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/nonDepContext.xml [deleted file]

diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntConstants.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntConstants.java
deleted file mode 100644 (file)
index f89742d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.argeo.slc.ant;
-
-public interface AntConstants {
-       // ANT
-       /** The Ant reference to the Spring application context used. */
-       public static final String REF_ROOT_CONTEXT = "slcApplicationContext";
-       /** The Ant reference to the SLC structure registry used. */
-       public static final String REF_STRUCTURE_REGISTRY = "slcStructureRegistry";
-       /** The Ant reference to the <code>TreePath</code> of the current project */
-       public static final String REF_PROJECT_PATH = "slcProjectPath";
-       /**
-        * Resource path to the property file listing the SLC specific Ant tasks:
-        * /org/argeo/slc/ant/taskdefs.properties
-        */
-       public static final String SLC_TASKDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/taskdefs.properties";
-       /**
-        * Resource path to the property file listing the SLC specific Ant types:
-        * /org/argeo/slc/ant/typedefs.properties
-        */
-       public static final String SLC_TYPEDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/typedefs.properties";
-       public static final String REF_SLC_EXECUTION = "slcExecution";
-
-       // SLC EXECUTION
-       public static final String EXECTYPE_ANT = "org.apache.tools.ant";
-       public static final String EXECTYPE_SLC_ANT = "org.argeo.slc.ant";
-
-       public final static String EXECATTR_RUNTIME = "slc.runtime";
-       public final static String EXECATTR_ANT_FILE = "ant.file";
-       public final static String EXECATTR_ANT_TARGETS = "ant.targets";
-
-       // PROPERTIES
-       /** Property for the root dir (SLC root property file). */
-       public final static String ROOT_DIR_PROPERTY = "slc.rootDir";
-       /** Property for the conf dir (SLC root property file). */
-       public final static String CONF_DIR_PROPERTY = "slc.confDir";
-       /** Property for the work dir (SLC root property file). */
-       public final static String WORK_DIR_PROPERTY = "slc.workDir";
-       /** Name of the Spring bean used by default */
-       public final static String DEFAULT_TEST_RUN_PROPERTY = "slc.defaultTestRun";
-
-       /** Property for the runtime to use. */
-       public final static String RUNTIME_PROPERTY = "slc.runtime";
-
-       // LOG4J
-       public final static String MDC_ANT_PROJECT = "slc.ant.project";
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntExecutionContext.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntExecutionContext.java
deleted file mode 100644 (file)
index 8b1b47e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.argeo.slc.ant;
-
-import org.apache.tools.ant.Project;
-import org.argeo.slc.process.SlcExecution;
-import org.argeo.slc.runtime.SlcExecutionContext;
-import org.springframework.context.ApplicationContext;
-
-public class AntExecutionContext implements SlcExecutionContext {
-       private final Project project;
-
-       public AntExecutionContext(Project project) {
-               this.project = project;
-       }
-
-       public <T> T getBean(String name) {
-               ApplicationContext context = (ApplicationContext) project
-                               .getReference(AntConstants.REF_ROOT_CONTEXT);
-               return (T) context.getBean(name);
-       }
-
-       public <T> T getAntRef(String antId) {
-               return (T) project.getReference(antId);
-       }
-
-       public SlcExecution getSlcExecution() {
-               return (SlcExecution) project
-                               .getReference(AntConstants.REF_SLC_EXECUTION);
-       }
-
-       public Project getProject() {
-               return project;
-       }
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntRunner.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntRunner.java
deleted file mode 100644 (file)
index 2791fe6..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.argeo.slc.ant;\r
-\r
-import java.io.File;\r
-import java.net.URL;\r
-import java.util.Arrays;\r
-import java.util.Map;\r
-import java.util.Properties;\r
-import java.util.Vector;\r
-\r
-import org.apache.tools.ant.Project;\r
-import org.apache.tools.ant.ProjectHelper;\r
-import org.apache.tools.ant.helper.ProjectHelper2;\r
-import org.argeo.slc.SlcException;\r
-\r
-/** Run regular Ant script (that is, not SLC instrumented) */\r
-public class AntRunner {\r
-       private URL buildFile;\r
-       private String[] targets;\r
-       private Properties properties;\r
-\r
-       public AntRunner() {\r
-\r
-       }\r
-\r
-       public AntRunner(URL buildFile, String target, Properties properties) {\r
-               this(buildFile, new String[] { target }, properties);\r
-       }\r
-\r
-       public AntRunner(URL buildFile, String[] targets, Properties properties) {\r
-               this.buildFile = buildFile;\r
-               this.targets = targets;\r
-               this.properties = properties;\r
-       }\r
-\r
-       public void run() {\r
-               Project p = new Project();\r
-\r
-               String path = buildFile.getFile();\r
-               p.setUserProperty("ant.file", path);\r
-               p.setBaseDir(extractBaseDir(path));\r
-\r
-               p.init();\r
-               ProjectHelper projectHelper = new ProjectHelper2();\r
-               p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, projectHelper);\r
-               projectHelper.parse(p, buildFile);\r
-\r
-               if (properties != null) {\r
-                       for (Map.Entry<Object, Object> entry : properties.entrySet()) {\r
-                               p.setUserProperty(entry.getKey().toString(), entry.getValue()\r
-                                               .toString());\r
-                       }\r
-               }\r
-\r
-               p.fireBuildStarted();\r
-               Throwable exception = null;\r
-               try {\r
-                       if (targets == null) {\r
-                               p.executeTarget(p.getDefaultTarget());\r
-                       } else {\r
-                               p.executeTargets(new Vector<String>(Arrays.asList(targets)));\r
-                       }\r
-               } catch (Throwable e) {\r
-                       exception = e;\r
-                       throw new SlcException("Could not run Ant script " + buildFile, e);\r
-               } finally {\r
-                       p.fireBuildFinished(exception);\r
-               }\r
-\r
-       }\r
-\r
-       private File extractBaseDir(String path) {\r
-               String baseDir = null;\r
-               if (path.length() > 1) {\r
-                       int indx = path.lastIndexOf('/', path.length() - 1);\r
-                       if (indx == -1 || indx == 0) {\r
-                               baseDir = "/";\r
-                       } else {\r
-                               baseDir = path.substring(0, indx) + "/";\r
-                       }\r
-               } else {\r
-                       baseDir = "/";\r
-               }\r
-               File file = new File(baseDir);\r
-               if (file.exists()) {\r
-                       return file;\r
-               } else {\r
-                       return new File(System.getProperty("user.dir"));\r
-               }\r
-       }\r
-\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcApplication.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcApplication.java
deleted file mode 100644 (file)
index 0caa144..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-package org.argeo.slc.ant;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.log4j.Appender;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.MDC;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.helper.ProjectHelper2;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.core.structure.SimpleSElement;
-import org.argeo.slc.core.structure.tree.TreeSPath;
-import org.argeo.slc.core.structure.tree.TreeSRegistry;
-import org.argeo.slc.logging.Log4jUtils;
-import org.argeo.slc.process.SlcExecution;
-import org.argeo.slc.runtime.SlcApplication;
-import org.argeo.slc.runtime.SlcExecutionOutput;
-import org.argeo.slc.spring.SpringUtils;
-import org.argeo.slc.structure.StructureRegistry;
-import org.springframework.beans.factory.BeanFactoryUtils;
-import org.springframework.beans.factory.ListableBeanFactory;
-import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.ResourceLoader;
-import org.springframework.util.SystemPropertyUtils;
-
-public class AntSlcApplication implements SlcApplication<AntExecutionContext> {
-       private final static String DEFAULT_APP_LOG4J_PROPERTIES = "org/argeo/slc/ant/defaultAppLog4j.properties";
-
-       private final static Log log = LogFactory.getLog(AntSlcApplication.class);
-
-       private Resource contextLocation;
-       private ConfigurableApplicationContext parentContext;
-
-       private Resource rootDir;
-       private Resource confDir;
-       private File workDir;
-
-       private Resource slcRootFile;
-
-       public void execute(SlcExecution slcExecution, Properties properties,
-                       Map<String, Object> references,
-                       SlcExecutionOutput<AntExecutionContext> executionOutput) {
-
-               // Properties and application logging initialization
-               initSystemProperties(properties);
-               Log4jUtils.initLog4j("classpath:" + DEFAULT_APP_LOG4J_PROPERTIES);
-
-               log.info("\n###\n### Start SLC execution " + slcExecution.getUuid()
-                               + "\n###\n");
-               if (log.isDebugEnabled()) {
-                       log.debug("rootDir=" + rootDir);
-                       log.debug("confDir=" + confDir);
-                       log.debug("workDir=" + workDir);
-               }
-
-               // Ant coordinates
-               String scriptRelativePath = findAntScript(slcExecution);
-               List<String> targets = findAntTargets(slcExecution);
-
-               // Spring initialization
-               ConfigurableApplicationContext ctx = createExecutionContext(slcExecution);
-
-               // Ant project initialization
-               Project project = new Project();
-               AntExecutionContext executionContext = new AntExecutionContext(project);
-               project.addReference(AntConstants.REF_ROOT_CONTEXT, ctx);
-               project.addReference(AntConstants.REF_SLC_EXECUTION, slcExecution);
-
-               try {
-                       initProject(project, properties, references);
-                       parseProject(project, scriptRelativePath);
-
-                       // Execute project
-                       initStructure(project, scriptRelativePath);
-                       runProject(project, targets);
-
-                       if (executionOutput != null)
-                               executionOutput.postExecution(executionContext);
-               } finally {
-                       ctx.close();
-               }
-       }
-
-       protected void initSystemProperties(Properties userProperties) {
-               // Set user properties as system properties so that Spring can access
-               // them
-               if (userProperties != null) {
-                       for (Object key : userProperties.keySet()) {
-                               System.setProperty(key.toString(), userProperties
-                                               .getProperty(key.toString()));
-                       }
-               }
-
-               if (System.getProperty(AntConstants.DEFAULT_TEST_RUN_PROPERTY) == null) {
-                       System.setProperty(AntConstants.DEFAULT_TEST_RUN_PROPERTY,
-                                       "defaultTestRun");
-               }
-
-               try {
-                       if (rootDir != null)
-                               setSystemPropertyForRes(AntConstants.ROOT_DIR_PROPERTY, rootDir);
-                       if (confDir != null)
-                               setSystemPropertyForRes(AntConstants.CONF_DIR_PROPERTY, confDir);
-                       if (workDir != null)
-                               System.setProperty(AntConstants.WORK_DIR_PROPERTY, workDir
-                                               .getCanonicalPath());
-
-                       // Additional properties in slc.properties file. Already set sytem
-                       // properties (such as the various directories) can be resolved in
-                       // placeholders.
-                       if (confDir != null) {
-                               Resource slcPropertiesRes = confDir
-                                               .createRelative("slc.properties");
-                               if (slcPropertiesRes.exists()) {
-                                       Properties slcProperties = new Properties();
-                                       InputStream in = slcPropertiesRes.getInputStream();
-                                       try {
-                                               slcProperties.load(in);
-                                       } finally {
-                                               IOUtils.closeQuietly(in);
-                                       }
-
-                                       for (Object obj : slcProperties.keySet()) {
-                                               String key = obj.toString();
-                                               if (!System.getProperties().containsKey(key)) {
-                                                       String value = SystemPropertyUtils
-                                                                       .resolvePlaceholders(slcProperties
-                                                                                       .getProperty(key));
-                                                       System.setProperty(key, value);
-                                               }
-                                       }
-                               }
-                       }
-               } catch (Exception e) {
-                       throw new SlcException("Cannot init system properties.", e);
-               }
-       }
-
-       /**
-        * Set property as an absolute file path if the resource can be located on
-        * the file system, or as an url.
-        */
-       private void setSystemPropertyForRes(String key, Resource res)
-                       throws IOException {
-               String value = null;
-               try {
-                       value = res.getFile().getCanonicalPath();
-               } catch (IOException e) {
-                       value = res.getURL().toString();
-               }
-               System.setProperty(key, value);
-       }
-
-       protected ConfigurableApplicationContext createExecutionContext(
-                       SlcExecution slcExecution) {
-               try {
-
-                       // Find runtime definition
-                       Resource runtimeRes = null;
-                       String runtimeStr = slcExecution.getAttributes().get(
-                                       AntConstants.EXECATTR_RUNTIME);
-                       if (runtimeStr == null)
-                               runtimeStr = System.getProperty(AntConstants.RUNTIME_PROPERTY,
-                                               "default");
-
-                       ResourceLoader rl = new DefaultResourceLoader(getClass()
-                                       .getClassLoader());
-                       try {// tries absolute reference
-                               runtimeRes = rl.getResource(runtimeStr);
-                       } catch (Exception e) {
-                               // silent
-                       }
-                       if (runtimeRes == null || !runtimeRes.exists()) {
-                               if (confDir != null)
-                                       runtimeRes = confDir.createRelative("runtime/" + runtimeStr
-                                                       + ".xml");
-                       }
-
-                       // Find runtime independent application context definition
-                       if (confDir != null && contextLocation == null) {
-                               contextLocation = confDir
-                                               .createRelative("applicationContext.xml");
-                       }
-
-                       GenericApplicationContext ctx = new GenericApplicationContext(
-                                       parentContext);
-                       ctx.setDisplayName("SLC Execution #" + slcExecution.getUuid());
-
-                       XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
-                       if (runtimeRes != null && runtimeRes.exists())
-                               xmlReader.loadBeanDefinitions(runtimeRes);
-                       else
-                               log.warn("No runtime context defined");
-
-                       if (contextLocation != null && contextLocation.exists())
-                               xmlReader.loadBeanDefinitions(contextLocation);
-                       else
-                               log.warn("No runtime independent application context defined");
-
-                       // Add property place holder
-                       PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
-                       ppc.setIgnoreUnresolvablePlaceholders(true);
-                       ctx.addBeanFactoryPostProcessor(ppc);
-
-                       ctx.refresh();
-                       return ctx;
-               } catch (Exception e) {
-                       throw new SlcException(
-                                       "Cannot create SLC execution application context.", e);
-               }
-       }
-
-       protected String findAntScript(SlcExecution slcExecution) {
-               String scriptStr = slcExecution.getAttributes().get(
-                               AntConstants.EXECATTR_ANT_FILE);
-               if (scriptStr == null)
-                       throw new SlcException("No Ant script provided");
-
-               return scriptStr;
-       }
-
-       protected List<String> findAntTargets(SlcExecution slcExecution) {
-               String targetList = slcExecution.getAttributes().get(
-                               AntConstants.EXECATTR_ANT_TARGETS);
-               List<String> targets = new Vector<String>();
-               if (targetList != null) {
-                       StringTokenizer stTargets = new StringTokenizer(targetList, ",");
-                       while (stTargets.hasMoreTokens()) {
-                               targets.add(stTargets.nextToken());
-                       }
-               }
-               return targets;
-       }
-
-       protected void initProject(Project project, Properties properties,
-                       Map<String, Object> references) {
-               if (properties != null) {
-                       for (Map.Entry<Object, Object> entry : properties.entrySet()) {
-                               project.setUserProperty(entry.getKey().toString(), entry
-                                               .getValue().toString());
-                       }
-               }
-
-               if (references != null) {
-                       for (Map.Entry<String, Object> entry : references.entrySet()) {
-                               project.addReference(entry.getKey(), entry.getValue());
-                       }
-               }
-
-               // project.addBuildListener(new CommonsLoggingListener());
-
-               ListableBeanFactory context = (ListableBeanFactory) project
-                               .getReference(AntConstants.REF_ROOT_CONTEXT);
-               // Register build listeners
-               Map<String, BuildListener> listeners = BeanFactoryUtils
-                               .beansOfTypeIncludingAncestors(context, BuildListener.class,
-                                               false, false);
-               for (BuildListener listener : listeners.values()) {
-                       project.addBuildListener(listener);
-               }
-
-               // Register log4j appenders from context
-               MDC.put(AntConstants.MDC_ANT_PROJECT, project);
-               Map<String, Appender> appenders = context.getBeansOfType(
-                               Appender.class, false, true);
-               for (Appender appender : appenders.values()) {
-                       LogManager.getRootLogger().addAppender(appender);
-               }
-
-               project.init();
-               addCustomTaskAndTypes(project);
-       }
-
-       /** Loads the SLC specific Ant tasks. */
-       protected void addCustomTaskAndTypes(Project project) {
-               Properties taskdefs = getDefs(project,
-                               AntConstants.SLC_TASKDEFS_RESOURCE_PATH);
-               for (Object o : taskdefs.keySet()) {
-                       String name = o.toString();
-                       String className = taskdefs.getProperty(name);
-                       try {
-                               project.addTaskDefinition(name, Class.forName(className));
-                       } catch (ClassNotFoundException e) {
-                               log.warn("Unknown class " + className + " for task " + name);
-                       }
-               }
-               Properties typedefs = getDefs(project,
-                               AntConstants.SLC_TYPEDEFS_RESOURCE_PATH);
-               for (Object o : typedefs.keySet()) {
-                       String name = o.toString();
-                       try {
-                               project.addDataTypeDefinition(name, Class.forName(typedefs
-                                               .getProperty(name)));
-                       } catch (ClassNotFoundException e) {
-                               log.error("Unknown class for type " + name, e);
-                       }
-               }
-       }
-
-       private Properties getDefs(Project project, String path) {
-               Properties defs = new Properties();
-               try {
-                       InputStream in = project.getClass().getResourceAsStream(path);
-                       defs.load(in);
-                       in.close();
-               } catch (IOException e) {
-                       throw new SlcException("Cannot load task definitions", e);
-               }
-               return defs;
-       }
-
-       protected void initStructure(Project project, String scriptRelativePath) {
-               // Init structure registry
-               StructureRegistry<TreeSPath> registry = new TreeSRegistry();
-               project.addReference(AntConstants.REF_STRUCTURE_REGISTRY, registry);
-
-               // Lowest levels
-               StringTokenizer st = new StringTokenizer(scriptRelativePath, "/");
-               TreeSPath currPath = null;
-               while (st.hasMoreTokens()) {
-                       String name = st.nextToken();
-                       if (currPath == null) {
-                               currPath = TreeSPath.createRootPath(name);
-                       } else {
-                               if (st.hasMoreTokens())// don't register project file
-                                       currPath = currPath.createChild(name);
-                       }
-                       registry.register(currPath, new SimpleSElement(name));
-               }
-
-               // Project level
-               String projectName = project.getName() != null
-                               && !project.getName().equals("") ? project.getName()
-                               : "project";
-               TreeSPath projectPath = currPath.createChild(projectName);
-
-               String projectDesc = project.getDescription() != null
-                               && !project.getDescription().equals("") ? project
-                               .getDescription() : projectPath.getName();
-
-               registry.register(projectPath, new SimpleSElement(projectDesc));
-               project.addReference(AntConstants.REF_PROJECT_PATH, projectPath);
-
-               if (log.isDebugEnabled())
-                       log.debug("Project path: " + projectPath);
-       }
-
-       protected void parseProject(Project project, String scriptRelativePath) {
-               try {
-                       Resource script = rootDir.createRelative(scriptRelativePath);
-                       File baseDir = null;
-                       try {
-                               File scriptFile = script.getFile();
-                               baseDir = scriptFile.getParentFile();
-                       } catch (IOException e) {// resource is not a file
-                               baseDir = new File(System.getProperty("user.dir"));
-                       }
-                       project.setBaseDir(baseDir);
-                       // Reset basedir property, in order to avoid base dir override when
-                       // running in Maven
-                       project.setProperty("basedir", baseDir.getAbsolutePath());
-
-                       ProjectHelper2 projectHelper = new ProjectHelper2();
-                       project.addReference(ProjectHelper.PROJECTHELPER_REFERENCE,
-                                       projectHelper);
-                       projectHelper.parse(project, script.getURL());
-               } catch (Exception e) {
-                       throw new SlcException("Could not parse project for script "
-                                       + scriptRelativePath, e);
-               }
-
-       }
-
-       protected void runProject(Project p, List<String> targets) {
-               p.fireBuildStarted();
-               Throwable exception = null;
-               try {
-                       if (targets.size() == 0) {// no target defined
-                               p.executeTarget(p.getDefaultTarget());
-                       } else {
-                               p.executeTargets(new Vector<String>(targets));
-                       }
-               } catch (Throwable e) {
-                       exception = e;
-                       throw new SlcException("SLC Ant execution failed", exception);
-               } finally {
-                       p.fireBuildFinished(exception);
-               }
-       }
-
-       public void setContextLocation(Resource contextLocation) {
-               this.contextLocation = contextLocation;
-       }
-
-       public void setRootDir(Resource rootDir) {
-               this.rootDir = rootDir;
-       }
-
-       public void setConfDir(Resource confDir) {
-               this.confDir = confDir;
-       }
-
-       public void setWorkDir(File workDir) {
-               this.workDir = workDir;
-       }
-
-       public void setParentContext(ConfigurableApplicationContext runtimeContext) {
-               this.parentContext = runtimeContext;
-       }
-
-       public void setSlcRootFile(Resource slcRootFile) {
-               this.slcRootFile = slcRootFile;
-       }
-
-       /**
-        * Init all directories based on the SLC root file. TODO: don't override
-        * already specified dirs.
-        */
-       public void initFromSlcRootFile() {
-               // AntSlcApplication application = new AntSlcApplication();
-               InputStream inRootFile = null;
-               try {
-                       // Remove basedir property in order to avoid conflict with Maven
-                       // if (all.containsKey("basedir"))
-                       // all.remove("basedir");
-
-                       inRootFile = slcRootFile.getInputStream();
-                       Properties rootProps = loadFile(inRootFile);
-
-                       Resource confDir = null;
-                       File workDir = null;
-                       // Root dir
-                       final Resource rootDir = SpringUtils.getParent(slcRootFile);
-
-                       // Conf dir
-                       String confDirStr = rootProps
-                                       .getProperty(AntConstants.CONF_DIR_PROPERTY);
-                       if (confDirStr != null)
-                               confDir = new DefaultResourceLoader(getClass().getClassLoader())
-                                               .getResource(confDirStr);
-
-                       if (confDir == null || !confDir.exists()) {
-                               // confDir = rootDir.createRelative("../conf");
-                               confDir = SpringUtils.getParent(rootDir)
-                                               .createRelative("conf/");
-                       }
-
-                       // Work dir
-                       String workDirStr = rootProps
-                                       .getProperty(AntConstants.WORK_DIR_PROPERTY);
-                       if (workDirStr != null) {
-                               workDir = new File(workDirStr);
-                       }
-
-                       if (workDir == null || !workDir.exists()) {
-                               try {
-                                       File rootDirAsFile = rootDir.getFile();
-                                       workDir = new File(rootDirAsFile.getParent()
-                                                       + File.separator + "work").getCanonicalFile();
-                               } catch (IOException e) {
-                                       workDir = new File(System.getProperty("java.io.tmpdir")
-                                                       + File.separator + "slcExecutions" + File.separator
-                                                       + slcRootFile.getURL().getPath());
-                                       log.debug("Root dir is not a file: " + e.getMessage()
-                                                       + ", creating work dir in temp: " + workDir);
-                               }
-                               workDir.mkdirs();
-                       }
-
-                       setConfDir(confDir);
-                       setRootDir(rootDir);
-                       setWorkDir(workDir);
-
-                       if (log.isDebugEnabled())
-                               log.debug("Ant SLC application initialized based on root file "
-                                               + slcRootFile);
-               } catch (IOException e) {
-                       throw new SlcException(
-                                       "Could not prepare SLC application for root file "
-                                                       + slcRootFile, e);
-               } finally {
-                       IOUtils.closeQuietly(inRootFile);
-               }
-       }
-
-       /** Loads the content of a file as <code>Properties</code>. */
-       private Properties loadFile(InputStream in) {
-               Properties p = new Properties();
-               try {
-                       p.load(in);
-               } catch (IOException e) {
-                       throw new SlcException("Cannot read SLC root file", e);
-               }
-               return p;
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcRuntime.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/AntSlcRuntime.java
deleted file mode 100644 (file)
index d70b800..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.argeo.slc.ant;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Map;
-import java.util.Properties;
-import java.util.UUID;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.process.SlcExecution;
-import org.argeo.slc.runtime.SlcExecutionOutput;
-import org.argeo.slc.runtime.SlcRuntime;
-import org.argeo.slc.spring.SpringUtils;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.FileSystemResource;
-import org.springframework.core.io.Resource;
-
-public class AntSlcRuntime implements SlcRuntime<AntExecutionContext> {
-       private final static Log log = LogFactory.getLog(AntSlcRuntime.class);
-
-       public final static String SLC_ROOT_FILE_NAME = "slcRoot.properties";
-
-       /**
-        * Simplified execution with default runtime, default target, and no
-        * properties/reference arguments.
-        * 
-        * @param script
-        *            path to the script
-        * @param executionOutput
-        *            output
-        * 
-        * @see #executeScript(String, String, String, Properties, Map,
-        *      SlcExecutionOutput)
-        */
-       public void executeScript(String script,
-                       SlcExecutionOutput<AntExecutionContext> executionOutput) {
-               executeScript(null, script, null, null, null, executionOutput);
-       }
-
-       /**
-        * Simplified execution with default runtime, and no properties/reference
-        * arguments.
-        * 
-        * @param script
-        *            path to the script
-        * @param targets
-        *            comma separated list of targets
-        * @param executionOutput
-        *            output
-        * @see #executeScript(String, String, String, Properties, Map,
-        *      SlcExecutionOutput)
-        */
-       public void executeScript(String script, String targets,
-                       SlcExecutionOutput<AntExecutionContext> executionOutput) {
-               executeScript(null, script, targets, null, null, executionOutput);
-       }
-
-       public void executeScript(String runtime, String script, String targets,
-                       Properties properties, Map<String, Object> references,
-                       SlcExecutionOutput<AntExecutionContext> executionOutput) {
-
-               Resource scriptRes = findScript(script);
-               Resource slcRootFile = findSlcRootFile(scriptRes);
-               if (slcRootFile == null)
-                       throw new SlcException(
-                                       "Could not find any SLC root file, "
-                                                       + "please configure one at the root of your scripts hierarchy.");
-
-               // Create SlcExecution from arguments
-               SlcExecution slcExecution = createSlcExecution(runtime, slcRootFile,
-                               scriptRes, targets);
-
-               // Init application
-               AntSlcApplication application = new AntSlcApplication();
-               application.setSlcRootFile(slcRootFile);
-               application.initFromSlcRootFile();
-
-               // Execute test
-               application.execute(slcExecution, properties, references,
-                               executionOutput);
-       }
-
-       protected Resource findScript(String scriptStr) {
-               Resource scriptRes;
-               if (new File(scriptStr).exists()) {
-                       scriptRes = new FileSystemResource(scriptStr);
-               } else {
-                       scriptRes = new DefaultResourceLoader(Thread.currentThread()
-                                       .getContextClassLoader()).getResource(scriptStr);
-               }
-               return scriptRes;
-       }
-
-       protected SlcExecution createSlcExecution(String runtimeStr,
-                       Resource slcRootFile, Resource script, String targets) {
-               SlcExecution slcExecution = new SlcExecution();
-               slcExecution.setUuid(UUID.randomUUID().toString());
-               try {
-                       slcExecution.setHost(InetAddress.getLocalHost().getHostName());
-               } catch (UnknownHostException e) {
-                       slcExecution.setHost(SlcExecution.UNKOWN_HOST);
-               }
-
-               slcExecution.setType(AntConstants.EXECTYPE_SLC_ANT);
-
-               slcExecution.setUser(System.getProperty("user.name"));
-
-               if (runtimeStr != null)
-                       slcExecution.getAttributes().put(AntConstants.EXECATTR_RUNTIME,
-                                       runtimeStr);
-               String scriptRelativePath = SpringUtils.extractRelativePath(SpringUtils
-                               .getParent(slcRootFile), script);
-
-               slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_FILE,
-                               scriptRelativePath);
-               if (targets != null)
-                       slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_TARGETS,
-                                       targets);
-
-               slcExecution.setStatus(SlcExecution.STATUS_SCHEDULED);
-               return slcExecution;
-       }
-
-       /**
-        * Recursively scans directories downwards until it find a file name as
-        * defined by {@link #SLC_ROOT_FILE_NAME}.
-        */
-       protected Resource findSlcRootFile(Resource currDir) {
-               if (log.isTraceEnabled())
-                       log.trace("Look for SLC root file in " + currDir);
-
-               try {
-                       Resource slcRootFile = currDir.createRelative(SLC_ROOT_FILE_NAME);
-                       if (slcRootFile.exists()) {
-                               if (log.isDebugEnabled())
-                                       log.debug("Found SLC root file: " + slcRootFile);
-                               return slcRootFile;
-                       } else {
-                               String currPath = currDir.getURL().getPath();
-                               if (currPath.equals("/") || currPath.equals("")) {
-                                       return null;
-                               } else {
-                                       return findSlcRootFile(SpringUtils.getParent(currDir));
-                               }
-                       }
-               } catch (IOException e) {
-                       throw new SlcException("Problem when looking in SLC root file in "
-                                       + currDir, e);
-               }
-       }
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java
deleted file mode 100644 (file)
index 43b247c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.argeo.slc.ant;
-
-import java.util.StringTokenizer;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tools.ant.util.FileNameMapper;
-
-public class RemoveRootDirMapper implements FileNameMapper {
-       private Log log = LogFactory.getLog(RemoveRootDirMapper.class);
-       private String to = "enabled";
-
-       public String[] mapFileName(String sourceFileName) {
-               StringTokenizer st = new StringTokenizer(sourceFileName, "/");
-               boolean first = true;
-               boolean skipRoot = !to.equals("disabled");
-               StringBuffer buf = new StringBuffer("");
-               while (st.hasMoreTokens()) {
-                       if (first && skipRoot) { // skip
-                               st.nextToken();
-                               first = false;
-                       } else {
-                               buf.append(st.nextToken()).append('/');
-                       }
-               }
-
-               if (log.isTraceEnabled()) {
-                       log.trace("Source: " + sourceFileName + " - out: " + buf);
-               }
-               return new String[] { buf.toString() };
-       }
-
-       public void setFrom(String from) {
-       }
-
-       public void setTo(String to) {
-               this.to = to;
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java
deleted file mode 100644 (file)
index d8c5565..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.argeo.slc.ant;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.log4j.AppenderSkeleton;\r
-import org.apache.log4j.Level;\r
-import org.apache.log4j.MDC;\r
-import org.apache.log4j.spi.LoggingEvent;\r
-import org.apache.tools.ant.BuildEvent;\r
-import org.apache.tools.ant.BuildListener;\r
-import org.apache.tools.ant.Project;\r
-import org.argeo.slc.SlcException;\r
-import org.argeo.slc.process.SlcExecution;\r
-import org.argeo.slc.process.SlcExecutionNotifier;\r
-import org.argeo.slc.process.SlcExecutionStep;\r
-\r
-public class SlcExecutionBuildListener extends AppenderSkeleton implements\r
-               BuildListener {\r
-       private List<SlcExecutionNotifier> notifiers = new Vector<SlcExecutionNotifier>();\r
-\r
-       private boolean currentStepNotified = true;\r
-\r
-       // CUSTOMIZATIONS\r
-       /**\r
-        * Whether to log Ant initialization stuff before the first target has been\r
-        * called.\r
-        */\r
-       private boolean logBeforeFirstTarget = false;\r
-       /** Whether the first target has been called. */\r
-       private boolean firstTargetStarted = false;\r
-\r
-       private boolean logTaskStartFinish = true;\r
-\r
-       public SlcExecutionBuildListener() {\r
-               // Default log level\r
-               setThreshold(Level.INFO);\r
-       }\r
-\r
-       public void buildStarted(BuildEvent event) {\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               for (SlcExecutionNotifier notifier : notifiers) {\r
-                       notifier.newExecution(slcExecution);\r
-               }\r
-       }\r
-\r
-       public void buildFinished(BuildEvent event) {\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               String oldStatus = slcExecution.getStatus();\r
-               slcExecution.setStatus(SlcExecution.STATUS_FINISHED);\r
-\r
-               for (SlcExecutionNotifier notifier : notifiers) {\r
-                       notifier.updateStatus(slcExecution, oldStatus, slcExecution\r
-                                       .getStatus());\r
-               }\r
-       }\r
-\r
-       public void messageLogged(BuildEvent event) {\r
-               if (!shouldLog())\r
-                       return;\r
-\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               if (slcExecution != null) {\r
-                       if (currentStepNotified) {\r
-                               slcExecution.getSteps().add(\r
-                                               new SlcExecutionStep(event.getMessage()));\r
-                               notifyStep(slcExecution, slcExecution.currentStep());\r
-                               currentStepNotified = true;\r
-                       } else {\r
-                               slcExecution.currentStep().addLog(event.getMessage());\r
-                       }\r
-               } else {\r
-                       // TODO: log before initialization?\r
-               }\r
-       }\r
-\r
-       public void targetStarted(BuildEvent event) {\r
-               if (!firstTargetStarted)\r
-                       firstTargetStarted = true;\r
-\r
-               addLogStep(event, "Target " + event.getTarget().getName() + " started");\r
-       }\r
-\r
-       public void targetFinished(BuildEvent event) {\r
-               addLogStep(event, "Target " + event.getTarget().getName() + " finished");\r
-       }\r
-\r
-       public void taskStarted(BuildEvent event) {\r
-               if (!shouldLog())\r
-                       return;\r
-\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               if (!currentStepNotified) {\r
-                       notifyStep(slcExecution, slcExecution.currentStep());\r
-                       currentStepNotified = true;\r
-               }\r
-\r
-               String msg = null;\r
-               if (logTaskStartFinish)\r
-                       msg = "Task " + event.getTask().getTaskName() + " started";\r
-\r
-               slcExecution.getSteps().add(new SlcExecutionStep(msg));\r
-\r
-               currentStepNotified = false;\r
-       }\r
-\r
-       public void taskFinished(BuildEvent event) {\r
-               if (!shouldLog())\r
-                       return;\r
-\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               if (!currentStepNotified) {\r
-\r
-                       if (logTaskStartFinish)\r
-                               slcExecution.currentStep().addLog(\r
-                                               "Task " + event.getTask().getTaskName() + " finished");\r
-\r
-                       notifyStep(slcExecution, slcExecution.currentStep());\r
-                       currentStepNotified = true;\r
-               }\r
-       }\r
-\r
-       public void setNotifiers(List<SlcExecutionNotifier> notifiers) {\r
-               this.notifiers = notifiers;\r
-       }\r
-\r
-       protected SlcExecution getSlcExecution(BuildEvent event) {\r
-               return getSlcExecution(event.getProject());\r
-       }\r
-\r
-       protected SlcExecution getSlcExecution(Project project) {\r
-               SlcExecution slcExecution = (SlcExecution) project\r
-                               .getReference(AntConstants.REF_SLC_EXECUTION);\r
-\r
-               if (slcExecution == null)\r
-                       throw new SlcException("No SLC Execution registered.");\r
-               return slcExecution;\r
-       }\r
-\r
-       protected void addLogStep(BuildEvent event, String msg) {\r
-               SlcExecution slcExecution = getSlcExecution(event);\r
-               slcExecution.getSteps().add(new SlcExecutionStep(msg));\r
-\r
-               notifyStep(slcExecution, slcExecution.currentStep());\r
-               currentStepNotified = true;\r
-       }\r
-\r
-       protected void notifyStep(SlcExecution slcExecution, SlcExecutionStep step) {\r
-               Vector<SlcExecutionStep> additionalSteps = new Vector<SlcExecutionStep>();\r
-               additionalSteps.add(step);\r
-               notifySteps(slcExecution, additionalSteps);\r
-       }\r
-\r
-       protected void notifySteps(SlcExecution slcExecution,\r
-                       List<SlcExecutionStep> additionalSteps) {\r
-               for (SlcExecutionNotifier notifier : notifiers) {\r
-                       notifier.addSteps(slcExecution, additionalSteps);\r
-               }\r
-       }\r
-\r
-       /* Log4j methods */\r
-\r
-       @Override\r
-       protected void append(LoggingEvent event) {\r
-               Project project = (Project) MDC.get(AntConstants.MDC_ANT_PROJECT);\r
-               if (project == null) {\r
-                       // TODO: find a way to notify it\r
-                       //System.err.println("No Ant project registered in Log4j MDC.");\r
-               } else {\r
-                       SlcExecution slcExecution = getSlcExecution(project);\r
-                       if (currentStepNotified) {\r
-                               slcExecution.getSteps().add(\r
-                                               new SlcExecutionStep(event.getMessage().toString()));\r
-                               currentStepNotified = false;\r
-                       } else {\r
-                               slcExecution.currentStep()\r
-                                               .addLog(event.getMessage().toString());\r
-                       }\r
-               }\r
-       }\r
-\r
-       protected boolean shouldLog() {\r
-               return logBeforeFirstTarget || firstTargetStarted;\r
-       }\r
-\r
-       public void close() {\r
-       }\r
-\r
-       public boolean requiresLayout() {\r
-               return false;\r
-       }\r
-\r
-       public void setLogBeforeFirstTarget(boolean logBeforeFirstTarget) {\r
-               this.logBeforeFirstTarget = logBeforeFirstTarget;\r
-       }\r
-\r
-       public void setLogTaskStartFinish(boolean logTaskStartFinish) {\r
-               this.logTaskStartFinish = logTaskStartFinish;\r
-       }\r
-\r
-       public void setLogLevel(String logLevel) {\r
-               setThreshold(Level.toLevel(logLevel));\r
-       }\r
-\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java
deleted file mode 100644 (file)
index 4bfd675..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.argeo.slc.ant.deploy;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.apache.tools.ant.BuildException;\r
-import org.argeo.slc.ant.spring.SpringArg;\r
-import org.argeo.slc.ant.structure.SAwareTask;\r
-import org.argeo.slc.build.Distribution;\r
-import org.argeo.slc.deploy.Deployment;\r
-import org.argeo.slc.deploy.DeploymentData;\r
-import org.argeo.slc.deploy.TargetData;\r
-\r
-/** Ant task wrapping a deployment. */\r
-public class SlcDeployTask extends SAwareTask {\r
-       private Log log = LogFactory.getLog(SlcDeployTask.class);\r
-\r
-       private String deploymentBean = null;\r
-\r
-       private SpringArg<DeploymentData> deploymentDataArg;\r
-       private SpringArg<TargetData> targetDataArg;\r
-       private SpringArg<Distribution> distributionArg;\r
-\r
-       @Override\r
-       public void executeActions(String mode) throws BuildException {\r
-               Deployment deployment = (Deployment) getContext().getBean(\r
-                               deploymentBean);\r
-\r
-               // set overridden references\r
-               if (distributionArg != null) {\r
-                       deployment.setDistribution(distributionArg.getInstance());\r
-                       log.trace("Overrides distribution");\r
-               }\r
-\r
-               if (deploymentDataArg != null) {\r
-                       deployment.setDeploymentData(deploymentDataArg.getInstance());\r
-                       log.trace("Overrides deployment data");\r
-               }\r
-\r
-               if (targetDataArg != null) {\r
-                       deployment.setTargetData(targetDataArg.getInstance());\r
-                       log.trace("Overrides target data");\r
-               }\r
-\r
-               deployment.run();\r
-       }\r
-\r
-       /**\r
-        * The bean name of the test run to use. If not set the default is used.\r
-        * \r
-        * @see SlcAntConfig\r
-        */\r
-       public void setDeployment(String deploymentBean) {\r
-               this.deploymentBean = deploymentBean;\r
-       }\r
-\r
-       /** Creates deployment data sub tag. */\r
-       public SpringArg<DeploymentData> createDeploymentData() {\r
-               deploymentDataArg = new SpringArg<DeploymentData>();\r
-               return deploymentDataArg;\r
-       }\r
-\r
-       /** Creates target data sub tag. */\r
-       public SpringArg<TargetData> createTargetData() {\r
-               targetDataArg = new SpringArg<TargetData>();\r
-               return targetDataArg;\r
-       }\r
-\r
-       public SpringArg<Distribution> createDistribution() {\r
-               distributionArg = new SpringArg<Distribution>();\r
-               return distributionArg;\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcManagerTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/SlcManagerTask.java
deleted file mode 100644 (file)
index 36f5cbb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.argeo.slc.ant.deploy;
-
-import java.lang.reflect.Method;
-
-import org.argeo.slc.SlcException;
-import org.argeo.slc.ant.structure.SAwareTask;
-import org.argeo.slc.deploy.DeployedSystem;
-import org.argeo.slc.deploy.DeployedSystemManager;
-
-public class SlcManagerTask extends SAwareTask {
-       private String action;
-       private String manager;
-
-       @Override
-       protected void executeActions(String mode) {
-               DeployedSystemManager<DeployedSystem> systemManager = getBean(manager);
-
-               try {
-                       Method method = systemManager.getClass().getMethod(action, null);
-                       method.invoke(systemManager, null);
-               } catch (Exception e) {
-                       throw new SlcException("Cannot execute action " + action
-                                       + " for manager " + manager, e);
-               }
-       }
-
-       public void setAction(String action) {
-               this.action = action;
-       }
-
-       public void setManager(String manager) {
-               this.manager = manager;
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/package.html b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/deploy/package.html
deleted file mode 100644 (file)
index 76582d1..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<head></head>\r
-<body>\r
-Integration of SLC Deploy in Ant.\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/package.html b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/package.html
deleted file mode 100644 (file)
index 9f36fb1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<html>\r
-<head></head>\r
-<body>\r
-Bases classes for SLC Ant extensions.\r
-<h2>Introduction</h2>\r
-SLC Ant allows to integrate Ant and Spring in order to run an\r
-application based on top of SLC. Sequence of actions are defined in Ant\r
-files with specific Ant tasks referencing Spring beans implementing the\r
-SLC interfaces. The properties of these beans can be overridden at\r
-runtime in the Ant scripts.\r
-<br />\r
-SLC Ant also provides a tree-based implementation of the SLC structure\r
-which allows to uniquely identify and reference the various actions.\r
-\r
-<h2>Installation</h2>\r
-The structure will be first defined by the directory tree where the Ant\r
-files are stored. In order to define the root of this tree, you need to\r
-place in the root directory an\r
-<b>SLC Ant root file</b>\r
-(default name: slcRoot.properties).\r
-<br />\r
-In this root file you can define a configuration directory and a work\r
-directory (default values are provided if they are not explicitly set).\r
-<br />\r
-Additional properties can then be defined in files stored under the\r
-configuration directory.\r
-<br />\r
-For details about the configuration and the various properties, please\r
-refer to {@link org.argeo.slc.ant.SlcAntConfig}.\r
-\r
-<h2>Running SLC Ant</h2>\r
-SLC Ant can be run either via pure Ant scripts or programmatically using\r
-{@link org.argeo.slc.ant.AntRegistryUtil}. In both cases, make sure that\r
-SLC and its dependencies are in the classpath (Spring (always), logging\r
-system such as log4j, Hibernate, etc.).\r
-\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java
deleted file mode 100644 (file)
index 8d851ce..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.argeo.slc.ant.spring;\r
-\r
-import org.springframework.context.ApplicationContext;\r
-\r
-import org.apache.tools.ant.Task;\r
-\r
-import org.argeo.slc.ant.AntConstants;\r
-import org.argeo.slc.process.SlcExecution;\r
-\r
-/** Abstract Ant task providing access to a Spring context. */\r
-public abstract class AbstractSpringTask extends Task {\r
-\r
-       /** Gets the related Spring context. */\r
-       protected ApplicationContext getContext() {\r
-               return (ApplicationContext) getProject().getReference(\r
-                               AntConstants.REF_ROOT_CONTEXT);\r
-       }\r
-\r
-       /** Gets the related slc execution or null if not is registered. */\r
-       protected SlcExecution getSlcExecution() {\r
-               return (SlcExecution) getProject().getReference(\r
-                               AntConstants.REF_SLC_EXECUTION);\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/ListArg.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/ListArg.java
deleted file mode 100644 (file)
index 582346a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.argeo.slc.ant.spring;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.argeo.slc.SlcException;
-
-/** List of overrides */
-public class ListArg {
-       private List<OverrideArg> list = new Vector<OverrideArg>();
-
-       /** Creates override sub tag. */
-       public OverrideArg createOverride() {
-               OverrideArg overrideArg = new OverrideArg();
-               list.add(overrideArg);
-               return overrideArg;
-       }
-
-       /** Gets as list of objects. */
-       public List<Object> getAsObjectList(List<Object> originalList) {
-               if (originalList != null && originalList.size() != list.size()) {
-                       throw new SlcException("Cannot merge lists of different sizes.");
-               }
-
-               List<Object> objectList = new Vector<Object>(list.size());
-
-               for (int i = 0; i < list.size(); i++) {
-                       OverrideArg arg = list.get(i);
-
-                       if (originalList != null)
-                               arg.setOriginal(originalList.get(i));
-
-                       objectList.add(arg.getObject());
-               }
-               return objectList;
-       }
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/MapArg.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/MapArg.java
deleted file mode 100644 (file)
index 185853c..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.argeo.slc.ant.spring;\r
-\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.TreeMap;\r
-import java.util.Vector;\r
-\r
-import org.apache.tools.ant.BuildException;\r
-\r
-import org.argeo.slc.SlcException;\r
-\r
-public class MapArg {\r
-       private List<EntryArg> entries = new Vector<EntryArg>();\r
-       private Map<String, Object> map = new TreeMap<String, Object>();\r
-\r
-       public EntryArg createEntry() {\r
-               EntryArg arg = new EntryArg();\r
-               entries.add(arg);\r
-               return arg;\r
-       }\r
-\r
-       public Map<String, Object> getAsObjectMap(Map<String, Object> originalMap) {\r
-               Map<String, Object> objectMap = new TreeMap<String, Object>();\r
-               for (EntryArg arg : entries) {\r
-                       String key = arg.getKey();\r
-\r
-                       if (objectMap.containsKey(key)) {\r
-                               throw new SlcException("Key '" + key + "' already set.");\r
-                       }\r
-\r
-                       if (originalMap != null && originalMap.containsKey(key)\r
-                                       && arg.getOverrideArg() != null)\r
-                               arg.getOverrideArg().setOriginal(originalMap.get(key));\r
-\r
-                       objectMap.put(key, arg.getObject());\r
-\r
-               }\r
-               return objectMap;\r
-       }\r
-\r
-       /**\r
-        * Returns a cached reference if it was already called. This reference could\r
-        * have been modified externally and thus not anymore be in line with the\r
-        * configuration.\r
-        */\r
-       public Map<String, Object> getMap() {\r
-               if (map.size() == 0)\r
-                       map = getAsObjectMap(null);\r
-               return map;\r
-       }\r
-\r
-       public static class EntryArg {\r
-               private String key;\r
-               private Object valueStr;\r
-               private OverrideArg overrideArg;\r
-\r
-               public String getKey() {\r
-                       return key;\r
-               }\r
-\r
-               public void setKey(String key) {\r
-                       this.key = key;\r
-               }\r
-\r
-               public Object getObject() {\r
-                       if (overrideArg != null) {\r
-                               return overrideArg.getObject();\r
-                       } else if (valueStr != null) {\r
-                               return valueStr;\r
-                       } else {\r
-                               throw new BuildException("Value not set.");\r
-                       }\r
-               }\r
-\r
-               public void setValue(String value) {\r
-                       check();\r
-                       this.valueStr = value;\r
-               }\r
-\r
-               public OverrideArg createOverride() {\r
-                       check();\r
-                       overrideArg = new OverrideArg();\r
-                       return overrideArg;\r
-               }\r
-\r
-               private void check() {\r
-                       if (valueStr != null || overrideArg != null) {\r
-                               throw new BuildException("Value already set");\r
-                       }\r
-               }\r
-\r
-               public OverrideArg getOverrideArg() {\r
-                       return overrideArg;\r
-               }\r
-\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java
deleted file mode 100644 (file)
index 645b592..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.argeo.slc.ant.spring;\r
-\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.apache.tools.ant.BuildException;\r
-\r
-/** Ant type allowing to override bean properties. */\r
-public class OverrideArg extends SpringArg<Object> {\r
-       private final static Log log = LogFactory.getLog(OverrideArg.class);\r
-\r
-       private String name;\r
-       private Object value;\r
-       private ListArg overrideList;\r
-       private MapArg overrideMap;\r
-\r
-       private Boolean merge = false;\r
-\r
-       /** The name of the property to override. */\r
-       public String getName() {\r
-               return name;\r
-       }\r
-\r
-       /** Sets the name. */\r
-       public void setName(String name) {\r
-               this.name = name;\r
-       }\r
-\r
-       /** Both value and bean cannot be set. */\r
-       public void setValue(String value) {\r
-               checkValueAlreadySet();\r
-               this.value = value;\r
-       }\r
-\r
-       @Override\r
-       public void setBean(String bean) {\r
-               checkValueAlreadySet();\r
-               super.setBean(bean);\r
-       }\r
-\r
-       /** Creates override list sub tag. */\r
-       public ListArg createList() {\r
-               checkValueAlreadySet();\r
-               overrideList = new ListArg();\r
-               return overrideList;\r
-       }\r
-\r
-       public MapArg createMap() {\r
-               checkValueAlreadySet();\r
-               overrideMap = new MapArg();\r
-               return overrideMap;\r
-       }\r
-\r
-       /**\r
-        * The related object: the value if a value had been set or an instance of\r
-        * the bean if not.\r
-        */\r
-       public Object getObject() {\r
-               if (value != null) {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Returns override object as value");\r
-                       return value;\r
-               } else if (getBean() != null\r
-                               || getAntref() != null\r
-                               // works on original if no collection is defined\r
-                               || (getOriginal() != null && overrideList == null && overrideMap == null)) {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Returns override object as instance");\r
-                       return getInstance();\r
-               } else if (overrideList != null) {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Returns override object as list");\r
-                       return overrideList.getAsObjectList((List<Object>) getOriginal());\r
-               } else if (overrideMap != null) {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Returns override object as map");\r
-                       return overrideMap\r
-                                       .getAsObjectMap((Map<String, Object>) getOriginal());\r
-               } else {\r
-                       throw new BuildException("Value or bean not set.");\r
-               }\r
-       }\r
-\r
-       protected void checkValueAlreadySet() {\r
-               super.checkValueAlreadySet();\r
-               if (value != null || overrideList != null || overrideMap != null) {\r
-                       if (!getMerge()) {\r
-                               throw new BuildException("Value already set.");\r
-                       }\r
-               }\r
-       }\r
-\r
-       public Boolean getMerge() {\r
-               return merge;\r
-       }\r
-\r
-       public void setMerge(Boolean merge) {\r
-               this.merge = merge;\r
-       }\r
-\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringArg.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringArg.java
deleted file mode 100644 (file)
index 3361805..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.argeo.slc.ant.spring;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.apache.tools.ant.types.DataType;\r
-import org.argeo.slc.SlcException;\r
-import org.argeo.slc.ant.AntConstants;\r
-import org.springframework.beans.BeanWrapper;\r
-import org.springframework.beans.BeanWrapperImpl;\r
-import org.springframework.beans.factory.InitializingBean;\r
-import org.springframework.context.ApplicationContext;\r
-\r
-/** Abstract Ant type wrapping a Spring bean. */\r
-public class SpringArg<T> extends DataType {\r
-       private final static Log log = LogFactory.getLog(SpringArg.class);\r
-\r
-       private List<OverrideArg> overrides = new Vector<OverrideArg>();\r
-\r
-       private String bean;\r
-       private String antref;\r
-       /**\r
-        * Reference to the original object, used to merge overrides. <b>this object\r
-        * will be modified</b>.\r
-        */\r
-       private T original;\r
-\r
-       // cache bean instance to avoid reading it twice if it is a prototype\r
-       private T instance = null;\r
-\r
-       /** The <u>name</u> of the underlying bean, as set through the attribute. */\r
-       public String getBean() {\r
-               return bean;\r
-       }\r
-\r
-       /** Setter for the bean name. */\r
-       public void setBean(String bean) {\r
-               checkValueAlreadySet();\r
-               this.bean = bean;\r
-       }\r
-\r
-       public String getAntref() {\r
-               return antref;\r
-       }\r
-\r
-       /** Sets a reference to an ant data type. */\r
-       public void setAntref(String antref) {\r
-               checkValueAlreadySet();\r
-               this.antref = antref;\r
-       }\r
-\r
-       /**\r
-        * Retrieve the instance of the bean, and sets the overridden properties.\r
-        * <b>The value is cached.</b>\r
-        */\r
-       public T getInstance() {\r
-               if (instance == null) {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Creates instance");\r
-\r
-                       if (bean != null) {\r
-                               instance = (T) getContext().getBean(bean);\r
-                               if (instance == null)\r
-                                       throw new SlcException("No object found for Spring bean "\r
-                                                       + bean);\r
-                       } else if (antref != null) {\r
-                               instance = (T) getProject().getReference(antref);\r
-                               if (instance == null)\r
-                                       throw new SlcException("No object found for Ant reference "\r
-                                                       + antref);\r
-                       } else if (original != null) {\r
-                               instance = original;\r
-                       } else {\r
-                               throw new SlcException(\r
-                                               "Don't know how to retrieve bean instance");\r
-                       }\r
-\r
-                       setOverridenProperties(instance);\r
-\r
-                       // FIXME: why are we doing this? Could not find any object using it\r
-                       if (instance instanceof InitializingBean) {\r
-                               try {\r
-                                       ((InitializingBean) instance).afterPropertiesSet();\r
-                               } catch (Exception e) {\r
-                                       throw new SlcException("Could not initialize bean", e);\r
-                               }\r
-                       }\r
-               } else {\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Returns cached instance");\r
-               }\r
-               return instance;\r
-       }\r
-\r
-       protected void setOverridenProperties(Object obj) {\r
-               BeanWrapper wrapper = new BeanWrapperImpl(obj);\r
-               for (OverrideArg override : overrides) {\r
-                       if (override.getName() == null) {\r
-                               throw new SlcException(\r
-                                               "The name of the property to override has to be set.");\r
-                       }\r
-\r
-                       if (log.isTraceEnabled())\r
-                               log.trace(this + "\t: Overrides property " + override.getName()\r
-                                               + " with " + override);\r
-\r
-                       if (override.getMerge() == true) {\r
-                               // if override is marked as merged retrieve the value and set is\r
-                               // as original\r
-                               override.setOriginal(wrapper.getPropertyValue(override\r
-                                               .getName()));\r
-                       }\r
-                       wrapper.setPropertyValue(override.getName(), override.getObject());\r
-               }\r
-\r
-       }\r
-\r
-       /** Creates an override subtag. */\r
-       public OverrideArg createOverride() {\r
-               OverrideArg propertyArg = new OverrideArg();\r
-               overrides.add(propertyArg);\r
-               return propertyArg;\r
-       }\r
-\r
-       /** The related Spring application context. */\r
-       protected ApplicationContext getContext() {\r
-               return (ApplicationContext) getProject().getReference(\r
-                               AntConstants.REF_ROOT_CONTEXT);\r
-       }\r
-\r
-       protected void checkValueAlreadySet() {\r
-               if (antref != null || bean != null || original != null) {\r
-                       throw new SlcException("Instance value already defined.");\r
-               }\r
-       }\r
-\r
-       public void setOriginal(T original) {\r
-               checkValueAlreadySet();\r
-               this.original = original;\r
-       }\r
-\r
-       public T getOriginal() {\r
-               return original;\r
-       }\r
-\r
-       @Override\r
-       public String toString() {\r
-               StringBuffer buf = new StringBuffer(getClass().getSimpleName());\r
-               if (bean != null) {\r
-                       buf.append("#bean=").append(bean);\r
-               } else if (antref != null) {\r
-                       buf.append("#antref=").append(antref);\r
-               } else if (original != null) {\r
-                       buf.append("#orig=").append(original.hashCode());\r
-               } else {\r
-                       buf.append("#noid");\r
-               }\r
-               buf.append("#").append(hashCode());\r
-               return buf.toString();\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringRegister.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/SpringRegister.java
deleted file mode 100644 (file)
index a7d88f2..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.argeo.slc.ant.spring;
-
-import java.util.List;
-import java.util.Vector;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.tools.ant.BuildException;
-
-public class SpringRegister extends AbstractSpringTask {
-       private static final Log log = LogFactory.getLog(SpringRegister.class);
-
-       private List<BeanArg> beans = new Vector<BeanArg>();
-
-       @Override
-       public void execute() throws BuildException {
-               for (BeanArg bean : beans) {
-                       Object instance = bean.getInstance();
-                       if (bean.getAntid() != null) {
-                               getProject().addReference(bean.getAntid(), instance);
-                       } else {
-                               if (bean.getAntref() != null) {
-                                       log
-                                                       .warn("Cannot register beans with antref (Ant reference "
-                                                                       + bean.getAntref() + ")");
-                               } else {
-                                       getProject().addReference(bean.getBean(), instance);
-                               }
-                       }
-               }
-       }
-
-       public BeanArg createObject() {
-               BeanArg bean = new BeanArg();
-               beans.add(bean);
-               return bean;
-       }
-
-       protected static class BeanArg extends SpringArg<Object> {
-               private String antid;
-
-               public String getAntid() {
-                       return antid;
-               }
-
-               public void setAntid(String antid) {
-                       this.antid = antid;
-               }
-
-       }
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/package.html b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/spring/package.html
deleted file mode 100644 (file)
index 6d141d9..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<head></head>\r
-<body>\r
-Integration of Spring in Ant.\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java
deleted file mode 100644 (file)
index 61a4ae9..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.argeo.slc.ant.structure;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.tools.ant.BuildException;\r
-import org.apache.tools.ant.Target;\r
-import org.argeo.slc.SlcException;\r
-import org.argeo.slc.ant.AntConstants;\r
-import org.argeo.slc.ant.spring.AbstractSpringTask;\r
-import org.argeo.slc.ant.spring.SpringArg;\r
-import org.argeo.slc.core.structure.SimpleSElement;\r
-import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.structure.StructureAware;\r
-import org.argeo.slc.structure.StructureElement;\r
-import org.argeo.slc.structure.StructureRegistry;\r
-\r
-/** Ant task that can be registered within a structure. */\r
-public abstract class SAwareTask extends AbstractSpringTask {\r
-       private String path;\r
-       private TreeSPath treeSPath;\r
-       private final List<SpringArg> sAwareArgs = new Vector<SpringArg>();\r
-\r
-       private StructureElementArg structureElementArg;\r
-\r
-       @Override\r
-       public void init() throws BuildException {\r
-               StructureRegistry<TreeSPath> registry = getRegistry();\r
-               Target target = getOwningTarget();\r
-\r
-               TreeSPath targetPath = createTargetPath(target);\r
-               SimpleSElement targetElement = (SimpleSElement) registry\r
-                               .getElement(createTargetPath(target));\r
-\r
-               if (targetElement == null) {\r
-                       targetElement = new SimpleSElement(target.getDescription(),\r
-                                       "<no target desc>");\r
-                       registry.register(targetPath, targetElement);\r
-               }\r
-       }\r
-\r
-       /**\r
-        * Includes this arg in the checks for propagation of structure related\r
-        * information.\r
-        */\r
-       protected void addSAwareArg(SpringArg arg) {\r
-               sAwareArgs.add(arg);\r
-       }\r
-\r
-       @Override\r
-       /**\r
-        * Called by Ant at runtime. Decides whether to call the actions depending\r
-        * of the mode of the underlying structure registry.\r
-        * \r
-        * @see #executeActions\r
-        * @see StructureRegistry\r
-        */\r
-       public final void execute() throws BuildException {\r
-               if (path == null) {\r
-                       // register the task in the structure\r
-                       TreeSPath targetPath = createTargetPath(getOwningTarget());\r
-                       TreeSPath taskPath = targetPath.createChild(getTaskName()\r
-                                       + targetPath.listChildren(getRegistry()).size());\r
-\r
-                       treeSPath = taskPath;\r
-               } else {\r
-                       treeSPath = new TreeSPath(path);\r
-               }\r
-\r
-               if (getRegistry().getElement(treeSPath) == null) {\r
-                       // No structure element registered.\r
-                       if (structureElementArg != null) {\r
-                               getRegistry().register(treeSPath,\r
-                                               structureElementArg.getStructureElement());\r
-                       } else {\r
-                               if (getDescription() != null) {\r
-                                       getRegistry().register(treeSPath,\r
-                                                       new SimpleSElement(getDescription()));\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // notify registered args\r
-               for (SpringArg arg : sAwareArgs) {\r
-                       Object obj = arg.getInstance();\r
-\r
-                       if (obj instanceof StructureAware) {\r
-                               StructureAware<TreeSPath> sAwareT = (StructureAware<TreeSPath>) obj;\r
-                               sAwareT.notifyCurrentPath(getRegistry(), treeSPath);\r
-                       }\r
-               }\r
-\r
-               // execute depending on the registry mode\r
-               String mode = getRegistry().getMode();\r
-               if (mode.equals(StructureRegistry.ALL)) {\r
-                       executeActions(mode);\r
-               } else if (mode.equals(StructureRegistry.ACTIVE)) {\r
-                       List<TreeSPath> activePaths = getRegistry().getActivePaths();\r
-\r
-                       if (activePaths.contains(treeSPath)) {\r
-                               if (activePaths.contains(treeSPath)) {\r
-                                       executeActions(mode);\r
-                               }\r
-                       }\r
-               }\r
-\r
-       }\r
-\r
-       /** Actions to be executed by the implementor. */\r
-       protected abstract void executeActions(String mode);\r
-\r
-       public <T> T getBean(String beanName) {\r
-               return (T) getContext().getBean(beanName);\r
-       }\r
-\r
-       /** Create a reference to an external structure element. */\r
-       public StructureElementArg createStructureElement() {\r
-               if (structureElementArg != null)\r
-                       throw new SlcException("Arg already set.");\r
-               structureElementArg = new StructureElementArg();\r
-               return structureElementArg;\r
-       }\r
-\r
-       /** Gets the underlying structure registry. */\r
-       protected StructureRegistry<TreeSPath> getRegistry() {\r
-               return (StructureRegistry<TreeSPath>) getProject().getReference(\r
-                               AntConstants.REF_STRUCTURE_REGISTRY);\r
-       }\r
-\r
-       /** Creates the treeSPath for a given Ant target. */\r
-       protected static TreeSPath createTargetPath(Target target) {\r
-               TreeSPath projectPath = (TreeSPath) target.getProject().getReference(\r
-                               AntConstants.REF_PROJECT_PATH);\r
-               return projectPath.createChild(target.getName());\r
-       }\r
-\r
-       /** Gets the treeSPath under which this task is registered. */\r
-       public TreeSPath getTreeSPath() {\r
-               return treeSPath;\r
-       }\r
-\r
-       public String getLabel() {\r
-               String description = super.getDescription();\r
-               if (description == null) {\r
-                       return "<no task def>";\r
-               } else {\r
-                       return description;\r
-               }\r
-       }\r
-\r
-       public void setPath(String path) {\r
-               this.path = path;\r
-       }\r
-}\r
-\r
-class StructureElementArg extends SpringArg {\r
-       public StructureElement getStructureElement() {\r
-               return (StructureElement) getInstance();\r
-       }\r
-}
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/package.html b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/structure/package.html
deleted file mode 100644 (file)
index 99e45d3..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<head></head>\r
-<body>\r
-Integration of SLC Structure in Ant.\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/ParentContextType.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/ParentContextType.java
deleted file mode 100644 (file)
index 83dd5a1..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-package org.argeo.slc.ant.test;\r
-\r
-import java.util.Collection;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Vector;\r
-\r
-import org.apache.tools.ant.types.DataType;\r
-\r
-import org.argeo.slc.SlcException;\r
-import org.argeo.slc.ant.spring.MapArg;\r
-import org.argeo.slc.core.test.context.ContextUtils;\r
-import org.argeo.slc.test.context.ContextAware;\r
-import org.argeo.slc.test.context.ParentContextAware;\r
-\r
-public class ParentContextType extends DataType implements ParentContextAware {\r
-       private MapArg values = null;\r
-       private MapArg expectedValues = null;\r
-\r
-       private String contextAnyFlag = DEFAULT_ANY_FLAG;\r
-       private String contextSkipFlag = DEFAULT_SKIP_FLAG;\r
-\r
-       private String basedon = null;\r
-\r
-       private List<ContextAware> children = new Vector<ContextAware>();\r
-\r
-       public MapArg createValues() {\r
-               values = new MapArg();\r
-               return values;\r
-       }\r
-\r
-       public MapArg createExpectedValues() {\r
-               expectedValues = new MapArg();\r
-               return expectedValues;\r
-       }\r
-\r
-       public void addChildContext(ContextAware contextAware) {\r
-               children.add(contextAware);\r
-       }\r
-\r
-       public Collection<ContextAware> getChildContexts() {\r
-               return children;\r
-       }\r
-\r
-       public String getContextAnyFlag() {\r
-               return contextAnyFlag;\r
-       }\r
-\r
-       public void setContextAnyFlag(String contextAnyFlag) {\r
-               this.contextAnyFlag = contextAnyFlag;\r
-       }\r
-\r
-       public String getContextSkipFlag() {\r
-               return contextSkipFlag;\r
-       }\r
-\r
-       public void setContextSkipFlag(String contextSkipFlag) {\r
-               this.contextSkipFlag = contextSkipFlag;\r
-       }\r
-\r
-       public Map<String, Object> getExpectedValues() {\r
-               if (expectedValues == null)\r
-                       expectedValues = new MapArg();\r
-               if (basedon != null) {\r
-                       Map<String, Object> map = getBaseContext().getExpectedValues();\r
-                       ContextUtils.putNotContained(expectedValues.getMap(), map);\r
-               }\r
-               return expectedValues.getMap();\r
-       }\r
-\r
-       public Map<String, Object> getValues() {\r
-               if (values == null)\r
-                       values = new MapArg();\r
-               if (basedon != null) {\r
-                       Map<String, Object> map = getBaseContext().getValues();\r
-                       ContextUtils.putNotContained(values.getMap(), map);\r
-               }\r
-               return values.getMap();\r
-       }\r
-\r
-       private ParentContextType getBaseContext() {\r
-               return (ParentContextType) getProject().getReference(basedon);\r
-       }\r
-\r
-       public void setValues(Map<String, Object> values) {\r
-               throw new SlcException("Cannot override values map.");\r
-       }\r
-\r
-       public void setUpdateValues(Map<String, Object> overrideValues) {\r
-               getValues().putAll(overrideValues);\r
-       }\r
-\r
-       public void setUpdateExpectedValues(\r
-                       Map<String, Object> overrideExpectedValues) {\r
-               getExpectedValues().putAll(overrideExpectedValues);\r
-       }\r
-\r
-       public void setBasedon(String basedon) {\r
-               this.basedon = basedon;\r
-       }\r
-\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java
deleted file mode 100644 (file)
index d8de25a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.argeo.slc.ant.test;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.argeo.slc.ant.spring.SpringArg;\r
-import org.argeo.slc.ant.structure.SAwareTask;\r
-import org.argeo.slc.structure.StructureRegistry;\r
-import org.argeo.slc.test.TestResult;\r
-\r
-/** Ant tasks closing a given result. */\r
-public class SlcCloseTestResultTask extends SAwareTask {\r
-       private final static Log log = LogFactory\r
-                       .getLog(SlcCloseTestResultTask.class);\r
-\r
-       public List<SpringArg<TestResult>> results = new Vector<SpringArg<TestResult>>();\r
-\r
-       @Override\r
-       public void executeActions(String mode) {\r
-               if (!mode.equals(StructureRegistry.READ)) {\r
-                       for (SpringArg<TestResult> result : results) {\r
-                               try {\r
-                                       result.getInstance().close();\r
-                               } catch (RuntimeException e) {\r
-                                       log.error("Could not close result "\r
-                                                       + (result.getBean() != null ? result.getBean()\r
-                                                                       : result.getAntref()), e);\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       public SpringArg<TestResult> createResult() {\r
-               SpringArg<TestResult> result = new SpringArg<TestResult>();\r
-               results.add(result);\r
-               return result;\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java
deleted file mode 100644 (file)
index 45d63f6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.argeo.slc.ant.test;\r
-\r
-import org.argeo.slc.ant.structure.SAwareTask;\r
-import org.argeo.slc.structure.StructureAware;\r
-import org.argeo.slc.structure.StructureRegistry;\r
-import org.argeo.slc.test.TestReport;\r
-import org.argeo.slc.test.TestResult;\r
-\r
-/** Ant tasks generating a report. */\r
-public class SlcReportTask extends SAwareTask {\r
-       private String result;\r
-       private String report;\r
-\r
-       @Override\r
-       public void executeActions(String mode) {\r
-               if (!mode.equals(StructureRegistry.READ)) {\r
-                       TestResult testResult = null;\r
-                       if (result != null) {\r
-                               testResult = (TestResult) getContext().getBean(result);\r
-                       }\r
-                       TestReport testReport = (TestReport) getContext().getBean(report);\r
-                       if (testReport instanceof StructureAware) {\r
-                               ((StructureAware) testReport).notifyCurrentPath(getRegistry(),\r
-                                               null);\r
-                       }\r
-                       testReport.generateTestReport(testResult);\r
-               }\r
-       }\r
-\r
-       /** Sets the bean name of the result to close. */\r
-       public void setResult(String bean) {\r
-               this.result = bean;\r
-       }\r
-\r
-       /** Sets the bean name of the report to generate. */\r
-       public void setReport(String report) {\r
-               this.report = report;\r
-       }\r
-\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java
deleted file mode 100644 (file)
index 730ae94..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.argeo.slc.ant.test;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.apache.tools.ant.BuildException;\r
-import org.argeo.slc.ant.AntConstants;\r
-import org.argeo.slc.ant.spring.SpringArg;\r
-import org.argeo.slc.ant.structure.SAwareTask;\r
-import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.core.test.SimpleResultPart;\r
-import org.argeo.slc.core.test.SimpleTestResult;\r
-import org.argeo.slc.core.test.SimpleTestRun;\r
-import org.argeo.slc.deploy.DeployedSystem;\r
-import org.argeo.slc.process.SlcExecution;\r
-import org.argeo.slc.spring.SpringUtils;\r
-import org.argeo.slc.structure.StructureAware;\r
-import org.argeo.slc.test.ExecutableTestRun;\r
-import org.argeo.slc.test.TestData;\r
-import org.argeo.slc.test.TestDefinition;\r
-import org.argeo.slc.test.TestResult;\r
-import org.argeo.slc.test.TestResultPart;\r
-import org.argeo.slc.test.TestStatus;\r
-import org.argeo.slc.test.WritableTestRun;\r
-import org.springframework.beans.BeansException;\r
-\r
-/** Ant task wrapping a test run. */\r
-public class SlcTestTask extends SAwareTask {\r
-       private Log log = LogFactory.getLog(SlcTestTask.class);\r
-\r
-       private String testRunBean = null;\r
-\r
-       private SpringArg<TestDefinition> testDefinitionArg;\r
-       private SpringArg<TestData> testDataArg;\r
-       private SpringArg<DeployedSystem> deployedSystemArg;\r
-       private SpringArg<TestResult> testResultArg;\r
-\r
-       @Override\r
-       public void executeActions(String mode) throws BuildException {\r
-               // find test run\r
-               final String testRunBeanT;\r
-               if (testRunBean != null) {\r
-                       testRunBeanT = testRunBean;\r
-               } else {\r
-                       testRunBeanT = getProject().getProperty(\r
-                                       AntConstants.DEFAULT_TEST_RUN_PROPERTY);\r
-               }\r
-               WritableTestRun testRun = null;\r
-\r
-               if (testRunBeanT != null) {\r
-                       try {\r
-                               testRun = (WritableTestRun) getContext().getBean(testRunBeanT);\r
-                               if (log.isTraceEnabled())\r
-                                       log.trace("Load test run bean from bean name "\r
-                                                       + testRunBeanT);\r
-                       } catch (BeansException e) {\r
-                               // silent, will try defaults\r
-                       }\r
-               }\r
-\r
-               if (testRun == null) {\r
-                       testRun = loadSingleFromContext(WritableTestRun.class);\r
-                       if (testRun == null) {\r
-                               testRun = new SimpleTestRun();\r
-                               log.trace("Created default simple test run");\r
-                       } else {\r
-                               if (log.isTraceEnabled())\r
-                                       log.trace("Load test run from scanning Spring context");\r
-                       }\r
-               }\r
-\r
-               // set overridden references\r
-               if (testDataArg != null) {\r
-                       testRun.setTestData(testDataArg.getInstance());\r
-                       log.trace("Overrides test data");\r
-               }\r
-\r
-               if (testDefinitionArg != null) {\r
-                       testRun.setTestDefinition(testDefinitionArg.getInstance());\r
-                       log.trace("Overrides test definition");\r
-               }\r
-\r
-               if (deployedSystemArg != null) {\r
-                       testRun.setDeployedSystem(deployedSystemArg.getInstance());\r
-                       log.trace("Overrides deployed system");\r
-               }\r
-\r
-               if (testResultArg != null) {\r
-                       testRun.setTestResult(testResultArg.getInstance());\r
-                       log.trace("Overrides test result");\r
-               }\r
-\r
-               // notify path to test result\r
-               TestResult result = testRun.getTestResult();\r
-               if (result == null) {\r
-                       result = loadSingleFromContext(TestResult.class);\r
-                       if (result == null) {\r
-                               result = new SimpleTestResult();\r
-                               log.warn("Created default simple test result");\r
-                       } else {\r
-                               if (log.isTraceEnabled())\r
-                                       log.trace("Load test result from scanning Spring context");\r
-                       }\r
-                       testRun.setTestResult(result);\r
-               }\r
-\r
-               SlcExecution slcExecution = getSlcExecution();\r
-               testRun.notifySlcExecution(slcExecution);\r
-\r
-               if (result != null && result instanceof StructureAware) {\r
-                       ((StructureAware<TreeSPath>) result).notifyCurrentPath(\r
-                                       getRegistry(), getTreeSPath());\r
-               }\r
-\r
-               try {\r
-                       ((ExecutableTestRun) testRun).run();\r
-               } catch (RuntimeException e) {\r
-                       if (result != null) {\r
-                               SimpleResultPart errorPart = new SimpleResultPart(\r
-                                               TestStatus.ERROR,\r
-                                               "Unexpected exception when running test", e);\r
-                               result.addResultPart(errorPart);\r
-                       }\r
-                       throw e;\r
-               }\r
-       }\r
-\r
-       /**\r
-        * The bean name of the test run to use. If not set the default is used.\r
-        * \r
-        * @see SlcAntConfig\r
-        */\r
-       public void setTestRun(String testRunBean) {\r
-               this.testRunBean = testRunBean;\r
-       }\r
-\r
-       /** Creates sub tag. */\r
-       public SpringArg<TestDefinition> createTestDefinition() {\r
-               testDefinitionArg = new SpringArg<TestDefinition>();\r
-               // only test definitions can add to path\r
-               addSAwareArg(testDefinitionArg);\r
-               return testDefinitionArg;\r
-       }\r
-\r
-       /** Creates sub tag. */\r
-       public SpringArg<TestData> createTestData() {\r
-               testDataArg = new SpringArg<TestData>();\r
-               return testDataArg;\r
-       }\r
-\r
-       /** Creates sub tag. */\r
-       public SpringArg<DeployedSystem> createDeployedSystem() {\r
-               deployedSystemArg = new SpringArg<DeployedSystem>();\r
-               return deployedSystemArg;\r
-       }\r
-\r
-       /** Creates sub tag. */\r
-       public SpringArg<TestResult> createTestResult() {\r
-               testResultArg = new SpringArg<TestResult>();\r
-               return testResultArg;\r
-       }\r
-\r
-       protected <T> T loadSingleFromContext(Class<T> clss) {\r
-               return SpringUtils.loadSingleFromContext(getContext(), clss);\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/package.html b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/test/package.html
deleted file mode 100644 (file)
index 179159b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>\r
-<head></head>\r
-<body>\r
-Integration of SLC Test in Ant.\r
-</body>\r
-</html>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/AntSlcApplicationTestCase.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/AntSlcApplicationTestCase.java
deleted file mode 100644 (file)
index df78a22..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.argeo.slc.ant.unit;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.argeo.slc.ant.AntExecutionContext;
-import org.argeo.slc.ant.AntSlcRuntime;
-import org.argeo.slc.runtime.SlcExecutionOutput;
-
-public abstract class AntSlcApplicationTestCase extends TestCase implements
-               SlcExecutionOutput<AntExecutionContext> {
-
-       /** To be overriden */
-       public void postExecution(AntExecutionContext executionContext) {
-
-       }
-
-       protected String getRootDir() {
-               String rootDirPath =  System.getProperty("slc.rootDir", "src/slc/root");
-               if(!new File(rootDirPath).exists())
-                       rootDirPath = "src/main/slc/root";// try older convention
-               return rootDirPath;
-       }
-
-       protected String getAbsoluteScript(String relative) {
-               return getRootDir() + '/' + relative;
-       }
-
-       protected void execute(String relativeScript) {
-               execute(relativeScript, null);
-       }
-
-       protected void execute(String relativeScript, String targets) {
-               new AntSlcRuntime().executeScript(
-                               getAbsoluteScript(relativeScript), targets, this);
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/MinimalAntClasspathTestCase.java b/runtime/org.argeo.slc.support.ant/src/main/java/org/argeo/slc/ant/unit/MinimalAntClasspathTestCase.java
deleted file mode 100644 (file)
index 5fdb49f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.argeo.slc.ant.unit;
-
-import java.io.File;
-import java.util.UUID;
-
-import org.argeo.slc.ant.AntConstants;
-import org.argeo.slc.ant.AntExecutionContext;
-import org.argeo.slc.ant.AntSlcApplication;
-import org.argeo.slc.process.SlcExecution;
-import org.argeo.slc.runtime.SlcExecutionOutput;
-import org.argeo.slc.unit.AbstractSpringTestCase;
-import org.springframework.core.io.FileSystemResource;
-
-public class MinimalAntClasspathTestCase extends AbstractSpringTestCase
-               implements SlcExecutionOutput<AntExecutionContext> {
-       protected void execute(String scriptPath) {
-               AntSlcApplication slcApp = new AntSlcApplication();
-               slcApp.setRootDir(new FileSystemResource(new File("src/test/resources")
-                               .getAbsolutePath()
-                               + File.separator));
-               slcApp.setWorkDir(new File(System.getProperty("java.io.tmpdir")));
-               slcApp.setParentContext(getContext());
-
-               SlcExecution slcExecution = new SlcExecution();
-               slcExecution.setUuid(UUID.randomUUID().toString());
-               slcExecution.getAttributes().put(AntConstants.EXECATTR_ANT_FILE,
-                               scriptPath);
-               slcExecution.setUser("user");
-
-               slcApp.execute(slcExecution, null, null, this);
-       }
-
-       /** to be overridden */
-       public void postExecution(AntExecutionContext executionContext) {
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/defaultAppLog4j.properties b/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/defaultAppLog4j.properties
deleted file mode 100644 (file)
index c13c36f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-log4j.rootLogger=WARN, console, file
-
-## Levels
-log4j.logger.org.argeo=INFO
-
-## Ant (Ant error logging is to verbose)
-log4j.logger.org.apache.tools.ant.UnknownElement=OFF
-log4j.logger.org.apache.tools.ant.Target=OFF
-log4j.logger.org.apache.tools.ant.Project=OFF
-
-## Appenders
-# console uses PatternLayout.
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c%n
-
-# file uses PatternLayout
-log4j.appender.file=org.apache.log4j.RollingFileAppender
-log4j.appender.file.File=${slc.workDir}/log/slcApp.log
-log4j.appender.file.MaxFileSize=1MB
-log4j.appender.file.MaxBackupIndex=5
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c%n
diff --git a/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/taskdefs.properties b/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/taskdefs.properties
deleted file mode 100644 (file)
index ac489bf..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# Tasks\r
-slc.test=org.argeo.slc.ant.test.SlcTestTask\r
-slc.deploy=org.argeo.slc.ant.deploy.SlcDeployTask\r
-slc.manager=org.argeo.slc.ant.deploy.SlcManagerTask\r
-slc.closeResult=org.argeo.slc.ant.test.SlcCloseTestResultTask\r
-slc.report=org.argeo.slc.ant.test.SlcReportTask\r
-slc.register=org.argeo.slc.ant.spring.SpringRegister\r
-slc.detached=org.argeo.slc.ant.detached.SlcDetachedTask\r
diff --git a/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/typedefs.properties b/runtime/org.argeo.slc.support.ant/src/main/resources/org/argeo/slc/ant/typedefs.properties
deleted file mode 100644 (file)
index 0cb3b2c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Types\r
-slc.context=org.argeo.slc.ant.test.ParentContextType\r
diff --git a/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/DummyObject.java b/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/DummyObject.java
deleted file mode 100644 (file)
index 5998760..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.argeo.slc.ant;
-
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.Vector;
-
-public class DummyObject {
-       private String name;
-       private Long value;
-       private DummyObject other;
-       private List<DummyObject> children = new Vector<DummyObject>();
-       private Map<String, DummyObject> map = new TreeMap<String, DummyObject>();
-
-       public String getName() {
-               return name;
-       }
-
-       public void setName(String name) {
-               this.name = name;
-       }
-
-       public Long getValue() {
-               return value;
-       }
-
-       public void setValue(Long value) {
-               this.value = value;
-       }
-
-       public DummyObject getOther() {
-               return other;
-       }
-
-       public void setOther(DummyObject other) {
-               this.other = other;
-       }
-
-       public List<DummyObject> getChildren() {
-               return children;
-       }
-
-       public void setChildren(List<DummyObject> children) {
-               this.children = children;
-       }
-
-       public Map<String, DummyObject> getMap() {
-               return map;
-       }
-
-       public void setMap(Map<String, DummyObject> map) {
-               this.map = map;
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/OverrideTest.java b/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/OverrideTest.java
deleted file mode 100644 (file)
index d49521a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.argeo.slc.ant;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.ant.unit.MinimalAntClasspathTestCase;
-
-public class OverrideTest extends MinimalAntClasspathTestCase {
-       private Log log = LogFactory.getLog(getClass());
-
-       public void testSimpleRun() {
-               execute("/org/argeo/slc/ant/buildOverride.xml");
-       }
-
-       @Override
-       public void postExecution(AntExecutionContext executionContext) {
-               log.info("Analyzing context after execution...");
-
-               DummyObject dummy1UnModified = executionContext
-                               .getAntRef("dummy1.unmodified");
-               assertEquals("dummy2", dummy1UnModified.getOther().getName());
-               assertEquals(2, dummy1UnModified.getChildren().size());
-               assertEquals(2, dummy1UnModified.getMap().size());
-
-               DummyObject dummy1Modif1 = executionContext.getAntRef("dummy1.modif1");
-               assertEquals("dummy1.modif1", dummy1Modif1.getName());
-               assertEquals("dummy3", dummy1Modif1.getOther().getName());
-
-               DummyObject dummy1Modif2 = executionContext.getAntRef("dummy1.modif2");
-               assertEquals(1, dummy1Modif2.getChildren().size());
-               assertEquals("dummy3", dummy1Modif2.getChildren().get(0).getName());
-
-               DummyObject dummy1Modif3 = executionContext.getAntRef("dummy1.modif3");
-               assertEquals(2, dummy1Modif3.getChildren().size());
-               assertEquals("dummy3", dummy1Modif3.getChildren().get(0).getName());
-               assertEquals("dummy2", dummy1Modif3.getChildren().get(1).getName());
-
-               DummyObject dummy1Modif4 = executionContext.getAntRef("dummy1.modif4");
-               assertEquals(2, dummy1Modif4.getChildren().size());
-               assertEquals("dummy3", dummy1Modif4.getChildren().get(0).getName());
-               assertEquals("dummy1.modif1", dummy1Modif4.getChildren().get(0)
-                               .getOther().getName());
-               assertEquals("dummy2", dummy1Modif4.getChildren().get(1).getName());
-               assertEquals(1, dummy1Modif4.getChildren().get(1).getChildren().size());
-               assertEquals("dummy3", dummy1Modif4.getChildren().get(1).getChildren()
-                               .get(0).getName());
-
-               DummyObject dummy1Modif5 = executionContext.getAntRef("dummy1.modif5");
-               assertEquals(2, dummy1Modif5.getMap().size());
-               assertEquals("dummy3", dummy1Modif5.getMap().get("key1").getName());
-               assertEquals("dummy2", dummy1Modif5.getMap().get("key2").getName());
-               
-               DummyObject dummy1Modif6 = executionContext.getAntRef("dummy1.modif6");
-               assertEquals(2, dummy1Modif6.getMap().size());
-               assertEquals("dummy2.merged", dummy1Modif6.getMap().get("key1").getName());
-               assertEquals("dummy3.merged", dummy1Modif6.getMap().get("key2").getName());
-               
-       }
-
-       @Override
-       protected String getApplicationContextLocation() {
-               return inPackage("acOverride.xml");
-       }
-
-}
diff --git a/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/SlcAntTest.java b/runtime/org.argeo.slc.support.ant/src/test/java/org/argeo/slc/ant/SlcAntTest.java
deleted file mode 100644 (file)
index 5a58f1f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.argeo.slc.ant;\r
-\r
-import org.argeo.slc.ant.unit.MinimalAntClasspathTestCase;\r
-\r
-public class SlcAntTest extends MinimalAntClasspathTestCase {\r
-       // private Log log = LogFactory.getLog(getClass());\r
-\r
-       public void testSimpleRun() {\r
-               execute("/org/argeo/slc/ant/build.xml");\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/acOverride.xml b/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/acOverride.xml
deleted file mode 100644 (file)
index c9c3911..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
-
-       <bean id="dummy1" parent="template.dummy" scope="prototype">
-               <property name="name" value="dummy1" />
-               <property name="other" ref="dummy2" />
-               <property name="children">
-                       <list>
-                               <ref bean="dummy2" />
-                               <ref bean="dummy3" />
-                       </list>
-               </property>
-               <property name="map">
-                       <map>
-                               <entry key="key1">
-                                       <ref bean="dummy2" />
-                               </entry>
-                               <entry key="key2">
-                                       <ref bean="dummy3" />
-                               </entry>
-                       </map>
-               </property>
-       </bean>
-
-       <bean id="dummy2" parent="template.dummy" scope="prototype">
-               <property name="name" value="dummy2" />
-       </bean>
-
-       <bean id="dummy3" parent="template.dummy" scope="prototype">
-               <property name="name" value="dummy3" />
-       </bean>
-
-       <!-- Templates -->
-       <bean id="template.dummy" class="org.argeo.slc.ant.DummyObject"
-               abstract="true">
-       </bean>
-
-
-
-</beans>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/applicationContext.xml b/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/applicationContext.xml
deleted file mode 100644 (file)
index 6ff9b85..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
-       <import resource="classpath:/org/argeo/slc/ant/nonDepContext.xml" />\r
-\r
-       <bean id="testResult"\r
-               parent="slcDefault.test.basicTreeTestResult">\r
-       </bean>\r
-\r
-</beans>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/build.xml b/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/build.xml
deleted file mode 100644 (file)
index 35de7be..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<project default="test">\r
-\r
-       <target name="test">\r
-               <echo message="Hello World!" />\r
-\r
-               <slc.test>\r
-                       <testDefinition bean="testDef" />\r
-                       <testData bean="testData1" />\r
-               </slc.test>\r
-\r
-               <slc.test>
-                       <testDefinition bean="testDef" />
-                       <testData bean="testData.context1" />
-               </slc.test>
-
-               <slc.test path="/testRoot/testContext">
-                       <testDefinition bean="testDef" />
-                       <testData bean="testData.context1" />
-               </slc.test>
-
-               <slc.closeResult>
-                       <result bean="testResult" />
-               </slc.closeResult>\r
-       </target>\r
-</project>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/buildOverride.xml b/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/buildOverride.xml
deleted file mode 100644 (file)
index 67f889a..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<project default="test">\r
-\r
-       <target name="test">\r
-               <slc.register>
-                       <object antid="dummy1.unmodified" bean="dummy1" />
-                       <object antid="dummy1.modif1" bean="dummy1">
-                               <override name="name" value="dummy1.modif1" />
-                               <override name="other" bean="dummy3" />
-                       </object>
-                       <object antid="dummy1.modif2" bean="dummy1">
-                               <override name="children">
-                                       <list>
-                                               <override bean="dummy3" />
-                                       </list>
-                               </override>
-                       </object>
-                       <object antid="dummy1.modif3" bean="dummy1">
-                               <override name="children" merge="true">
-                                       <list>
-                                               <override>
-                                                       <override name="name" value="dummy3" />
-                                               </override>
-                                               <override>
-                                                       <override name="name" value="dummy2" />
-                                               </override>
-                                       </list>
-                               </override>
-                       </object>
-                       <object antid="dummy1.modif4" bean="dummy1">
-                               <override name="children" merge="true">
-                                       <list>
-                                               <override>
-                                                       <override name="name" value="dummy3" />
-                                                       <override name="other" antref="dummy1.modif1" />
-                                               </override>
-                                               <override>
-                                                       <override name="name" value="dummy2" />
-                                                       <override name="children">
-                                                               <list>
-                                                                       <override bean="dummy3" />
-                                                               </list>
-                                                       </override>
-                                               </override>
-                                       </list>
-                               </override>
-                       </object>
-                       <object antid="dummy1.modif5" bean="dummy1">
-                               <override name="map">
-                                       <map>
-                                               <entry key="key1">
-                                                       <override bean="dummy3" />
-                                               </entry>
-                                               <entry key="key2">
-                                                       <override bean="dummy2" />
-                                               </entry>
-                                       </map>
-                               </override>
-                       </object>
-                       <object antid="dummy1.modif6" bean="dummy1">
-                               <override name="map" merge="true">
-                                       <map>
-                                               <entry key="key1">
-                                                       <override>
-                                                               <override name="name" value="dummy2.merged" />
-                                                       </override>
-                                               </entry>
-                                               <entry key="key2">
-                                                       <override>
-                                                               <override name="name" value="dummy3.merged" />
-                                                       </override>
-                                               </entry>
-                                       </map>
-                               </override>
-                       </object>
-               </slc.register>\r
-       </target>\r
-</project>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/nonDepContext.xml b/runtime/org.argeo.slc.support.ant/src/test/resources/org/argeo/slc/ant/nonDepContext.xml
deleted file mode 100644 (file)
index 56da88a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
-       <import\r
-               resource="classpath:/org/argeo/slc/core/test/spring/applicationContext.xml" />\r
-\r
-       <bean name="testDef"\r
-               class="org.argeo.slc.core.test.BasicTestDefinition" scope="prototype" />\r
-\r
-       <bean name="testData1"\r
-               class="org.argeo.slc.core.test.BasicTestData">\r
-               <property name="expected">\r
-                       <value>toto</value>\r
-               </property>\r
-               <property name="reached">\r
-                       <value>toto</value>\r
-               </property>\r
-       </bean>\r
-\r
-       <bean id="testData.context1" parent="context.template">\r
-               <property name="values">\r
-                       <map>\r
-                               <entry key="reference" value="20" />\r
-                               <entry key="varIntern" value="60" />\r
-                       </map>\r
-               </property>\r
-               <property name="expectedValues">\r
-                       <map>\r
-                               <entry key="reference" value="21" />\r
-                               <entry key="varIntern" value="60" />\r
-                       </map>\r
-               </property>\r
-       </bean>\r
-\r
-       <bean id="context.template"\r
-               class="org.argeo.slc.core.test.context.DefaultContextTestData"\r
-               abstract="true">\r
-       </bean>\r
-\r
-</beans>
\ No newline at end of file