From: Mathieu Baudier Date: Sat, 31 May 2008 17:37:50 +0000 (+0000) Subject: Create separate Hibernate project X-Git-Tag: argeo-slc-2.1.7~2880 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=806325cbe46ab903b04eada8419961aa57102257;p=gpl%2Fargeo-slc.git Create separate Hibernate project git-svn-id: https://svn.argeo.org/slc/trunk@1160 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.hibernate/pom.xml b/org.argeo.slc.hibernate/pom.xml index 6eecd543c..ed94edc0c 100644 --- a/org.argeo.slc.hibernate/pom.xml +++ b/org.argeo.slc.hibernate/pom.xml @@ -9,16 +9,12 @@ 0.9-SNAPSHOT ../org.argeo.slc - argeo-slc-core - Argeo SLC Core - SLC Core + argeo-slc-hibernate + Argeo SLC Hibernate - scm:svn:https://www.argeo.org/svn/slc/trunk/org.argeo.slc.core + scm:svn:https://www.argeo.org/svn/slc/trunk/org.argeo.slc.hibernate - - https://www.argeo.org/svn/slc/trunk/org.argeo.slc.core - @@ -31,24 +27,6 @@ org.apache.maven.plugins maven-source-plugin - - org.apache.maven.plugins - maven-assembly-plugin - - - src/assembly/base.xml - - - - - assembly-base - package - - single - - - - org.apache.maven.plugins maven-surefire-plugin @@ -62,22 +40,20 @@ - javax.transaction - jta + org.argeo.slc + argeo-slc-core + ${project.version} + - log4j - log4j + javax.transaction + jta org.hibernate hibernate - - org.springframework - spring-context - org.springframework spring-orm @@ -86,74 +62,13 @@ org.springframework spring-jdbc - - org.springframework.ws - spring-ws-core - - - org.springframework.ws - spring-oxm - - - - org.codehaus.castor - castor - - - xerces - xercesImpl - - - - javax.xml.soap - saaj-api - - - com.sun.xml.messaging.saaj - saaj-impl - - - javax.activation - activation - - - - org.apache.ant - ant - - - org.apache.ant - ant-commons-logging - - - - org.apache.commons - commons-io - org.dbunit dbunit - - junit - junit - hsqldb hsqldb - - xalan - xalan - - - org.apache.maven - maven-embedder - - - org.apache.maven - maven-settings - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java deleted file mode 100644 index e81fb30eb..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRegistryUtil.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.argeo.slc.ant; - -import java.io.File; -import java.net.URL; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.ProjectHelper; -import org.apache.tools.ant.listener.CommonsLoggingListener; -import org.argeo.slc.core.structure.StructurePath; -import org.argeo.slc.core.structure.StructureRegistry; - -/** Utilities to manipulate the structure registry in SLC Ant. */ -public class AntRegistryUtil { - private static Log log = LogFactory.getLog(AntRegistryUtil.class); - - /** Reads a structure registry from an Ant file without executing it. */ - public static StructureRegistry readRegistry(File antFile) { - if (log.isDebugEnabled()) - log.debug("Reads registry for Ant file " + antFile); - Project p = new Project(); - p.setUserProperty("ant.file", antFile.getAbsolutePath()); - p.setBaseDir(antFile.getParentFile()); - p.init(); - ProjectHelper helper = new SlcProjectHelper(); - p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); - helper.parse(p, antFile); - - StructureRegistry registry = (StructureRegistry) p - .getReference(SlcProjectHelper.REF_STRUCTURE_REGISTRY); - registry.setMode(StructureRegistry.READ); - - p.executeTarget(p.getDefaultTarget()); - return registry; - } - - /** Executes only the active paths of the Ant file. */ - public static Project runActive(File antFile, - List activePaths) { - if (log.isDebugEnabled()) - log.debug("Runs the " + activePaths.size() - + " provided active paths of Ant file " + antFile); - Project p = new Project(); - p.setUserProperty("ant.file", antFile.getAbsolutePath()); - p.setBaseDir(antFile.getParentFile()); - p.init(); - ProjectHelper helper = new SlcProjectHelper(); - p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); - helper.parse(p, antFile); - - StructureRegistry registry = (StructureRegistry) p - .getReference(SlcProjectHelper.REF_STRUCTURE_REGISTRY); - registry.setMode(StructureRegistry.ACTIVE); - registry.setActivePaths(activePaths); - - runProject(p, null); - return p; - } - - /** Executes all paths of the provided target of the Ant file. */ - public static Project runAll(File antFile, String target) { - if (log.isDebugEnabled()) - log.debug("Runs all paths of Ant file " + antFile); - Project p = new Project(); - p.setUserProperty("ant.file", antFile.getAbsolutePath()); - p.setBaseDir(antFile.getParentFile()); - p.init(); - ProjectHelper helper = new SlcProjectHelper(); - p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); - helper.parse(p, antFile); - - runProject(p, target); - return p; - } - - /** Executes all paths of the provided target of the Ant URL. */ - public static Project runAll(URL url, String target, Properties properties) { - if (log.isDebugEnabled()) - log.debug("Runs all paths of Ant URL " + url); - Project p = new Project(); - p.setUserProperty("ant.file", url.toString()); - // p.setBaseDir(url.toString()); - p.addBuildListener(new CommonsLoggingListener()); - p.init(); - ProjectHelper helper = new SlcProjectHelper(); - p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, helper); - helper.parse(p, url); - - if (properties != null) { - for (Map.Entry entry : properties.entrySet()) { - p.setUserProperty(entry.getKey().toString(), entry.getValue() - .toString()); - } - } - - runProject(p, target); - return p; - } - - /** Executes all paths of the default target of the Ant file. */ - public static Project runAll(File antFile) { - return runAll(antFile, null); - } - - protected static void runProject(Project p, String target) { - p.fireBuildStarted(); - Throwable exception = null; - try { - p.executeTarget(target != null ? target : p.getDefaultTarget()); - } catch (Throwable e) { - exception = e; - log.error("Exception when running Ant: ",e); - } finally { - p.fireBuildFinished(exception); - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRunner.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRunner.java deleted file mode 100644 index da88eafa1..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/AntRunner.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.argeo.slc.ant; - -import java.io.File; -import java.net.URL; -import java.util.Arrays; -import java.util.Collections; -import java.util.Map; -import java.util.Properties; -import java.util.Vector; - -import org.springframework.context.ApplicationContext; - -import org.apache.tools.ant.Project; -import org.apache.tools.ant.ProjectHelper; - -public class AntRunner { - private ApplicationContext context; - private ProjectHelper projectHelper; - private URL buildFile; - private String[] targets; - private Properties properties; - - public AntRunner() { - - } - - public AntRunner(ApplicationContext context, ProjectHelper projectHelper, - URL buildFile, String[] targets) { - super(); - this.context = context; - this.projectHelper = projectHelper; - this.buildFile = buildFile; - this.targets = targets; - } - - public AntRunner(ApplicationContext context, URL buildFile, String target) { - super(); - this.context = context; - - BasicSlcProjectHelper basicSlcProjectHelper = new BasicSlcProjectHelper(); - this.projectHelper = basicSlcProjectHelper; - basicSlcProjectHelper.setContext(context); - - this.buildFile = buildFile; - this.targets = new String[] { target }; - } - - public void run() { - Project p = new Project(); - - String path = buildFile.getFile(); - p.setUserProperty("ant.file", path); - p.setBaseDir(extractBaseDir(path)); - - p.init(); - p.addReference(ProjectHelper.PROJECTHELPER_REFERENCE, projectHelper); - projectHelper.parse(p, buildFile); - - if (properties != null) { - for (Map.Entry entry : properties.entrySet()) { - p.setUserProperty(entry.getKey().toString(), entry.getValue() - .toString()); - } - } - - p.fireBuildStarted(); - Throwable exception = null; - try { - if (targets == null) { - p.executeTarget(p.getDefaultTarget()); - } else { - p.executeTargets(new Vector(Arrays.asList(targets))); - } - } catch (Throwable e) { - exception = e; - throw new SlcAntException("Could not run Ant script " + buildFile, - e); - } finally { - p.fireBuildFinished(exception); - } - - } - - private File extractBaseDir(String path) { - String baseDir = null; - if (path.length() > 1) { - int indx = path.lastIndexOf('/', path.length() - 1); - if (indx == -1 || indx == 0) { - baseDir = "/"; - } else { - baseDir = path.substring(0, indx) + "/"; - } - } else { - baseDir = "/"; - } - File file = new File(baseDir); - if (file.exists()) { - return file; - } else { - return new File(System.getProperty("user.dir")); - } - } - - public static void main(String[] args) { - // TODO Auto-generated method stub - - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/BasicSlcProjectHelper.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/BasicSlcProjectHelper.java deleted file mode 100644 index 620acdfcb..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/BasicSlcProjectHelper.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.argeo.slc.ant; - -import org.springframework.context.ApplicationContext; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.helper.ProjectHelper2; - -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.structure.tree.TreeSRegistry; - -public class BasicSlcProjectHelper extends ProjectHelper2 { - private ApplicationContext context; - - private String projectRootPath = "/project"; - - @Override - public void parse(Project project, Object source) throws BuildException { - TreeSRegistry registry = new TreeSRegistry(); - TreeSPath projectPath = TreeSPath.parseToCreatePath(projectRootPath); - - // FIXME - registry.register(projectPath, new SimpleSElement("ROOT")); - - project.addReference(SlcProjectHelper.REF_STRUCTURE_REGISTRY, registry); - project.addReference(SlcProjectHelper.REF_PROJECT_PATH, projectPath); - - super.parse(project, source); - - project.addReference(SlcProjectHelper.REF_ROOT_CONTEXT, context); - SlcProjectHelper.createAndRegisterSlcExecution(project); - - SlcProjectHelper.addCustomTaskAndTypes(project); - } - - public void setContext(ApplicationContext context) { - this.context = context; - } - - - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/ProjectRelatedBuildListener.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/ProjectRelatedBuildListener.java deleted file mode 100644 index 6d047d5d0..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/ProjectRelatedBuildListener.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.argeo.slc.ant; - -import org.apache.tools.ant.BuildListener; -import org.apache.tools.ant.Project; - -public interface ProjectRelatedBuildListener extends BuildListener { - public Project getProject(); - - /** SlcExecution must already have been registered in project*/ - public void init(Project project); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java deleted file mode 100644 index 43b247c2b..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/RemoveRootDirMapper.java +++ /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/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntConfig.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntConfig.java deleted file mode 100644 index 9b2824886..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntConfig.java +++ /dev/null @@ -1,344 +0,0 @@ -package org.argeo.slc.ant; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.Map; -import java.util.Properties; -import java.util.StringTokenizer; - -import org.springframework.util.Log4jConfigurer; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.Project; - -/** - *

- * Manager and initializer of the properties required by SLC Ant. - *

- * - *

- * All properties described here will get a value one way or another (see below - * for details)/ Each property will be accessible via Ant or Spring properties. - *

- * - *

- * The property slc.rootFile is set based on the location of the SLC - * root property file found in the directory structure of a called Ant file. The - * default name of this file is slcRoot.properties (can be set by - * {@link #setSlcRootFileName(String)}).
- * This property provides the absolute path to the unique SLC root property file - * which marks the root of an Ant SLC tree structure. - *

- * - *

- * The property slc.rootDir is inferred from slc.rootFile and - * provides a convenient shortcut to the root directory of the Ant files - * directory structure. - *

- * - *

- * A few directory and file related properties can be set in the SLC root - * property file (if they are not explicitly set their default values will be - * used): - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
PropertyDescriptionDefault
slc.confDirDirectory where to find the various configuration files of a given SLC - * Ant deployment${slc.rootDir}/../conf
slc.workDirDirectory where data can be retrieved or generated: build outputs, test - * inputs/outputs, test results, etc. The underlying directory structure is - * specified by the specific SLC application.${slc.rootDir}/../work
slc.propertyFileNamesComma-separated list of the files names of the property files to load - * from the conf directory. Having various files allows to separate between SLC - * framework properties and properties specific to a given application built on - * top of SLC. All will be available across Ant and Spring.slc.properties
Note: Only the properties above can be set in the SLC root - * properties file. All other properties should be defined in the registered - * conf files. - *

- * - *

- * Any property can be defined in the conf files defined in the SLC root - * properties file (see above). SLC expects some which will have defaults but - * can be overriden there. By convention they should be defined in the - * slc.properties file, while application specific properties should be - * defined in other conf files. This allows for a clean spearation between SLC - * and the applications built on top of it: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
PropertyDescriptionDefault
slc.applicationContextPath to the root Spring application context file used by SLC Ant.${slc.confDir}/applicationContext.xml
slc.defaultTestRunName of the {@link WritableTestRun} Spring bean that the - * slc.test task will use by default. This can be overridden when - * calling the task from Ant.defaultTestRun
- *

- */ -public class SlcAntConfig { - // SLC ROOT PROPERTIES - /** Property for the root file (SLC root property file). */ - public final static String ROOT_FILE_PROPERTY = "slc.rootFile"; - /** 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"; - /** - * Comma-separated list of property file names to load from the conf dir and - * add to project user properties - */ - public final static String PROPERTY_FILE_NAMES_PROPERTY = "slc.propertyFileNames"; - - // SLC CONF PROPERTIES - /** Path to the root Spring application context */ - public static String APPLICATION_CONTEXT_PROPERTY = "slc.applicationContext"; - /** Name of the Spring bean used by default */ - public static String DEFAULT_TEST_RUN_PROPERTY = "slc.defaultTestRun"; - - // SLC LOCAL PROPERTIES - /** Property for the dir label (SLC local property file). */ - public static String DIR_LABEL_PROPERTY = "slc.dirLabel"; - - private String slcRootFileName = "slcRoot.properties"; - private String slcLocalFileName = "slcLocal.properties"; - - /** - * Retrieves or infers all properties and set them as project user - * properties. All these properties will be set as project properties if - * they had not been set as project properties before (like by - * overriding through the standard Ant mechanisms). - * - * @param project - * the Ant Project being run. - * @return whether the project could be initialized for SLC usage (e.g. - * presence of an SLC root file) - */ - public boolean initProject(Project project) { - File projectBaseDir = project.getBaseDir(); - File slcRootFile = findSlcRootFile(projectBaseDir); - if (slcRootFile == null) { - return false; - } - - // pass the project properties through the System properties - System.getProperties().putAll((Map) project.getUserProperties()); - Properties all = new Properties(); - all.putAll(System.getProperties()); - prepareAllProperties(slcRootFile, all); - - Log log = LogFactory.getLog(this.getClass()); - for (Object o : all.keySet()) { - String key = o.toString(); - // System.out.println(key+"="+all.getProperty(key)); - if (project.getUserProperty(key) == null) {// not already set - // if (log.isDebugEnabled()) - // log.debug(key + "=" + all.getProperty(key)); - project.setUserProperty(key, all.getProperty(key)); - } - } - return true; - } - - /** - * Retrieves or infers all required properties. - * - * @param slcRootFile - * the location of the SLC root file - * - * @return the prepared properties. Note that it also contains the System - * and Ant properties which had previously been set. - */ - public void prepareAllProperties(File slcRootFile, Properties all) { - try { - final String fileUrlPrefix = ""; - - all.put(ROOT_FILE_PROPERTY, slcRootFile.getCanonicalPath()); - // Remove basedir property in order to avoid conflict with Maven - if (all.containsKey("basedir")) - all.remove("basedir"); - - Properties rootProps = loadFile(slcRootFile.getCanonicalPath()); - - final File confDir; - final File workDir; - // Root dir - final File rootDir = slcRootFile.getParentFile(); - all.setProperty(ROOT_DIR_PROPERTY, fileUrlPrefix - + rootDir.getCanonicalPath()); - - // Conf dir - if (all.getProperty(CONF_DIR_PROPERTY) == null) { - confDir = new File(rootProps.getProperty(CONF_DIR_PROPERTY, - rootDir.getAbsolutePath() + "/../conf")) - .getCanonicalFile(); - all.setProperty(CONF_DIR_PROPERTY, fileUrlPrefix - + confDir.getAbsolutePath()); - } else { - confDir = new File(all.getProperty(CONF_DIR_PROPERTY)) - .getCanonicalFile(); - } - - // Work dir - if (all.getProperty(WORK_DIR_PROPERTY) == null) { - workDir = new File(rootProps.getProperty(WORK_DIR_PROPERTY, - rootDir.getAbsolutePath() + "/../work")) - .getCanonicalFile(); - all.setProperty(WORK_DIR_PROPERTY, fileUrlPrefix - + workDir.getAbsolutePath()); - } else { - workDir = new File(all.getProperty(WORK_DIR_PROPERTY)) - .getCanonicalFile(); - } - - // Properties from the conf dir files - Properties properties = new Properties(); - StringTokenizer st = new StringTokenizer(rootProps.getProperty( - PROPERTY_FILE_NAMES_PROPERTY, "slc.properties"), ","); - while (st.hasMoreTokens()) { - String fileName = st.nextToken(); - properties.putAll(loadFile(confDir.getAbsolutePath() - + File.separator + fileName)); - } - - for (Object o : properties.keySet()) { - String key = o.toString(); - if (all.getProperty(key) == null) {// not already set - all.setProperty(key, properties.getProperty(key)); - } - } - - // Default application context - if (all.getProperty(APPLICATION_CONTEXT_PROPERTY) == null) { - all.setProperty(APPLICATION_CONTEXT_PROPERTY, confDir - .getAbsolutePath() - + "/applicationContext.xml"); - } - // Default test run - if (all.getProperty(DEFAULT_TEST_RUN_PROPERTY) == null) { - all.setProperty(DEFAULT_TEST_RUN_PROPERTY, - "defaultTestRun"); - } - - // Default log4j - if (all.getProperty("log4j.configuration") == null) { - System.setProperty("log4j.configuration", confDir - .getCanonicalPath() - + File.separator + "log4j.properties"); - // TODO: fix dependency to log4j - Log4jConfigurer.initLogging(confDir.getCanonicalPath() - + File.separator + "log4j.properties"); - } - } catch (Exception e) { - throw new SlcAntException("Unexpected exception while configuring", - e); - } - } - - /** Loads the content of a file as Properties. */ - private Properties loadFile(String path) { - Properties p = new Properties(); - try { - FileInputStream in = new FileInputStream(path); - p.load(in); - in.close(); - } catch (IOException e) { - throw new SlcAntException("Cannot read SLC root file", e); - } - return p; - } - - /** - * Looks for a file named {@link #getSlcLocalFileName()} in the directory, - * loads it as properties file and return the value of the property - * {@link #DIR_LABEL_PROPERTY}. - */ - public String getDescriptionForDir(File dir) { - String description = dir.getName(); - File slcLocal = new File(dir.getPath() + File.separator - + getSlcLocalFileName()); - if (slcLocal.exists()) { - Properties properties = loadFile(slcLocal.getAbsolutePath()); - description = properties.getProperty( - SlcAntConfig.DIR_LABEL_PROPERTY, description); - } - return description; - } - - /** - * Recursively scans directories downwards until it find a file names as - * defined by {@link #getSlcRootFileName()}. - */ - public File findSlcRootFile(File dir) { - for (File file : dir.listFiles()) { - if (!file.isDirectory() - && file.getName().equals(getSlcRootFileName())) { - return file; - } - } - - File parentDir = dir.getParentFile(); - if (parentDir == null) { - return null;// stop condition: not found - } else { - return findSlcRootFile(parentDir); - } - } - - /** - * Gets the file name of the file marking the root directory, default being - * slcRoot.properties. - */ - public String getSlcRootFileName() { - return slcRootFileName; - } - - /** Sets the file name of the file marking the root directory. */ - public void setSlcRootFileName(String slcRootFileName) { - this.slcRootFileName = slcRootFileName; - } - - /** - * Gets the file name of the file containing directory specific properties, - * default being slcLocal.properties. - */ - public String getSlcLocalFileName() { - return slcLocalFileName; - } - - /** Sets the file name of the file containing directory specific properties. */ - public void setSlcLocalFileName(String slcLocalFileName) { - this.slcLocalFileName = slcLocalFileName; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntException.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntException.java deleted file mode 100644 index 854df33cf..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcAntException.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.argeo.slc.ant; - -import org.argeo.slc.core.SlcException; - -/** Base for all SLC Ant exceptions. */ -public class SlcAntException extends SlcException { - static final long serialVersionUID = 1l; - - /** Constructor. */ - public SlcAntException(String message) { - super(message); - } - - /** Constructor. */ - public SlcAntException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java deleted file mode 100644 index a8dd15c7d..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcExecutionBuildListener.java +++ /dev/null @@ -1,233 +0,0 @@ -package org.argeo.slc.ant; - -import java.util.List; -import java.util.Vector; - -import org.apache.log4j.AppenderSkeleton; -import org.apache.log4j.LogManager; -import org.apache.log4j.spi.LoggingEvent; -import org.apache.tools.ant.BuildEvent; -import org.apache.tools.ant.Project; - -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionNotifier; -import org.argeo.slc.core.process.SlcExecutionStep; -import org.argeo.slc.core.process.WebServiceSlcExecutionNotifier; - -public class SlcExecutionBuildListener extends AppenderSkeleton implements - ProjectRelatedBuildListener { - public static final String ANT_TYPE = "org.apache.tools.ant"; - public static final String SLC_ANT_TYPE = "org.argeo.slc.ant"; - - public static final String REF_SLC_EXECUTION = "slcExecution"; - - private Project project; - - // to avoid stack overflow when logging for log4j - private boolean isLogging = false; - - private List notifiers = new Vector(); - - private boolean currentStepNotified = true; - - // CUSTOMIZATIONS - private boolean logBeforeFirstTarget = false; - private boolean firstTargetStarted = false; - - private boolean logTaskStartFinish = true; - - public void init(Project project) { - if (this.project != null) { - throw new SlcAntException("Build listener already initialized"); - } - - this.project = project; - - if (!LogManager.getRootLogger().isAttached(this)) { - LogManager.getRootLogger().addAppender(this); - } - - SlcExecution slcExecution = (SlcExecution) project - .getReference(REF_SLC_EXECUTION); - if (slcExecution == null) - throw new SlcAntException("No SLC Execution registered."); - - for (SlcExecutionNotifier notifier : notifiers) { - notifier.newExecution(slcExecution); - } - - } - - public void buildStarted(BuildEvent event) { - } - - public void buildFinished(BuildEvent event) { - SlcExecution slcExecution = getSlcExecution(event); - String oldStatus = slcExecution.getStatus(); - slcExecution.setStatus(SlcExecution.STATUS_FINISHED); - - for (SlcExecutionNotifier notifier : notifiers) { - notifier.updateStatus(slcExecution, oldStatus, slcExecution - .getStatus()); - } - } - - public void messageLogged(BuildEvent event) { - if (!shouldLog()) - return; - - SlcExecution slcExecution = getSlcExecution(event); - if (slcExecution != null) { - if (currentStepNotified) { - slcExecution.getSteps().add( - new SlcExecutionStep("LOG", event.getMessage())); - notifyStep(slcExecution, slcExecution.currentStep()); - currentStepNotified = true; - } else { - slcExecution.currentStep().addLog(event.getMessage()); - } - } else { - // TODO: log before initialization? - } - } - - public void targetStarted(BuildEvent event) { - if (!firstTargetStarted) - firstTargetStarted = true; - - addLogStep(event, "Target " + event.getTarget().getName() + " started"); - } - - public void targetFinished(BuildEvent event) { - addLogStep(event, "Target " + event.getTarget().getName() + " finished"); - } - - public void taskStarted(BuildEvent event) { - if (!shouldLog()) - return; - - SlcExecution slcExecution = getSlcExecution(event); - if (!currentStepNotified) { - notifyStep(slcExecution, slcExecution.currentStep()); - currentStepNotified = true; - } - - String msg = null; - if (logTaskStartFinish) - msg = "Task " + event.getTask().getTaskName() + " started"; - - slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg)); - - currentStepNotified = false; - } - - public void taskFinished(BuildEvent event) { - if (!shouldLog()) - return; - - SlcExecution slcExecution = getSlcExecution(event); - if (!currentStepNotified) { - - if (logTaskStartFinish) - slcExecution.currentStep().addLog( - "Task " + event.getTask().getTaskName() + " finished"); - - notifyStep(slcExecution, slcExecution.currentStep()); - currentStepNotified = true; - } - } - - public void setNotifiers(List notifiers) { - this.notifiers = notifiers; - } - - protected SlcExecution getSlcExecution(BuildEvent event) { - Project projectEvt = event.getProject(); - if (!projectEvt.equals(project)) - throw new SlcAntException("Event project " + projectEvt - + " not consistent with listener project " + project); - - SlcExecution slcExecution = (SlcExecution) project - .getReference(REF_SLC_EXECUTION); - - if (slcExecution == null) - throw new SlcAntException("No SLC Execution registered."); - return slcExecution; - } - - protected void addLogStep(BuildEvent event, String msg) { - SlcExecution slcExecution = getSlcExecution(event); - slcExecution.getSteps().add(new SlcExecutionStep("LOG", msg)); - - notifyStep(slcExecution, slcExecution.currentStep()); - currentStepNotified = true; - } - - protected void notifyStep(SlcExecution slcExecution, SlcExecutionStep step) { - Vector additionalSteps = new Vector(); - additionalSteps.add(step); - notifySteps(slcExecution, additionalSteps); - } - - protected void notifySteps(SlcExecution slcExecution, - List additionalSteps) { - for (SlcExecutionNotifier notifier : notifiers) { - notifier.addSteps(slcExecution, additionalSteps); - } - } - - /* Log4j methods */ - - @Override - protected void append(LoggingEvent event) { - if (isLogging) { - // avoid StackOverflow if notification calls Log4j itself. - return; - } - - if (event.getLoggerName().equals( - WebServiceSlcExecutionNotifier.class.getName())) { - return; - } - - isLogging = true; - - try { - SlcExecution slcExecution = (SlcExecution) project - .getReference(REF_SLC_EXECUTION); - if (slcExecution != null) { - if (currentStepNotified) { - slcExecution.getSteps().add( - new SlcExecutionStep("LOG", event.getMessage() - .toString())); - currentStepNotified = false; - } - slcExecution.currentStep() - .addLog(event.getMessage().toString()); - } else { - // TODO: log before initialization? - } - } finally { - isLogging = false; - } - - } - - protected boolean shouldLog() { - return logBeforeFirstTarget || firstTargetStarted; - } - - @Override - public void close() { - } - - @Override - public boolean requiresLayout() { - return false; - } - - public Project getProject() { - return project; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java deleted file mode 100644 index 001ead97b..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java +++ /dev/null @@ -1,266 +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.List; -import java.util.Map; -import java.util.Properties; -import java.util.UUID; -import java.util.Vector; - -import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.AbstractApplicationContext; -import org.springframework.context.support.FileSystemXmlApplicationContext; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.log4j.LogManager; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildListener; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.helper.ProjectHelper2; - -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionNotifier; -import org.argeo.slc.core.structure.DefaultSRegistry; -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; - -/** - * Custom implementation of an Ant ProjectHelper binding a Spring - * application context and a structure registry with the Ant project. - */ -public class SlcProjectHelper extends ProjectHelper2 { - private static Log log; - - /** The Ant reference to the Spring application context used. */ - public static String REF_ROOT_CONTEXT = "slcApplicationContext"; - /** The Ant reference to the SLC structure registry used. */ - public static String REF_STRUCTURE_REGISTRY = "slcStructureRegistry"; - /** The Ant reference to the TreePath of the current project */ - public static String REF_PROJECT_PATH = "slcProjectPath"; - /** - * Resource path to the property file listing the SLC specific Ant tasks: - * /org/argeo/slc/ant/taskdefs.properties - */ - private static String SLC_TASKDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/taskdefs.properties"; - private static String SLC_TYPEDEFS_RESOURCE_PATH = "/org/argeo/slc/ant/typedefs.properties"; - - protected SlcAntConfig slcAntConfig = null; - - @Override - public void parse(Project project, Object source) throws BuildException { - - if (source instanceof File) { - File sourceFile = (File) source; - // Reset basedir property, in order to avoid base dir override when - // running in Maven - project.setProperty("basedir", sourceFile.getParentFile() - .getAbsolutePath()); - } - - if (slcAntConfig != null) { - // Config already initialized (probably import), only parse - super.parse(project, source); - return; - } - - // Initialize config - slcAntConfig = new SlcAntConfig(); - - if (!slcAntConfig.initProject(project)) { - // not SLC compatible, do normal Ant - super.parse(project, source); - return; - } - - if (log == null) { - // log4j is initialized only now - log = LogFactory.getLog(SlcProjectHelper.class); - } - - if (log.isDebugEnabled()) - log.debug("SLC properties are set, starting initialization for " - + source + " (projectHelper=" + this + ")"); - - beforeParsing(project); - - // Calls the underlying implementation to do the actual work - super.parse(project, source); - - afterParsing(project); - } - - /** - * Performs operations after config initialization and before Ant file - * parsing. Performed only once when the main project file is parsed. Should - * be called by overriding methods. - */ - protected void beforeParsing(Project project) { - // Init Spring application context - initSpringContext(project); - - // Init structure registry - DefaultSRegistry registry = new DefaultSRegistry(); - project.addReference(REF_STRUCTURE_REGISTRY, registry); - } - - /** - * Performs operations after parsing of the main file. Called only once (not - * for imports). - */ - protected void afterParsing(Project project) { - // Creates structure root - registerProjectAndParents(project, slcAntConfig); - addCustomTaskAndTypes(project); - } - - /** Creates the tree-based structure for this project. */ - private void registerProjectAndParents(Project project, - SlcAntConfig slcAntConfig) { - StructureRegistry registry = (StructureRegistry) project - .getReference(REF_STRUCTURE_REGISTRY); - File rootDir = new File(project - .getUserProperty(SlcAntConfig.ROOT_DIR_PROPERTY)) - .getAbsoluteFile(); - File baseDir = project.getBaseDir().getAbsoluteFile(); - List dirs = new Vector(); - File currentDir = baseDir; - do { - dirs.add(currentDir); - currentDir = currentDir.getParentFile(); - if (log.isTraceEnabled()) - log.trace("List " + currentDir); - } while (!currentDir.equals(rootDir.getParentFile())); - - // first path is root dir (because of previous algorithm) - TreeSPath currPath = TreeSPath.createRootPath(rootDir.getName()); - for (int i = dirs.size() - 1; i >= 0; i--) { - File dir = dirs.get(i); - - // retrieves description for this path - final String description; - if (i == 0) {// project itself - description = project.getDescription() != null - && !project.getDescription().equals("") ? project - .getDescription() : project.getName() != null ? project - .getName() : slcAntConfig.getDescriptionForDir(dir); - } else { - description = slcAntConfig.getDescriptionForDir(dir); - if (log.isTraceEnabled()) - log.trace("Dir desc " + i + "/" + dirs.size() + ": " - + description); - } - SimpleSElement element = new SimpleSElement(description); - - // creates and register path - if (!dir.equals(rootDir)) {// already set - currPath = currPath.createChild(dir.getName()); - } - registry.register(currPath, element); - } - project.addReference(REF_PROJECT_PATH, currPath); - } - - /** Gets the path of a project (root). */ - // private static TreeSPath getProjectPath(Project project) { - // return (TreeSPath) project.getReference(REF_PROJECT_PATH); - // } - /** Initializes the Spring application context. */ - private void initSpringContext(Project project) { - System.getProperties().putAll((Map) project.getProperties()); - String acPath = project - .getUserProperty(SlcAntConfig.APPLICATION_CONTEXT_PROPERTY); - if (log.isDebugEnabled()) - log.debug("Loading Spring application context from " + acPath); - // FIXME: workaround to the removal of leading '/' by Spring - // use URL instead? - AbstractApplicationContext context = new FileSystemXmlApplicationContext( - '/' + acPath); - context.registerShutdownHook(); - project.addReference(REF_ROOT_CONTEXT, context); - - createAndRegisterSlcExecution(project); - // Add build listeners declared in Spring context - // Map listeners = context.getBeansOfType( - // BuildListener.class, false, true); - // for (BuildListener listener : listeners.values()) { - // project.addBuildListener(listener); - // } - } - - /** Loads the SLC specific Ant tasks. */ - protected static void addCustomTaskAndTypes(Project project) { - Properties taskdefs = getDefs(project, SLC_TASKDEFS_RESOURCE_PATH); - for (Object o : taskdefs.keySet()) { - String name = o.toString(); - try { - project.addTaskDefinition(name, Class.forName(taskdefs - .getProperty(name))); - } catch (ClassNotFoundException e) { - log.error("Unknown class for task " + name, e); - } - } - Properties typedefs = getDefs(project, 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 static 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 SlcAntException("Cannot load task definitions", e); - } - return defs; - } - - protected static void createAndRegisterSlcExecution(Project project) { - SlcExecution slcExecution = new SlcExecution(); - slcExecution.setUuid(UUID.randomUUID().toString()); - try { - slcExecution.setHost(InetAddress.getLocalHost().getHostName()); - } catch (UnknownHostException e) { - slcExecution.setHost(SlcExecution.UNKOWN_HOST); - } - - if (project.getReference(SlcProjectHelper.REF_ROOT_CONTEXT) != null) { - slcExecution.setType(SlcExecutionBuildListener.SLC_ANT_TYPE); - } else { - slcExecution.setType(SlcExecutionBuildListener.ANT_TYPE); - } - - slcExecution.setUser(System.getProperty("user.name")); - slcExecution.setStatus(SlcExecution.STATUS_RUNNING); - slcExecution.getAttributes().put("ant.file", - project.getProperty("ant.file")); - - project.addReference(SlcExecutionBuildListener.REF_SLC_EXECUTION, - slcExecution); - - // Add build listeners declared in Spring context - Map listeners = ((ListableBeanFactory) project - .getReference(REF_ROOT_CONTEXT)).getBeansOfType( - ProjectRelatedBuildListener.class, false, true); - for (ProjectRelatedBuildListener listener : listeners.values()) { - listener.init(project); - project.addBuildListener(listener); - } - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java deleted file mode 100644 index 36c22547b..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.argeo.slc.ant.deploy; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.BuildException; - -import org.argeo.slc.ant.spring.AbstractSpringArg; -import org.argeo.slc.ant.structure.SAwareTask; -import org.argeo.slc.core.deploy.DeploymentData; -import org.argeo.slc.core.deploy.TargetData; -import org.argeo.slc.core.deploy.WritableDeployment; - -/** Ant task wrapping a deployment. */ -public class SlcDeployTask extends SAwareTask { - private Log log = LogFactory.getLog(SlcDeployTask.class); - - private String deploymentBean = null; - - private DeploymentDataArg deploymentDataArg; - private TargetDataArg targetDataArg; - - @Override - public void executeActions(String mode) throws BuildException { - WritableDeployment deployment = (WritableDeployment) getContext() - .getBean(deploymentBean); - - // set overridden references - if (deploymentDataArg != null) { - deployment.setDeploymentData(deploymentDataArg.getDeploymentData()); - log.trace("Overrides deployment data"); - } - - if (targetDataArg != null) { - deployment.setTargetData(targetDataArg.getTargetData()); - log.trace("Overrides target data"); - } - - deployment.execute(); - } - - /** - * The bean name of the test run to use. If not set the default is used. - * - * @see SlcAntConfig - */ - public void setDeployment(String deploymentBean) { - this.deploymentBean = deploymentBean; - } - - /** Creates deployment data sub tag. */ - public DeploymentDataArg createDeploymentData() { - deploymentDataArg = new DeploymentDataArg(); - return deploymentDataArg; - } - - /** Creates target data sub tag. */ - public TargetDataArg createTargetData() { - targetDataArg = new TargetDataArg(); - return targetDataArg; - } -} - -class DeploymentDataArg extends AbstractSpringArg { - DeploymentData getDeploymentData() { - return (DeploymentData) getBeanInstance(); - } - -} - -class TargetDataArg extends AbstractSpringArg { - TargetData getTargetData() { - return (TargetData) getBeanInstance(); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/package.html deleted file mode 100644 index 76582d159..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/deploy/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Integration of SLC Deploy in Ant. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/package.html deleted file mode 100644 index 9f36fb1bf..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/package.html +++ /dev/null @@ -1,38 +0,0 @@ - - - -Bases classes for SLC Ant extensions. -

Introduction

-SLC Ant allows to integrate Ant and Spring in order to run an -application based on top of SLC. Sequence of actions are defined in Ant -files with specific Ant tasks referencing Spring beans implementing the -SLC interfaces. The properties of these beans can be overridden at -runtime in the Ant scripts. -
-SLC Ant also provides a tree-based implementation of the SLC structure -which allows to uniquely identify and reference the various actions. - -

Installation

-The structure will be first defined by the directory tree where the Ant -files are stored. In order to define the root of this tree, you need to -place in the root directory an -SLC Ant root file -(default name: slcRoot.properties). -
-In this root file you can define a configuration directory and a work -directory (default values are provided if they are not explicitly set). -
-Additional properties can then be defined in files stored under the -configuration directory. -
-For details about the configuration and the various properties, please -refer to {@link org.argeo.slc.ant.SlcAntConfig}. - -

Running SLC Ant

-SLC Ant can be run either via pure Ant scripts or programmatically using -{@link org.argeo.slc.ant.AntRegistryUtil}. In both cases, make sure that -SLC and its dependencies are in the classpath (Spring (always), logging -system such as log4j, Hibernate, etc.). - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java deleted file mode 100644 index 6096f1f63..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringArg.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.argeo.slc.ant.spring; - -import java.util.List; -import java.util.Vector; - -import org.springframework.beans.BeanWrapper; -import org.springframework.beans.BeanWrapperImpl; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.context.ApplicationContext; - -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.types.DataType; - -import org.argeo.slc.ant.SlcAntException; -import org.argeo.slc.ant.SlcProjectHelper; -import org.argeo.slc.core.SlcException; - -/** Abstract Ant type wrapping a Spring bean. */ -public abstract class AbstractSpringArg extends DataType { - private List overrides = new Vector(); - - private String bean; - - // cache bean instance to avoid reading it twice if it is a prototype - private Object beanInstance = null; - - /** The name of the underlying bean, as set throught the attribute. */ - public String getBean() { - return bean; - } - - /** Setter for the bean name. */ - public void setBean(String bean) { - this.bean = bean; - } - - /** - * Retrieve the instance of the bean, and sets the overriden properties. - * The value is cached. - */ - public Object getBeanInstance() { - if (beanInstance == null) { - beanInstance = getContext().getBean(bean); - - setOverridenProperties(beanInstance); - - if (beanInstance instanceof InitializingBean) { - try { - ((InitializingBean) beanInstance).afterPropertiesSet(); - } catch (Exception e) { - throw new SlcException("Could not initialize bean", e); - } - } - } - return beanInstance; - } - - protected void setOverridenProperties(Object obj){ - BeanWrapper wrapper = new BeanWrapperImpl(obj); - for (OverrideArg override : overrides) { - if (override.getName() == null) { - throw new SlcAntException( - "The name of the property to override has to be set."); - } - -// LogFactory.getLog(getClass()).debug( -// "Prop " + override.getName()); - wrapper.setPropertyValue(override.getName(), override - .getObject()); - } - - } - - /** Creates an override subtag. */ - public OverrideArg createOverride() { - OverrideArg propertyArg = new OverrideArg(); - overrides.add(propertyArg); - return propertyArg; - } - - /** The related Spring application context. */ - protected ApplicationContext getContext() { - return (ApplicationContext) getProject().getReference( - SlcProjectHelper.REF_ROOT_CONTEXT); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java deleted file mode 100644 index 925140fa5..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/AbstractSpringTask.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.argeo.slc.ant.spring; - -import org.springframework.context.ApplicationContext; - -import org.apache.tools.ant.Task; - -import org.argeo.slc.ant.SlcExecutionBuildListener; -import org.argeo.slc.ant.SlcProjectHelper; -import org.argeo.slc.core.process.SlcExecution; - -/** Abstract Ant task providing access to a Spring context. */ -public abstract class AbstractSpringTask extends Task { - - /** Gets the related Spring context. */ - protected ApplicationContext getContext() { - return (ApplicationContext) getProject().getReference( - SlcProjectHelper.REF_ROOT_CONTEXT); - } - - /** Gets the related slc execution or null if not is registered. */ - protected SlcExecution getSlcExecution() { - return (SlcExecution) getProject().getReference( - SlcExecutionBuildListener.REF_SLC_EXECUTION); - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/MapArg.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/MapArg.java deleted file mode 100644 index eb4527644..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/MapArg.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.argeo.slc.ant.spring; - -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.Vector; - -import org.apache.tools.ant.BuildException; - -import org.argeo.slc.core.SlcException; - -public class MapArg { - private List entries = new Vector(); - private Map map = new TreeMap(); - - public EntryArg createEntry() { - EntryArg arg = new EntryArg(); - entries.add(arg); - return arg; - } - - public Map getMap() { - if (map.size() == 0) { - for (EntryArg arg : entries) { - String key = arg.getKey(); - if (map.containsKey(key)) { - throw new SlcException("Key '" + key + "' already set."); - } else { - map.put(key, arg.getValueStr()); - } - } - } - return map; - } - - public static class EntryArg { - private String key; - private Object valueStr; - private OverrideArg overrideArg; - - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - public Object getValueStr() { - if (overrideArg != null) { - return overrideArg.getObject(); - } else if (valueStr != null) { - return valueStr; - } else { - throw new BuildException("Value not set."); - } - } - - public void setValue(String value) { - check(); - this.valueStr = value; - } - - public OverrideArg createOverride() { - check(); - overrideArg = new OverrideArg(); - return overrideArg; - } - - private void check() { - if (valueStr != null || overrideArg != null) { - throw new BuildException("Value already set"); - } - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java deleted file mode 100644 index 5c0dc3e69..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/OverrideArg.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.argeo.slc.ant.spring; - -import java.util.List; -import java.util.Vector; - -import org.apache.tools.ant.BuildException; - -import org.argeo.slc.core.SlcException; - -/** Ant type allowing to override bean properties. */ -public class OverrideArg extends AbstractSpringArg { - private String name; - private Object value; - private OverrideList overrideList; - private MapArg overrideMap; - private String antref; - - /** The name of the property to override. */ - public String getName() { - return name; - } - - /** Sets the name. */ - public void setName(String name) { - this.name = name; - } - - /** Sets a reference to an ant data type. */ - public void setAntref(String antref) { - checkValueAlreadySet(); - this.antref = antref; - } - - /** Both value and bean cannot be set. */ - public void setValue(String value) { - checkValueAlreadySet(); - this.value = value; - } - - @Override - public void setBean(String bean) { - checkValueAlreadySet(); - super.setBean(bean); - } - - /** Creates override list sub tag. */ - public OverrideList createList() { - checkValueAlreadySet(); - overrideList = new OverrideList(); - return overrideList; - } - - public MapArg createMap() { - checkValueAlreadySet(); - overrideMap = new MapArg(); - return overrideMap; - } - - /** - * The related object: the value if a value had been set or an instance of - * the bean if not. - */ - public Object getObject() { - if (value != null) { - return value; - } else if (getBean() != null) { - return getBeanInstance(); - } else if (overrideList != null) { - return overrideList.getAsObjectList(); - } else if (overrideMap != null) { - return overrideMap.getMap(); - } else if (antref != null) { - Object obj = getProject().getReference(antref); - if (obj == null) { - throw new SlcException("No object found for reference " - + antref); - } - setOverridenProperties(obj); - return obj; - } else { - throw new BuildException("Value or bean not set."); - } - } - - private void checkValueAlreadySet() { - if (value != null || overrideList != null || antref != null - || getBean() != null || overrideMap != null) { - throw new BuildException("Value already set."); - } - } - - /** List of overrides */ - protected class OverrideList { - private List list = new Vector(); - - /** Creates override sub tag. */ - public OverrideArg createOverride() { - OverrideArg overrideArg = new OverrideArg(); - list.add(overrideArg); - return overrideArg; - } - - /** Gets as list of objects. */ - public List getAsObjectList() { - List objectList = new Vector(); - for (OverrideArg arg : list) { - objectList.add(arg.getObject()); - } - return objectList; - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/package.html deleted file mode 100644 index 6d141d993..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/spring/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Integration of Spring in Ant. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java deleted file mode 100644 index d248a3870..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/SAwareTask.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.argeo.slc.ant.structure; - -import java.util.List; -import java.util.Vector; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Target; - -import org.argeo.slc.ant.SlcAntException; -import org.argeo.slc.ant.SlcProjectHelper; -import org.argeo.slc.ant.spring.AbstractSpringArg; -import org.argeo.slc.ant.spring.AbstractSpringTask; -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; - -/** Ant task that can be registered within a structure. */ -public abstract class SAwareTask extends AbstractSpringTask { - private String path; - private TreeSPath treeSPath; - private final List sAwareArgs = new Vector(); - - private StructureElementArg structureElementArg; - - @Override - public void init() throws BuildException { - StructureRegistry registry = getRegistry(); - Target target = getOwningTarget(); - - TreeSPath targetPath = createTargetPath(target); - SimpleSElement targetElement = (SimpleSElement) registry - .getElement(createTargetPath(target)); - - if (targetElement == null) { - targetElement = new SimpleSElement(target.getDescription(), - ""); - registry.register(targetPath, targetElement); - } - } - - /** - * Includes this arg in the checks for propagation of structure related - * information. - */ - protected void addSAwareArg(AbstractSpringArg arg) { - sAwareArgs.add(arg); - } - - @Override - /** - * Called by Ant at runtime. Decides whether to call the actions depending - * of the mode of the underlying structure registry. - * - * @see #executeActions - * @see StructureRegistry - */ - public final void execute() throws BuildException { - if (path == null) { - // register the task in the structure - TreeSPath targetPath = createTargetPath(getOwningTarget()); - TreeSPath taskPath = targetPath.createChild(getTaskName() - + targetPath.listChildren(getRegistry()).size()); - - treeSPath = taskPath; - } else { - treeSPath = new TreeSPath(path); - } - - if (getRegistry().getElement(treeSPath) == null) { - // No structure element registered. - if (structureElementArg != null) { - getRegistry().register(treeSPath, - structureElementArg.getStructureElement()); - } else { - if (getDescription() != null) { - getRegistry().register(treeSPath, - new SimpleSElement(getDescription())); - } - } - } - - // notify registered args - for (AbstractSpringArg arg : sAwareArgs) { - Object obj = arg.getBeanInstance(); - - if (obj instanceof StructureAware) { - StructureAware sAwareT = (StructureAware) obj; - sAwareT.notifyCurrentPath(getRegistry(), treeSPath); - } - } - - // execute depending on the registry mode - String mode = getRegistry().getMode(); - if (mode.equals(StructureRegistry.ALL)) { - executeActions(mode); - } else if (mode.equals(StructureRegistry.ACTIVE)) { - List activePaths = getRegistry().getActivePaths(); - - if (activePaths.contains(treeSPath)) { - if (activePaths.contains(treeSPath)) { - executeActions(mode); - } - } - } - - } - - /** Actions to be executed by the implementor. */ - protected abstract void executeActions(String mode); - - /** Create a reference to an external structure element. */ - public StructureElementArg createStructureElement() { - if (structureElementArg != null) - throw new SlcAntException("Arg already set."); - structureElementArg = new StructureElementArg(); - return structureElementArg; - } - - /** Gets the underlying structure registry. */ - protected StructureRegistry getRegistry() { - return (StructureRegistry) getProject().getReference( - SlcProjectHelper.REF_STRUCTURE_REGISTRY); - } - - /** Creates the treeSPath for a given Ant target. */ - protected static TreeSPath createTargetPath(Target target) { - TreeSPath projectPath = (TreeSPath) target.getProject().getReference( - SlcProjectHelper.REF_PROJECT_PATH); - return projectPath.createChild(target.getName()); - } - - /** Gets the treeSPath under which this task is registered. */ - public TreeSPath getTreeSPath() { - return treeSPath; - } - - public String getLabel() { - String description = super.getDescription(); - if (description == null) { - return ""; - } else { - return description; - } - } - - public void setPath(String path) { - this.path = path; - } -} - -class StructureElementArg extends AbstractSpringArg { - public StructureElement getStructureElement() { - return (StructureElement) getBeanInstance(); - } -} \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/package.html deleted file mode 100644 index 99e45d335..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/structure/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Integration of SLC Structure in Ant. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/ParentContextType.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/ParentContextType.java deleted file mode 100644 index 7915b1a42..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/ParentContextType.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.argeo.slc.ant.test; - -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import org.apache.tools.ant.types.DataType; - -import org.argeo.slc.ant.spring.MapArg; -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.test.context.ContextAware; -import org.argeo.slc.core.test.context.ContextUtils; -import org.argeo.slc.core.test.context.ParentContextAware; - -public class ParentContextType extends DataType implements ParentContextAware { - private MapArg values = null; - private MapArg expectedValues = null; - - private String contextAnyFlag = DEFAULT_ANY_FLAG; - private String contextSkipFlag = DEFAULT_SKIP_FLAG; - - private String basedon = null; - - private List children = new Vector(); - - public MapArg createValues() { - values = new MapArg(); - return values; - } - - public MapArg createExpectedValues() { - expectedValues = new MapArg(); - return expectedValues; - } - - public void addChildContext(ContextAware contextAware) { - children.add(contextAware); - } - - public Collection getChildContexts() { - return children; - } - - public String getContextAnyFlag() { - return contextAnyFlag; - } - - public void setContextAnyFlag(String contextAnyFlag) { - this.contextAnyFlag = contextAnyFlag; - } - - public String getContextSkipFlag() { - return contextSkipFlag; - } - - public void setContextSkipFlag(String contextSkipFlag) { - this.contextSkipFlag = contextSkipFlag; - } - - public Map getExpectedValues() { - if (expectedValues == null) - expectedValues = new MapArg(); - if (basedon != null) { - Map map = getBaseContext().getExpectedValues(); - ContextUtils.putNotContained(expectedValues.getMap(), map); - } - return expectedValues.getMap(); - } - - public Map getValues() { - if (values == null) - values = new MapArg(); - if (basedon != null) { - Map map = getBaseContext().getValues(); - ContextUtils.putNotContained(values.getMap(), map); - } - return values.getMap(); - } - - private ParentContextType getBaseContext() { - return (ParentContextType) getProject().getReference(basedon); - } - - public void setValues(Map values) { - throw new SlcException("Cannot override values map."); - } - - public void setUpdateValues(Map overrideValues) { - getValues().putAll(overrideValues); - } - - public void setUpdateExpectedValues( - Map overrideExpectedValues) { - getExpectedValues().putAll(overrideExpectedValues); - } - - public void setBasedon(String basedon) { - this.basedon = basedon; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java deleted file mode 100644 index bc0c2ba1a..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcCloseTestResultTask.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.argeo.slc.ant.test; - -import org.argeo.slc.ant.structure.SAwareTask; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.test.TestResult; - -/** Ant tasks closing a given result. */ -public class SlcCloseTestResultTask extends SAwareTask { - private String result; - - @Override - public void executeActions(String mode) { - if (!mode.equals(StructureRegistry.READ)) { - TestResult testResult = (TestResult) getContext().getBean(result); - testResult.close(); - } - } - - /** Sets the bean name of the result to close. */ - public void setResult(String bean) { - this.result = bean; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java deleted file mode 100644 index 75877625d..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.argeo.slc.ant.test; - -import org.argeo.slc.ant.structure.SAwareTask; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.test.TestReport; -import org.argeo.slc.core.test.TestResult; - -/** Ant tasks generating a report. */ -public class SlcReportTask extends SAwareTask { - private String result; - private String report; - - @Override - public void executeActions(String mode) { - if (!mode.equals(StructureRegistry.READ)) { - TestResult testResult = null; - if (result != null) { - testResult = (TestResult) getContext().getBean(result); - } - TestReport testReport = (TestReport) getContext().getBean(report); - if (testReport instanceof StructureAware) { - ((StructureAware) testReport).notifyCurrentPath(getRegistry(), - null); - } - testReport.generateTestReport(testResult); - } - } - - /** Sets the bean name of the result to close. */ - public void setResult(String bean) { - this.result = bean; - } - - /** Sets the bean name of the report to generate. */ - public void setReport(String report) { - this.report = report; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java deleted file mode 100644 index 6f2411c00..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/SlcTestTask.java +++ /dev/null @@ -1,176 +0,0 @@ -package org.argeo.slc.ant.test; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.tools.ant.BuildException; - -import org.argeo.slc.ant.SlcAntConfig; -import org.argeo.slc.ant.spring.AbstractSpringArg; -import org.argeo.slc.ant.structure.SAwareTask; -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionAware; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.ExecutableTestRun; -import org.argeo.slc.core.test.SimpleTestResult; -import org.argeo.slc.core.test.SimpleTestRun; -import org.argeo.slc.core.test.TestData; -import org.argeo.slc.core.test.TestDefinition; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.WritableTestRun; -import org.argeo.slc.spring.SpringUtils; - -/** Ant task wrapping a test run. */ -public class SlcTestTask extends SAwareTask { - private Log log = LogFactory.getLog(SlcTestTask.class); - - private String testRunBean = null; - - private TestDefinitionArg testDefinitionArg; - private TestDataArg testDataArg; - private DeployedSystemArg deployedSystemArg; - private TestResultArg testResultArg; - - @Override - public void executeActions(String mode) throws BuildException { - // find test run - final String testRunBeanT; - if (testRunBean != null) { - testRunBeanT = testRunBean; - } else { - testRunBeanT = getProject().getUserProperty( - SlcAntConfig.DEFAULT_TEST_RUN_PROPERTY); - } - WritableTestRun testRun = null; - - if (testRunBeanT != null) { - testRun = (WritableTestRun) getContext().getBean(testRunBeanT); - if (log.isTraceEnabled()) - log.trace("Load test run bean from bean name " + testRunBeanT); - } - - if (testRun == null) { - testRun = loadSingleFromContext(WritableTestRun.class); - if (testRun == null) { - testRun = new SimpleTestRun(); - log.warn("Created default simple test run"); - } else { - if (log.isTraceEnabled()) - log.trace("Load test run from scanning Spring context"); - } - } - - // set overridden references - if (testDataArg != null) { - testRun.setTestData(testDataArg.getTestData()); - log.trace("Overrides test data"); - } - - if (testDefinitionArg != null) { - testRun.setTestDefinition(testDefinitionArg.getTestDefinition()); - log.trace("Overrides test definition"); - } - - if (deployedSystemArg != null) { - testRun.setDeployedSystem(deployedSystemArg.getDeployedSystem()); - log.trace("Overrides deployed system"); - } - - if (testResultArg != null) { - testRun.setTestResult(testResultArg.getTestResult()); - log.trace("Overrides test result"); - } - - // notify path to test result - TestResult result = testRun.getTestResult(); - if (result == null) { - result = loadSingleFromContext(TestResult.class); - if (result == null) { - result = new SimpleTestResult(); - log.warn("Created default simple test result"); - } else { - if (log.isTraceEnabled()) - log.trace("Load test result from scanning Spring context"); - } - testRun.setTestResult(result); - } - - SlcExecution slcExecution = getSlcExecution(); - testRun.notifySlcExecution(slcExecution); - - if (result != null && result instanceof StructureAware) { - ((StructureAware) result).notifyCurrentPath( - getRegistry(), getTreeSPath()); - } - - ((ExecutableTestRun) testRun).execute(); - } - - /** - * The bean name of the test run to use. If not set the default is used. - * - * @see SlcAntConfig - */ - public void setTestRun(String testRunBean) { - this.testRunBean = testRunBean; - } - - /** Creates sub tag. */ - public TestDefinitionArg createTestDefinition() { - testDefinitionArg = new TestDefinitionArg(); - // only test definitions can add to path - addSAwareArg(testDefinitionArg); - return testDefinitionArg; - } - - /** Creates sub tag. */ - public TestDataArg createTestData() { - testDataArg = new TestDataArg(); - return testDataArg; - } - - /** Creates sub tag. */ - public DeployedSystemArg createDeployedSystem() { - deployedSystemArg = new DeployedSystemArg(); - return deployedSystemArg; - } - - /** Creates sub tag. */ - public TestResultArg createTestResult() { - testResultArg = new TestResultArg(); - return testResultArg; - } - - protected T loadSingleFromContext(Class clss) { - return SpringUtils.loadSingleFromContext(getContext(), clss); - } -} - -class TestDefinitionArg extends AbstractSpringArg { - TestDefinition getTestDefinition() { - return (TestDefinition) getBeanInstance(); - } -} - -class TestDataArg extends AbstractSpringArg { - TestData getTestData() { - return (TestData) getBeanInstance(); - } - -} - -class DeployedSystemArg extends AbstractSpringArg { - DeployedSystem getDeployedSystem() { - return (DeployedSystem) getBeanInstance(); - } - -} - -class TestResultArg extends AbstractSpringArg { - TestResult getTestResult() { - return (TestResult) getBeanInstance(); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/package.html deleted file mode 100644 index 179159b39..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ant/test/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Integration of SLC Test in Ant. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/structure/tree/TreeSPathFieldHandler.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/structure/tree/TreeSPathFieldHandler.java deleted file mode 100644 index ad117ff14..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/structure/tree/TreeSPathFieldHandler.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.argeo.slc.castor.structure.tree; - -import org.exolab.castor.mapping.AbstractFieldHandler; -import org.exolab.castor.mapping.MapItem; - -import org.argeo.slc.core.structure.tree.TreeSPath; - -public class TreeSPathFieldHandler extends AbstractFieldHandler { - - @Override - public Object getValue(Object object) throws IllegalStateException { - MapItem part = (MapItem) object; - return ((TreeSPath) part.getKey()).getAsUniqueString(); - } - - @Override - public Object newInstance(Object parent) throws IllegalStateException { - return null; - } - - @Override - public Object newInstance(Object parent, Object[] args) - throws IllegalStateException { - return null; - } - - @Override - public void resetValue(Object object) throws IllegalStateException, - IllegalArgumentException { - MapItem part = (MapItem) object; - part.setKey(null); - } - - @Override - public void setValue(Object object, Object value) - throws IllegalStateException, IllegalArgumentException { - MapItem part = (MapItem) object; - part.setKey(TreeSPath.parseToCreatePath(value.toString())); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/test/tree/StatusFieldHandler.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/test/tree/StatusFieldHandler.java deleted file mode 100644 index 4cc334878..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/castor/test/tree/StatusFieldHandler.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.argeo.slc.castor.test.tree; - -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.SlcTestUtils; -import org.argeo.slc.core.test.TestStatus; -import org.exolab.castor.mapping.AbstractFieldHandler; - -public class StatusFieldHandler extends AbstractFieldHandler { - - @Override - public Object getValue(Object object) throws IllegalStateException { - SimpleResultPart part = (SimpleResultPart) object; - return SlcTestUtils.statusToString(part.getStatus()); - } - - @Override - public Object newInstance(Object parent) throws IllegalStateException { - return null; - } - - @Override - public Object newInstance(Object parent, Object[] args) - throws IllegalStateException { - return null; - } - - @Override - public void resetValue(Object object) throws IllegalStateException, - IllegalArgumentException { - SimpleResultPart part = (SimpleResultPart) object; - // ERROR by default since it should be explicitely set - part.setStatus(TestStatus.ERROR); - } - - @Override - public void setValue(Object object, Object value) - throws IllegalStateException, IllegalArgumentException { - SimpleResultPart part = (SimpleResultPart) object; - Integer status = SlcTestUtils.stringToStatus((String) value); - part.setStatus(status); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/SlcException.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/SlcException.java deleted file mode 100644 index 7daffaf87..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/SlcException.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.argeo.slc.core; - -/** Basis for all SLC exceptions. This is an unchecked exception. */ -public class SlcException extends RuntimeException { - static final long serialVersionUID = 1l; - - /** Constructor. */ - public SlcException(String message) { - super(message); - } - - /** Constructor. */ - public SlcException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/UnsupportedException.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/UnsupportedException.java deleted file mode 100644 index 4b46b35de..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/UnsupportedException.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.argeo.slc.core; - -/** Exception for unsupported features or actions. */ -public class UnsupportedException extends SlcException { - static final long serialVersionUID = 1l; - - /** Action not supported. */ - public UnsupportedException() { - this("Action not supported"); - } - - /** Constructor with a message. */ - public UnsupportedException(String message) { - super(message); - } - - /** - * Constructor generating a message. - * - * @param nature - * the nature of the unsupported object - * @param obj - * the object itself (its class name will be used in message) - */ - public UnsupportedException(String nature, Object obj) { - super("Unsupported " + nature + ": " - + (obj != null ? obj.getClass() : "[object is null]")); - } - - /** - * Constructor generating a message. - * - * @param nature - * the nature of the unsupported object - * @param clss - * the class itself (will be used in message) - */ - public UnsupportedException(String nature, Class clss) { - super("Unsupported " + nature + ": " + clss); - } - - /** - * Constructor generating a message. - * - * @param nature - * the nature of the unsupported object - * @param value - * the problematic value itself - */ - public UnsupportedException(String nature, String value) { - super("Unsupported " + nature + ": " + value); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/Distribution.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/Distribution.java deleted file mode 100644 index a9ada27f0..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/Distribution.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.argeo.slc.core.build; - -public interface Distribution { - public String getDistributionId(); - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/DistributionId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/DistributionId.java deleted file mode 100644 index c253a679b..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/DistributionId.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.argeo.slc.core.build; - -/** The id uniquely identifying the distribution of a software system. - * @deprecated*/ -public interface DistributionId { - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/VersionDistributionId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/VersionDistributionId.java deleted file mode 100644 index 27ac020b3..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/VersionDistributionId.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.argeo.slc.core.build; - -import java.util.StringTokenizer; - -/** - *

- * An implementation of the distribution id using the standard - * Major.Minor.Release notation. And additional arbitrary string can also be - * added. - *

- * - *

- * Examples:
- * 0.2.6
- * 2.4.12.RC1 - *

- */ -public class VersionDistributionId implements DistributionId { - - private Integer major; - private Integer minor; - private Integer release; - private String additional; - - /** Parse the provided string in order to set the various components. */ - public void setVersionString(String str) { - StringTokenizer st = new StringTokenizer(str, "."); - if (st.hasMoreTokens()) - major = Integer.parseInt(st.nextToken()); - if (st.hasMoreTokens()) - minor = Integer.parseInt(st.nextToken()); - if (st.hasMoreTokens()) - release = Integer.parseInt(st.nextToken()); - if (st.hasMoreTokens()) - additional = st.nextToken(); - } - - public Integer getMajor() { - return major; - } - - public void setMajor(Integer major) { - this.major = major; - } - - public Integer getMinor() { - return minor; - } - - public void setMinor(Integer minor) { - this.minor = minor; - } - - public Integer getRelease() { - return release; - } - - public void setRelease(Integer release) { - this.release = release; - } - - public String getAdditional() { - return additional; - } - - public void setAdditional(String additional) { - this.additional = additional; - } - - @Override - public boolean equals(Object obj) { - // TODO Auto-generated method stub - return super.equals(obj); - } - - @Override - public String toString() { - return major + "." + minor + "." + release - + (additional != null ? "." + additional : ""); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/package.html deleted file mode 100644 index 5da205278..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/build/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -SLC Build: building of software systems. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployEnvironment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployEnvironment.java deleted file mode 100644 index ca747f65e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployEnvironment.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.deploy; - -import java.io.File; -import java.util.Map; - -public interface DeployEnvironment { - public void unpackTo(Object packg, File targetLocation, - Map filter); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystem.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystem.java deleted file mode 100644 index 2fabf5606..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystem.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.deploy; - -import org.argeo.slc.core.build.Distribution; - -/** An instance of a software system. */ -public interface DeployedSystem { - public String getDeployedSystemId(); - public Distribution getDistribution(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystemId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystemId.java deleted file mode 100644 index ea4d19250..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeployedSystemId.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.deploy; - -import org.argeo.slc.core.build.DistributionId; - -/** The id uniquely identifying a deployed system. - * @deprecated*/ -public interface DeployedSystemId { - public DistributionId getDistributionId(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/Deployment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/Deployment.java deleted file mode 100644 index 4a7403071..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/Deployment.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.deploy; - -public interface Deployment { - public DeployedSystem getDeployedSystem(); - - public TargetData getTargetData(); - - public DeploymentData getDeploymentData(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeploymentData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeploymentData.java deleted file mode 100644 index 0148ea529..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/DeploymentData.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.deploy; - -public interface DeploymentData { - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/ExecutableDeployment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/ExecutableDeployment.java deleted file mode 100644 index 284e6c511..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/ExecutableDeployment.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.deploy; - -public interface ExecutableDeployment extends Deployment { - public void execute(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/NumericDSId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/NumericDSId.java deleted file mode 100644 index 494fc8a77..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/NumericDSId.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.argeo.slc.core.deploy; - -import org.argeo.slc.core.build.DistributionId; - -/** - * A basic implementation of a deployed system id, based on a long value and a - * reference to a distribution id. - */ -public class NumericDSId implements DeployedSystemId { - - private Long value; - private DistributionId distributionId; - - public Long getValue() { - return value; - } - - public void setValue(Long value) { - this.value = value; - } - - public DistributionId getDistributionId() { - return distributionId; - } - - public void setDistributionId(DistributionId distributionId) { - this.distributionId = distributionId; - } - - @Override - public boolean equals(Object obj) { - return value.toString().equals(obj.toString()); - } - - @Override - public String toString() { - return value.toString(); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/TargetData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/TargetData.java deleted file mode 100644 index 2fe155d31..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/TargetData.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.deploy; - -public interface TargetData { - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/WritableDeployment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/WritableDeployment.java deleted file mode 100644 index 15c3ccb6c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/WritableDeployment.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.deploy; - -public interface WritableDeployment extends ExecutableDeployment { - public void setDeployedSystem(DeployedSystem deployedSystem); - - public void setTargetData(TargetData targetData); - - public void setDeploymentData(DeploymentData deploymentData); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/package.html deleted file mode 100644 index f3a4c5bd6..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/deploy/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -SLC Deploy: deployment of software systems. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/package.html deleted file mode 100644 index db808c822..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Common classes of teh SLC framework. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/FileSlcExecutionNotifier.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/FileSlcExecutionNotifier.java deleted file mode 100644 index 1559635bd..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/FileSlcExecutionNotifier.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.argeo.slc.core.process; - -import java.io.File; -import java.io.FileWriter; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.transform.stream.StreamResult; - -import org.springframework.oxm.Marshaller; - -import org.apache.commons.io.IOUtils; - -import org.argeo.slc.core.SlcException; - -public class FileSlcExecutionNotifier implements SlcExecutionNotifier { - private final static SimpleDateFormat sdf = new SimpleDateFormat( - "yyyyMMdd-HHmmss"); - - private String basePath; - private Marshaller marshaller; - - private Map uuidToDir = new HashMap(); - - public void addSteps(SlcExecution slcExecution, - List additionalSteps) { - writeSlcExecution(slcExecution); - } - - public void newExecution(SlcExecution slcExecution) { - String dirPath = basePath + File.separator + sdf.format(new Date()) - + '-' + slcExecution.getUuid(); - File dir = new File(dirPath); - dir.mkdirs(); - - uuidToDir.put(slcExecution.getUuid(), dirPath); - - writeSlcExecution(slcExecution); - } - - public void updateExecution(SlcExecution slcExecution) { - writeSlcExecution(slcExecution); - } - - public void updateStatus(SlcExecution slcExecution, String oldStatus, - String newStatus) { - writeSlcExecution(slcExecution); - } - - protected void writeSlcExecution(SlcExecution slcExecution) { - FileWriter out = null; - try { - out = new FileWriter(getFilePath(slcExecution)); - marshaller.marshal(slcExecution, new StreamResult(out)); - } catch (Exception e) { - throw new SlcException("Cannot marshall SlcExecution to " - + getFilePath(slcExecution), e); - } finally { - IOUtils.closeQuietly(out); - } - } - - protected String getFileName(SlcExecution slcExecution) { - return "SlcExecution-" + slcExecution.getUuid() + ".xml"; - } - - protected String getFilePath(SlcExecution slcExecution) { - String dirPath = uuidToDir.get(slcExecution.getUuid()); - return dirPath + File.separator + "SlcExecution-" - + slcExecution.getUuid() + ".xml"; - } - - public void setBasePath(String basePath) { - this.basePath = basePath; - } - - public void setMarshaller(Marshaller marshaller) { - this.marshaller = marshaller; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecution.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecution.java deleted file mode 100644 index 4df206815..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecution.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.argeo.slc.core.process; - -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.Vector; - -public class SlcExecution { - public final static String STATUS_SCHEDULED = "SCHEDULED"; - public final static String STATUS_RUNNING = "RUNNING"; - public final static String STATUS_FINISHED = "FINISHED"; - public final static String STATUS_ERROR = "ERROR"; - public final static String STATUS_CLEANED = "CLEANED"; - - public final static String UNKOWN_HOST = "UNKOWN_HOST"; - - private String uuid; - private String host; - private String user; - private String type; - private String status; - private Map attributes = new TreeMap(); - - private List steps = new Vector(); - - public List getSteps() { - return steps; - } - - public void setSteps(List steps) { - this.steps = steps; - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public String getHost() { - return host; - } - - public void setHost(String host) { - this.host = host; - } - - public String getUser() { - return user; - } - - public void setUser(String path) { - this.user = path; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public SlcExecutionStep currentStep() { - if (steps.size() > 0) - return steps.get(steps.size() - 1); - else - return null; - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof SlcExecution) { - return getUuid().equals(((SlcExecution) obj).getUuid()); - } - return false; - } - - @Override - public int hashCode() { - return getUuid().hashCode(); - } - - public Map getAttributes() { - return attributes; - } - - public void setAttributes(Map attributes) { - this.attributes = attributes; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionAware.java deleted file mode 100644 index 089dc317e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionAware.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.process; - -public interface SlcExecutionAware { - public void notifySlcExecution(SlcExecution slcExecution); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionNotifier.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionNotifier.java deleted file mode 100644 index bf3b67ba5..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionNotifier.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.argeo.slc.core.process; - -import java.util.List; - -public interface SlcExecutionNotifier { - public void newExecution(SlcExecution slcExecution); - - public void addSteps(SlcExecution slcExecution, - List additionalSteps); - - public void updateExecution(SlcExecution slcExecution); - - public void updateStatus(SlcExecution slcExecution, String oldStatus, - String newStatus); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionStep.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionStep.java deleted file mode 100644 index 56b6ba020..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/SlcExecutionStep.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.argeo.slc.core.process; - -import java.io.IOException; -import java.io.StringReader; -import java.io.StringWriter; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.Vector; - -import org.apache.commons.io.IOUtils; - -public class SlcExecutionStep { - private String uuid; - private String type; - private Date begin; - private List logLines = new Vector(); - - /** Empty constructor */ - public SlcExecutionStep() { - } - - public SlcExecutionStep(String type, String log) { - this.type = type; - this.begin = new Date(); - this.uuid = UUID.randomUUID().toString(); - addLog(log); - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public Date getBegin() { - return begin; - } - - public void setBegin(Date begin) { - this.begin = begin; - } - - public List getLogLines() { - return logLines; - } - - public void setLogLines(List logLines) { - this.logLines = logLines; - } - - public String logAsString() { - StringWriter writer = new StringWriter(); - String log = writer.toString(); - IOUtils.closeQuietly(writer); - return log; - } - - public void addLog(String log) { - if (log == null) - return; - - try { - List lines = IOUtils.readLines(new StringReader(log)); - logLines.addAll(lines); - } catch (IOException e) { - throw new RuntimeException("Cannot add log", e); - } - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java deleted file mode 100644 index 969234487..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.argeo.slc.core.process; - -import java.util.List; - -import org.springframework.ws.client.WebServiceIOException; -import org.springframework.ws.client.core.WebServiceTemplate; -import org.springframework.ws.soap.client.SoapFaultClientException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.msg.process.SlcExecutionRequest; -import org.argeo.slc.msg.process.SlcExecutionStatusRequest; -import org.argeo.slc.msg.process.SlcExecutionStepsRequest; -import org.argeo.slc.ws.client.WebServiceUtils; - -public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { - private WebServiceTemplate template; - - private Log log = LogFactory.getLog(getClass()); - - private Boolean cannotConnect = false; - - public void newExecution(SlcExecution slcExecution) { - if (cannotConnect) - return; - - SlcExecutionRequest req = new SlcExecutionRequest(); - req.setSlcExecution(slcExecution); - try { - WebServiceUtils.marshalSendAndReceive(template, req); - if (log.isTraceEnabled()) - log.trace("Notified creation of slc execution " - + slcExecution.getUuid()); - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void updateExecution(SlcExecution slcExecution) { - if (cannotConnect) - return; - - SlcExecutionRequest req = new SlcExecutionRequest(); - req.setSlcExecution(slcExecution); - try { - WebServiceUtils.marshalSendAndReceive(template, req); - if (log.isTraceEnabled()) - log.trace("Notified update of slc execution " - + slcExecution.getUuid()); - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void updateStatus(SlcExecution slcExecution, String oldStatus, - String newStatus) { - if (cannotConnect) - return; - - SlcExecutionStatusRequest req = new SlcExecutionStatusRequest( - slcExecution.getUuid(), newStatus); - try { - WebServiceUtils.marshalSendAndReceive(template, req); - if (log.isTraceEnabled()) - log.trace("Notified status update of slc execution " - + slcExecution.getUuid()); - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void addSteps(SlcExecution slcExecution, - List additionalSteps) { - if (cannotConnect) - return; - - SlcExecutionStepsRequest req = new SlcExecutionStepsRequest(); - req.setSlcExecutionUuid(slcExecution.getUuid()); - req.setSteps(additionalSteps); - if (log.isTraceEnabled()) { - for (SlcExecutionStep step : additionalSteps) { - log.trace("Step " + step.getUuid() + ": " + step.logAsString()); - } - } - - try { - WebServiceUtils.marshalSendAndReceive(template, req); - if (log.isTraceEnabled()) - log.trace("Added steps to slc execution " - + slcExecution.getUuid()); - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void setTemplate(WebServiceTemplate template) { - this.template = template; - } - - protected void manageIoException(WebServiceIOException e) { - if (!cannotConnect) { - log.error("Cannot connect to " + template.getDefaultUri() - + ". Won't try again.", e); - cannotConnect = true; - } - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/DefaultSRegistry.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/DefaultSRegistry.java deleted file mode 100644 index 44b4a7a98..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/DefaultSRegistry.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.argeo.slc.core.structure; - -import java.util.List; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** Default implementation of a StructureRegistry. */ -public class DefaultSRegistry implements StructureRegistry { - private static Log log = LogFactory.getLog(DefaultSRegistry.class); - - private List elements = new Vector(); - private List paths = new Vector(); - private String mode = StructureRegistry.ALL; - - private List activePaths; - - public List listElements() { - return new Vector(elements); - } - - public List listPaths() { - return new Vector(paths); - } - - public void register(StructurePath path, StructureElement element) { - StructureElement treeSElement = element; - elements.add(treeSElement); - paths.add(path); - - if (log.isTraceEnabled()) - log.trace("Registered " + path + " (label: '" - + treeSElement.getLabel() + "', position: " - + elements.size() + ")"); - } - - public StructureElement getElement(StructurePath path) { - int index = paths.indexOf(path); - if (index >= 0) { - return elements.get(index); - } else {// not found - return null; - } - } - - public String getMode() { - return mode; - } - - public void setMode(String mode) { - this.mode = mode; - } - - public List getActivePaths() { - return activePaths; - } - - public void setActivePaths(List activePaths) { - this.activePaths = activePaths; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java deleted file mode 100644 index 9faea935f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.argeo.slc.core.structure; - -import java.util.Map; -import java.util.TreeMap; - -import javax.swing.tree.TreeSelectionModel; - -/** - * Basic implementation of StructureElement. - * - * @see TreeSPath - */ -public class SimpleSElement implements StructureElement { - /** For ORM */ - private Long tid; - private String label; - private Map tags = new TreeMap(); - - /** For ORM */ - public SimpleSElement() { - } - - /** Constructor */ - public SimpleSElement(String label) { - this.label = label; - } - - /** Constructor */ - public SimpleSElement(String label, String defaultLabel) { - this(label != null ? label : defaultLabel); - } - - /** Constructor */ - public SimpleSElement(SimpleSElement sElement) { - setLabel(sElement.getLabel()); - setTags(new TreeMap(sElement.getTags())); - } - - public String getLabel() { - return label; - } - - /** Sets the label. */ - public void setLabel(String label) { - this.label = label; - } - - public Long getTid() { - return tid; - } - - void setTid(Long tid) { - this.tid = tid; - } - - public Map getTags() { - return tags; - } - - public void setTags(Map tags) { - this.tags = tags; - } - - @Override - public SimpleSElement clone(){ - return new SimpleSElement(this); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureAware.java deleted file mode 100644 index 643af73af..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureAware.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.argeo.slc.core.structure; - -/** - * Wrapper for an element, which is able to propagate registration to - * sub-elements. - */ -public interface StructureAware { - /** Called after registration. */ - public void notifyCurrentPath(StructureRegistry registry, T path); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElement.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElement.java deleted file mode 100644 index 8e9d15bff..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElement.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.argeo.slc.core.structure; - -/** - * Atomic element holding metadata such as description about the element which - * registered. - */ -public interface StructureElement { - /** Label of this element. */ - public String getLabel(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElementProvider.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElementProvider.java deleted file mode 100644 index b9aa14452..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureElementProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.structure; - -public interface StructureElementProvider { - public StructureElement createStructureElement(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructurePath.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructurePath.java deleted file mode 100644 index 452dc9514..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructurePath.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.argeo.slc.core.structure; - -/** - * Path allowing to uniquely identify a StructureElement within a - * registry. - * - * @see StructureElement - * @see StructurePath - */ -public interface StructurePath { - /** - * Unique representation as a string. Most implementation will also provide - * a mean to interpret this string. - */ - public String getAsUniqueString(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureRegistry.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureRegistry.java deleted file mode 100644 index 71f80cb77..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/StructureRegistry.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.argeo.slc.core.structure; - -import java.util.List; - -import org.argeo.slc.core.deploy.DeployedSystem; - -/** Registry where the whole structure is stored. */ -public interface StructureRegistry

{ - /** Read mode: the structure is only read. */ - public static String READ = "READ"; - /** All mode: everything is executed regardless of the active paths. */ - public static String ALL = "ALL"; - /** Active mode: only the active paths are executed. */ - public static String ACTIVE = "STATUS_ACTIVE"; - - /** Adds an element to the registry. */ - public void register(P path, StructureElement element); - - /** Lists all registered elements. */ - public List listElements(); - - /** Lists all registered elements. */ - public List

listPaths(); - - /** Gets a element based on its path. */ - public T getElement(P path); - - /** - * Set the interpreter mode: read, all or active. - * - * @see #READ - * @see #ALL - * @see #STATUS_ACTIVE - */ - public void setMode(String mode); - - /** - * Gets the current interpreter mode. - * - * @see #READ - * @see #ALL - * @see #STATUS_ACTIVE - */ - public String getMode(); - - /** - * Gets the list of active paths, which will be run if executed in - * STATUS_ACTIVE mode. - */ - public List

getActivePaths(); - - /** - * Sets the list of active path, which will be run if executed in - * STATUS_ACTIVE mode. - */ - public void setActivePaths(List

activePaths); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/package.html deleted file mode 100644 index d9bab8a55..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -SLC Structure framework allowing to uniquely reference actions. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java deleted file mode 100644 index a31239f83..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java +++ /dev/null @@ -1,205 +0,0 @@ -package org.argeo.slc.core.structure.tree; - -import java.util.List; -import java.util.StringTokenizer; -import java.util.Vector; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.structure.StructurePath; -import org.argeo.slc.core.structure.StructureRegistry; - -/** - * Path for tree based StructureRegistry implementations. - */ -public class TreeSPath implements StructurePath, Comparable { - /** Default character to use a separator: /. */ - private static Character DEFAULT_SEPARATOR = '/'; - - private Character separator = DEFAULT_SEPARATOR; - - private String asUniqueString; - - /** For ORM */ - private Long tid; - - public TreeSPath() { - - } - - public TreeSPath(String asUniqueString) { - this.asUniqueString = checkAndFormatPath(asUniqueString); - } - - public String getAsUniqueString() { - return asUniqueString; - } - - /** - * Sets all the required data from a string. ATTENTION: the path is - * not checked for performance reason. This method should be used only by - * ORM/OXM frameworks. Use constructor to create immutable tree structure - * paths. - */ - public void setAsUniqueString(String str) { - this.asUniqueString = str; - } - - /** The separator actually used by this path. */ - public Character getSeparator() { - return separator; - } - - /** Gets the parent path. */ - public TreeSPath getParent() { - int lastSep = getAsUniqueString().lastIndexOf(separator); - if (lastSep < 1) { - return null; - } - String parentUniqueString = getAsUniqueString().substring(0, lastSep); - return new TreeSPath(parentUniqueString); - } - - /** Gets the name part of the path. */ - public String getName() { - int lastSep = getAsUniqueString().lastIndexOf(separator); - return getAsUniqueString().substring(lastSep+1); - } - - /** Create a path without parent. */ - public static TreeSPath createRootPath(String name) { - if (name.indexOf(DEFAULT_SEPARATOR) >= 0) { - throw new SlcException("Name cannot contain " + DEFAULT_SEPARATOR); - } - return new TreeSPath('/' + name); - } - - /** Create a child . */ - public TreeSPath createChild(String name) { - if (name.indexOf(separator) > -1) { - throw new SlcException("Tree path name '" + name - + "' contains separator character " + separator); - } - return new TreeSPath(getAsUniqueString() + '/' + name); - } - - /** - * Parses a string to a path. - * - * @deprecated use constructor instead - */ - public static TreeSPath parseToCreatePath(String path) { - return parseToCreatePath(path, DEFAULT_SEPARATOR); - } - - protected String checkAndFormatPath(String str) { - if (str.length() < 2) { - throw new SlcException("Path " + str + " is not short"); - } - if (str.charAt(0) != separator) { - throw new SlcException("Path " + str + " have to start with " - + separator); - } - - StringBuffer buf = new StringBuffer(str.length() + 5); - StringTokenizer st = new StringTokenizer(str, separator.toString()); - while (st.hasMoreTokens()) { - buf.append(separator).append(st.nextToken()); - } - return buf.toString(); - } - - /** - * Parses a string to a path. - * - * @deprecated use constructor instead - */ - public static TreeSPath parseToCreatePath(String path, Character separator) { - return new TreeSPath(path); - } - - /** Lists the children from a registry. */ - public List listChildren(StructureRegistry registry) { - return listChildrenPaths(registry, this); - } - - /** Lists the children from a given path from a registry. */ - public static List listChildrenPaths( - StructureRegistry registry, TreeSPath path) { - List paths = new Vector(); - List allPaths = registry.listPaths(); - for (TreeSPath pathT : allPaths) { - if (pathT.getParent() != null && pathT.getParent().equals(path)) { - paths.add(pathT); - } - } - return paths; - } - - /** Gets the root tree path of this path. */ - public TreeSPath getRoot() { - TreeSPath root = this; - while (root.getParent() != null) { - root = root.getParent(); - } - return root; - } - - /** Depth of this path. */ - public Integer getDepth() { - return depthImpl(this); - } - - protected int depthImpl(TreeSPath path) { - if (path.getParent() == null) { - return 1; - } else { - return depthImpl(path.getParent()) + 1; - } - } - - public List getHierarchyAsList() { - List lst = new Vector(); - addParentToList(lst, this); - lst.add(this); - return lst; - } - - protected void addParentToList(List lst, TreeSPath current) { - TreeSPath parent = current.getParent(); - if (parent != null) { - addParentToList(lst, parent); - lst.add(parent); - } - } - - @Override - public String toString() { - return getAsUniqueString(); - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof StructurePath) { - StructurePath path = (StructurePath) obj; - return getAsUniqueString().equals(path.getAsUniqueString()); - } - return false; - } - - @Override - public int hashCode() { - return getAsUniqueString().hashCode(); - } - - public int compareTo(StructurePath o) { - return getAsUniqueString().compareTo(o.getAsUniqueString()); - } - - public Long getTid() { - return tid; - } - - void setTid(Long tid) { - this.tid = tid; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRegistry.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRegistry.java deleted file mode 100644 index 10125678c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRegistry.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.argeo.slc.core.structure.tree; - -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.Vector; - -import org.argeo.slc.core.UnsupportedException; -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; - -/** Tree based implementation of a structure registry. */ -public class TreeSRegistry implements StructureRegistry { - public final static String STATUS_ACTIVE = "STATUS_ACTIVE"; - - /** For ORM */ - private Long tid; - private String status; - private Map elements = new TreeMap(); - - private String mode = StructureRegistry.ALL; - - private List activePaths; - - public T getElement(TreeSPath path) { - return (T)elements.get(path); - } - - public List listElements() { - return new Vector(elements.values()); - } - - public List listPaths() { - return new Vector(elements.keySet()); - } - - public void register(TreeSPath path, StructureElement element) { - final SimpleSElement simpleSElement; - if (element instanceof SimpleSElement) { - simpleSElement = (SimpleSElement) element; - } else { - simpleSElement = new SimpleSElement(element.getLabel()); - } - - if (path == null) - throw new UnsupportedException("Path cannot be null."); - - elements.put(path, simpleSElement); - - } - - public String getMode() { - return mode; - } - - public void setMode(String mode) { - this.mode = mode; - } - - public List getActivePaths() { - return activePaths; - } - - public void setActivePaths(List activePaths) { - this.activePaths = activePaths; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - /** Gets the elements. */ - public Map getElements() { - return elements; - } - - /** Sets the elements (for ORM). */ - public void setElements(Map elements) { - this.elements = elements; - } - - Long getTid() { - return tid; - } - - void setTid(Long tid) { - this.tid = tid; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelated.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelated.java deleted file mode 100644 index f939fbc12..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelated.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.argeo.slc.core.structure.tree; - -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; - -public interface TreeSRelated extends StructureAware{ - public TreeSPath getBasePath(); - public StructureRegistry getRegistry(); - public StructureElement getStructureElement(String key); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelatedHelper.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelatedHelper.java deleted file mode 100644 index acc829c36..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/TreeSRelatedHelper.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.argeo.slc.core.structure.tree; - -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; - -/** - * Provides default implementations of some methods of TreeSRelated. - */ -public abstract class TreeSRelatedHelper implements TreeSRelated { - private TreeSPath basePath; - private StructureRegistry registry; - - public TreeSPath getBasePath() { - return basePath; - } - - public StructureRegistry getRegistry() { - return registry; - } - - public void notifyCurrentPath(StructureRegistry registry, - TreeSPath path) { - basePath = path; - this.registry = registry; - } - - public StructureElement getStructureElement(String key) { - return new SimpleSElement(key); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/package.html deleted file mode 100644 index a2a51e4d9..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/structure/tree/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Tree-based implementation of the SLC structure framework. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestData.java deleted file mode 100644 index a8ee46cbf..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestData.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.argeo.slc.core.test; - - -public class BasicTestData implements TestData { - private Object expected; - private Object reached; - - public Object getExpected() { - return expected; - } - - public void setExpected(Object expected) { - this.expected = expected; - } - - public Object getReached() { - return reached; - } - - public void setReached(Object reached) { - this.reached = reached; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java deleted file mode 100644 index 1178b41ec..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/BasicTestDefinition.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.structure.tree.TreeSRelatedHelper; -import org.argeo.slc.core.test.context.ContextAware; -import org.argeo.slc.core.test.context.ContextUtils; - -/** Understands basic test data and context aware test data. */ -public class BasicTestDefinition extends TreeSRelatedHelper implements - TestDefinition { - - public void execute(TestRun testRun) { - if (testRun. getTestData() instanceof BasicTestData) { - BasicTestData testData = testRun.getTestData(); - TestResult result = testRun.getTestResult(); - - try { - if (testData.getExpected().equals(testData.getReached())) { - result.addResultPart(new SimpleResultPart( - TestStatus.PASSED, "Reached and expected equals")); - } else { - result.addResultPart(new SimpleResultPart( - TestStatus.FAILED, "Expected " - + testData.getExpected() + " but reched " - + testData.getReached())); - } - } catch (Exception e) { - result.addResultPart(new SimpleResultPart(TestStatus.ERROR, - "Could not compare", e)); - } - } else if (testRun. getTestData() instanceof ContextAware) { - TestData testData = testRun.getTestData(); - ContextUtils.compareReachedExpected((ContextAware) testData, - testRun.getTestResult(), this); - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/ExecutableTestRun.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/ExecutableTestRun.java deleted file mode 100644 index 34216799f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/ExecutableTestRun.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.test; - -/** A test run that can be executed */ -public interface ExecutableTestRun extends TestRun { - - /** Executes this test run. */ - public void execute(); - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/IncompatibleTestDataException.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/IncompatibleTestDataException.java deleted file mode 100644 index db4184d05..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/IncompatibleTestDataException.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.SlcException; - -/** - * Exception to throw when a test definition cannot interpret the provided test - * data. - */ -public class IncompatibleTestDataException extends SlcException { - static final long serialVersionUID = 1l; - - public IncompatibleTestDataException(TestData testData, - TestDefinition testDefinition) { - super("TestData " + testData.getClass() - + " is not compatible with TestDefinition " - + testDefinition.getClass()); - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/NumericTRId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/NumericTRId.java deleted file mode 100644 index 0b1674ae9..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/NumericTRId.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.deploy.DeployedSystemId; - -/** - * Basic implementation of test run id based on a long value and a reference to - * a deployed system id. - * - * @deprecated - */ -public class NumericTRId implements TestResultId { - /** For ORM */ - private Long tid; - - private Long value; - private DeployedSystemId deployedSystemId; - - /** For ORM */ - public NumericTRId() { - - } - - public NumericTRId(Long value) { - this.value = value; - } - - /** - * Initializes the long value with the current time (based on - * java.lang.System.currentTimeMillis()). - */ - public void init() { - if (getValue() == null) { - setValue(System.currentTimeMillis()); - } - } - - public Long getValue() { - return value; - } - - public void setValue(Long value) { - this.value = value; - } - - public DeployedSystemId getDeployedSystemId() { - return deployedSystemId; - } - - public void setDeployedSystemId(DeployedSystemId deployedSystemId) { - this.deployedSystemId = deployedSystemId; - } - - @Override - public boolean equals(Object obj) { - return value.toString().equals(obj.toString()); - } - - @Override - public String toString() { - return value.toString(); - } - - Long getTid() { - return tid; - } - - void setTid(Long tid) { - this.tid = tid; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java deleted file mode 100644 index e114e1f6d..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleResultPart.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.argeo.slc.core.test; - -/** - *

- * Basic implementation of a result part, implementing the standard three status - * approach for test results. - *

- * - * @see TestStatus - */ -public class SimpleResultPart implements TestResultPart, TestStatus, - TestRunAware { - - /** @deprecated */ - private Long tid; - - private String testRunUuid; - - /** The status. Default to ERROR since it should always be explicitely set. */ - private Integer status = ERROR; - private String message; - private String exceptionMessage; - - public SimpleResultPart() { - } - - public SimpleResultPart(Integer status, String message) { - this(status, message, null); - } - - public SimpleResultPart(Integer status, String message, Exception exception) { - this.status = status; - this.message = message; - setException(exception); - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public void setStatus(Integer status) { - this.status = status; - } - - public Integer getStatus() { - return status; - } - - public String getExceptionMessage() { - return exceptionMessage; - } - - public void setException(Exception exception) { - if (exception == null) - return; - - StringBuffer buf = new StringBuffer(""); - buf.append(exception.toString()); - buf.append('\n'); - for (StackTraceElement elem : exception.getStackTrace()) { - buf.append('\t').append(elem.toString()).append('\n'); - } - - if (exception.getCause() != null) - addRootCause(buf, exception.getCause()); - - this.exceptionMessage = buf.toString(); - } - - protected void addRootCause(StringBuffer buf, Throwable cause) { - if (cause == null) - return; - - buf.append("Caused by: " + cause.getMessage()); - for (StackTraceElement elem : cause.getStackTrace()) { - buf.append('\t').append(elem.toString()).append('\n'); - } - - if (cause.getCause() != null) { - addRootCause(buf, cause.getCause()); - } - } - - @Override - public String toString() { - StringBuffer buf = new StringBuffer(""); - buf.append(SlcTestUtils.statusToString(status)); - if (status == PASSED || status == FAILED) { - buf.append(' '); - } else if (status == ERROR) { - buf.append(" "); - } - buf.append(message); - return buf.toString(); - } - - /** @deprecated */ - Long getTid() { - return tid; - } - - /** @deprecated */ - void setTid(Long tid) { - this.tid = tid; - } - - public String getTestRunUuid() { - return testRunUuid; - } - - /** For ORM */ - public void setTestRunUuid(String testRunUuid) { - this.testRunUuid = testRunUuid; - } - - public void notifyTestRun(TestRun testRun) { - testRunUuid = testRun.getUuid(); - } - - public void setExceptionMessage(String exceptionMessage) { - this.exceptionMessage = exceptionMessage; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java deleted file mode 100644 index c1d783a77..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestResult.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.argeo.slc.core.test; - -import java.util.Date; -import java.util.List; -import java.util.UUID; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.SlcException; - -/** - * Basic implementation of a test result containing only a list of result parts. - */ -public class SimpleTestResult implements TestResult { - private static Log log = LogFactory.getLog(SimpleTestResult.class); - - private String uuid; - private String currentTestRunUuid; - - private Boolean throwError = true; - - private Date closeDate; - private List parts = new Vector(); - - public void addResultPart(TestResultPart part) { - if (throwError && part.getStatus() == ERROR) { - throw new SlcException( - "There was an error in the underlying test: " - + part.getExceptionMessage()); - } - parts.add(part); - if (log.isDebugEnabled()) - log.debug(part); - } - - public void close() { - parts.clear(); - closeDate = new Date(); - } - - public List getParts() { - return parts; - } - - public Date getCloseDate() { - return closeDate; - } - - public void setThrowError(Boolean throwError) { - this.throwError = throwError; - } - - public void notifyTestRun(TestRun testRun) { - currentTestRunUuid = testRun.getUuid(); - } - - public String getUuid() { - if (uuid == null) { - uuid = UUID.randomUUID().toString(); - } - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public String getCurrentTestRunUuid() { - return currentTestRunUuid; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java deleted file mode 100644 index e2ab043cf..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.argeo.slc.core.test; - -import java.util.UUID; - -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionStep; - -/** - * A basic bean implementation of a WritableTestRun, holding - * references to the various parts of a test run. - */ -public class SimpleTestRun implements WritableTestRun, ExecutableTestRun { - private String uuid; - - private String slcExecutionUuid; - private String slcExecutionStepUuid; - - private DeployedSystem deployedSystem; - private TestData testData; - private TestDefinition testDefinition; - private TestResult testResult; - - /** Executes the underlying test definition. */ - public void execute() { - uuid = UUID.randomUUID().toString(); - if (testResult != null) - testResult.notifyTestRun(this); - testDefinition.execute(this); - } - - public T getDeployedSystem() { - return (T) deployedSystem; - } - - public void setDeployedSystem(DeployedSystem deployedSystem) { - this.deployedSystem = deployedSystem; - } - - public T getTestData() { - return (T) testData; - } - - public void setTestData(TestData testData) { - this.testData = testData; - } - - public T getTestDefinition() { - return (T) testDefinition; - } - - public void setTestDefinition(TestDefinition testDefinition) { - this.testDefinition = testDefinition; - } - - public T getTestResult() { - return (T) testResult; - } - - public void setTestResult(TestResult testResult) { - this.testResult = testResult; - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public String getSlcExecutionUuid() { - return slcExecutionUuid; - } - - public void setSlcExecutionUuid(String slcExecutionUuid) { - this.slcExecutionUuid = slcExecutionUuid; - } - - public String getSlcExecutionStepUuid() { - return slcExecutionStepUuid; - } - - public void setSlcExecutionStepUuid(String slcExecutionStepUuid) { - this.slcExecutionStepUuid = slcExecutionStepUuid; - } - - public void notifySlcExecution(SlcExecution slcExecution) { - slcExecutionUuid = slcExecution.getUuid(); - SlcExecutionStep step = slcExecution.currentStep(); - if (step != null) { - slcExecutionStepUuid = step.getUuid(); - } - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SlcTestUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SlcTestUtils.java deleted file mode 100644 index c7d7840cd..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/SlcTestUtils.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.SlcException; - -public abstract class SlcTestUtils { - public static String statusToString(Integer status){ - if(status.equals(TestStatus.PASSED)){ - return TestStatus.STATUSSTR_PASSED; - } - else if(status.equals(TestStatus.FAILED)){ - return TestStatus.STATUSSTR_FAILED; - } - else if(status.equals(TestStatus.ERROR)){ - return TestStatus.STATUSSTR_ERROR; - } - else{ - throw new SlcException("Unrecognized status "+status); - } - } - - public static Integer stringToStatus(String statusStr){ - if(statusStr.equals(TestStatus.STATUSSTR_PASSED)){ - return TestStatus.PASSED; - } - else if(statusStr.equals(TestStatus.STATUSSTR_FAILED)){ - return TestStatus.FAILED; - } - else if(statusStr.equals(TestStatus.STATUSSTR_ERROR)){ - return TestStatus.ERROR; - } - else{ - throw new SlcException("Unrecognized status string "+statusStr); - } - } - - private SlcTestUtils(){ - - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestData.java deleted file mode 100644 index 4105e0925..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestData.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.core.test; - -/** - * Any data required by a test in order to run: configuration, expected, - * reached, etc. - */ -public interface TestData { - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataProvider.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataProvider.java deleted file mode 100644 index e0e02c3a6..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.core.test; - -public interface TestDataProvider { - public T getTestData(Class clss, String key); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java deleted file mode 100644 index 66cae87c3..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDataUtils.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.UnsupportedException; - -/** Utilities for dealing with test datas. */ -public class TestDataUtils { - /** Extracts the test data from the given provider. */ - public static T getFromProvider(Object obj, - Class clss, String key) { - if (obj instanceof TestDataProvider) { - TestDataProvider testDataProvider = (TestDataProvider) obj; - return testDataProvider.getTestData(clss, key); - } else { - throw new UnsupportedException("test data provider", obj); - } - } - - /** - * Extracts the test data from the given provider using null - * as key. - */ - public static T getFromProvider(Object obj, - Class clss) { - return getFromProvider(obj, clss, null); - } - - /** - * Returns it self after making the proper checks. Used for test data being - * their own data providers. - */ - public static T getItSelf(Class clss, - TestData testDataObject) { - if (clss.isAssignableFrom(testDataObject.getClass())) { - return (T) testDataObject; - } else { - throw new UnsupportedException("test data", testDataObject); - } - - } - - /** Makes sure this is an utility class. */ - private TestDataUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDefinition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDefinition.java deleted file mode 100644 index 7c75d6a73..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestDefinition.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.argeo.slc.core.test; - -/** - * The programmatic definition of a test, which will be associated with - * transient objects within a test run. - */ -public interface TestDefinition extends TestStatus { - /** Performs the test. */ - public void execute(TestRun testRun); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestReport.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestReport.java deleted file mode 100644 index 8256e8644..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestReport.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.argeo.slc.core.test; - -/** - * A report that can be generated based on a given test result. This - * interface may change in the future. - */ -public interface TestReport { - /** Performs the actions necessary to generate a report. */ - public void generateTestReport(TestResult result); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResult.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResult.java deleted file mode 100644 index 5aa1c6193..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResult.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.argeo.slc.core.test; - -import java.util.Date; - -/** The result of a test */ -public interface TestResult extends TestStatus, TestRunAware { - public String getUuid(); - - /** Adds a part of the result. */ - public void addResultPart(TestResultPart part); - - /** - * Marks that the collection of test results is completed and free the - * related resources (also closing listeners). - */ - public void close(); - - /** - * The date when this test result was closed. Can be null, which means the - * result is not closed. - */ - public Date getCloseDate(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultId.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultId.java deleted file mode 100644 index 46af52799..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultId.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.deploy.DeployedSystemId; - -/** - * The unique id referencing a test result. - * - * @deprecated - */ -public interface TestResultId { - /** Gets the id of the related deployed system. */ - public DeployedSystemId getDeployedSystemId(); - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultListener.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultListener.java deleted file mode 100644 index c42d783d0..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultListener.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.argeo.slc.core.test; - -/** Listener to the operations on a test result. */ -public interface TestResultListener { - /** Notified when a part was added to a test result. */ - public void resultPartAdded(T testResult, - TestResultPart testResultPart); - - /** Stops listening and release the related resources. */ - public void close(T testResult); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultPart.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultPart.java deleted file mode 100644 index fc5749b86..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestResultPart.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.argeo.slc.core.test; - - -/** - * Part of a test result. - * - * @see TestResult - */ -public interface TestResultPart { - /** The status, as defined in {@link TestStatus}. */ - public Integer getStatus(); - - /** The related message. */ - public String getMessage(); - - /** The underlying Exception. Can be null. */ - public String getExceptionMessage(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRun.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRun.java deleted file mode 100644 index 5a4ac50b6..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRun.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.process.SlcExecutionAware; - -/** The actual run of a test */ -public interface TestRun extends SlcExecutionAware{ - /** Gets UUID */ - public String getUuid(); - - /** Gets the related test definition. */ - public T getTestDefinition(); - - /** Gets the related test data */ - public T getTestData(); - - /** Gets the related deployed system. */ - public T getDeployedSystem(); - - /** Gets the related result where to record results. */ - public T getTestResult(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunAware.java deleted file mode 100644 index 6cca1440e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunAware.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.argeo.slc.core.test; - -public interface TestRunAware { - /** Notifies the current test run. */ - public void notifyTestRun(TestRun testRun); - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java deleted file mode 100644 index d48ea2db9..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.process.SlcExecution; - -public class TestRunDescriptor { - private String testRunUuid; - private String slcExecutionUuid; - private String slcExecutionStepUuid; - private String testResultUuid; - private String deployedSytemId; - - public TestRunDescriptor() { - - } - - public TestRunDescriptor(TestRun testRun) { - testRunUuid = testRun.getUuid(); - - if (testRun.getTestResult() != null) - testResultUuid = testRun. getTestResult().getUuid(); - - if (testRun.getDeployedSystem() != null) - deployedSytemId = testRun. getDeployedSystem() - .getDeployedSystemId(); - - if (testRun instanceof SimpleTestRun) { - slcExecutionUuid = ((SimpleTestRun) testRun).getSlcExecutionUuid(); - slcExecutionStepUuid = ((SimpleTestRun) testRun) - .getSlcExecutionStepUuid(); - } - } - - public String getTestRunUuid() { - return testRunUuid; - } - - public void setTestRunUuid(String testRunUuid) { - this.testRunUuid = testRunUuid; - } - - public String getSlcExecutionUuid() { - return slcExecutionUuid; - } - - public void setSlcExecutionUuid(String slcExecutionUuid) { - this.slcExecutionUuid = slcExecutionUuid; - } - - public String getSlcExecutionStepUuid() { - return slcExecutionStepUuid; - } - - public void setSlcExecutionStepUuid(String slcExecutionStepUuid) { - this.slcExecutionStepUuid = slcExecutionStepUuid; - } - - public String getTestResultUuid() { - return testResultUuid; - } - - public void setTestResultUuid(String testResultUuid) { - this.testResultUuid = testResultUuid; - } - - public String getDeployedSytemId() { - return deployedSytemId; - } - - public void setDeployedSytemId(String deploymentId) { - this.deployedSytemId = deploymentId; - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof TestRunDescriptor) { - return getTestRunUuid().equals( - ((TestRunDescriptor) obj).getTestRunUuid()); - } - return false; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestStatus.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestStatus.java deleted file mode 100644 index d6954be8f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/TestStatus.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.argeo.slc.core.test; - -/** - * Simple statuses. - *

- *

    - *
  • {@link #PASSED}: the test succeeded
  • - *
  • {@link #FAILED}: the test could run, but did not reach the expected - * result
  • - *
  • {@link #ERROR}: an error during the test run prevented to get a - * significant information on the tested system.
  • - *
- *

- */ -public interface TestStatus { - /** The flag for a passed test: 0 */ - public final static Integer PASSED = 0; - /** The flag for a failed test: 1 */ - public final static Integer FAILED = 1; - /** - * The flag for a test which could not properly run because of an error - * (there is no feedback on the behavior of the tested component): 2 - */ - public final static Integer ERROR = 2; - public final static String STATUSSTR_PASSED = "PASSED"; - public final static String STATUSSTR_FAILED = "FAILED"; - public final static String STATUSSTR_ERROR = "ERROR"; - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/WritableTestRun.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/WritableTestRun.java deleted file mode 100644 index 8cfe2b72c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/WritableTestRun.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.argeo.slc.core.test; - -import org.argeo.slc.core.deploy.DeployedSystem; - -/** Test run whose various components can be externally set. */ -public interface WritableTestRun extends ExecutableTestRun { - public void setDeployedSystem(DeployedSystem deployedSystem); - - public void setTestData(TestData testData); - - public void setTestDefinition(TestDefinition testDefinition); - - public void setTestResult(TestResult testResult); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextAware.java deleted file mode 100644 index 5e411831e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextAware.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.Map; - -public interface ContextAware { - public final static String DEFAULT_SKIP_FLAG = "!"; - public final static String DEFAULT_ANY_FLAG = "*"; - - public Map getValues(); - - public void setValues(Map values); - - public Map getExpectedValues(); - - public String getContextSkipFlag(); - - public String getContextAnyFlag(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextUtils.java deleted file mode 100644 index 3826a8710..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ContextUtils.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.Map; -import java.util.TreeMap; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.structure.tree.TreeSRelated; -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.TestStatus; - -public class ContextUtils { - private final static Log log = LogFactory.getLog(ContextUtils.class); - - public static void compareReachedExpected(ContextAware contextAware, - TestResult testResult, TreeSRelated treeSRelated) { - for (String key : contextAware.getExpectedValues().keySet()) { - - // Compare expected values with reached ones - Object expectedValue = contextAware.getExpectedValues().get(key); - - if (expectedValue.toString().equals( - contextAware.getContextSkipFlag())) { - if (log.isDebugEnabled()) - log.debug("Skipped check for key '" + key + "'"); - continue; - } - - // Register in structure - registerInStructure(testResult, treeSRelated, key); - - if (contextAware.getValues().containsKey(key)) { - Object reachedValue = contextAware.getValues().get(key); - - if (expectedValue.equals(contextAware.getContextAnyFlag())) { - testResult.addResultPart(new SimpleResultPart( - TestStatus.PASSED, "Expected any value for key '" - + key + "'")); - } else if (expectedValue.equals(reachedValue)) { - testResult.addResultPart(new SimpleResultPart( - TestStatus.PASSED, "Values matched for key '" + key - + "'")); - } else { - testResult.addResultPart(new SimpleResultPart( - TestStatus.FAILED, "Mismatch for key '" + key - + "': expected '" + expectedValue - + "' but reached '" + reachedValue + "'")); - } - } else { - testResult.addResultPart(new SimpleResultPart( - TestStatus.FAILED, "No value reached for key '" + key - + "'")); - } - resetStructure(testResult, treeSRelated); - } - } - - private static void registerInStructure(TestResult testResult, - TreeSRelated treeSRelated, String key) { - if (treeSRelated != null) { - if (treeSRelated.getBasePath() != null) { - TreeSPath path = treeSRelated.getBasePath().createChild(key); - StructureRegistry registry = treeSRelated - .getRegistry(); - final StructureElement element = treeSRelated - .getStructureElement(key); - registry.register(path, element); - if (testResult instanceof StructureAware) - ((StructureAware) testResult).notifyCurrentPath( - registry, path); - - if (log.isDebugEnabled()) - log.debug("Checking key " + key + " for path " + path); - } - } - } - - private static void resetStructure(TestResult testResult, - TreeSRelated treeSRelated) { - if (treeSRelated != null) { - if (treeSRelated.getBasePath() != null) { - if (testResult instanceof StructureAware) { - ((StructureAware) testResult).notifyCurrentPath( - treeSRelated.getRegistry(), treeSRelated - .getBasePath()); - } - } - } - } - - /** - * Makes sure that all children and sub-children of parent share the same - * maps for values and expected values. - */ - public static void synchronize(ParentContextAware parent) { - Map expectedValuesCommon = new TreeMap( - parent.getExpectedValues()); - synchronize(parent, expectedValuesCommon); - if (log.isDebugEnabled()) - log.debug("Synchonized context " + parent); - - } - - private static void synchronize(ParentContextAware parent, - Map expectedValuesCommon) { - for (ContextAware child : parent.getChildContexts()) { - // Values - putNotContained(parent.getValues(), child.getValues()); - child.setValues(parent.getValues()); - - // Expected Values - // Expected values reference is not overridden: each child has its - // own expected values map. - overrideContained(expectedValuesCommon, child.getExpectedValues()); - - // Creates a new Map in order not to disturb other context using the - // same keys - Map expectedValuesCommonChild = new TreeMap( - expectedValuesCommon); - putNotContained(expectedValuesCommonChild, child - .getExpectedValues()); - - if (child instanceof ParentContextAware) { - // Recursive sync - synchronize((ParentContextAware) child, - expectedValuesCommonChild); - } - } - - } - - /** - * Put into common map the values from child map which are not already - * defined in common map. - */ - public static void putNotContained(Map commonMap, - Map childMap) { - for (String key : childMap.keySet()) { - if (!commonMap.containsKey(key)) { - commonMap.put(key, childMap.get(key)); - } - } - } - - /** Overrides child map values with the values already set in common map */ - public static void overrideContained(Map commonMap, - Map childMap) { - for (String key : childMap.keySet()) { - if (commonMap.containsKey(key)) { - childMap.put(key, commonMap.get(key)); - } - } - } - - /** Makes sure this cannot be instantiated. */ - private ContextUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/DefaultContextTestData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/DefaultContextTestData.java deleted file mode 100644 index a39a91539..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/DefaultContextTestData.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.argeo.slc.core.test.context; - -import org.argeo.slc.core.test.TestData; -import org.argeo.slc.core.test.TestDataProvider; -import org.argeo.slc.core.test.TestDataUtils; - -public class DefaultContextTestData extends SimpleContextAware implements - TestData, TestDataProvider { - - public T getTestData(Class clss, String key) { - return TestDataUtils.getItSelf(clss, this); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ParentContextAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ParentContextAware.java deleted file mode 100644 index a8fc8b2be..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/ParentContextAware.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.Collection; - -public interface ParentContextAware extends ContextAware { - public Collection getChildContexts(); - public void addChildContext(ContextAware contextAware); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleContextAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleContextAware.java deleted file mode 100644 index c4fb5ab40..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleContextAware.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.Map; -import java.util.TreeMap; - -import org.springframework.beans.factory.InitializingBean; - -import org.argeo.slc.core.SlcException; - -public class SimpleContextAware implements ContextAware, InitializingBean { - private ParentContextAware parentContext; - - private Map values = new TreeMap(); - private Map expectedValues = new TreeMap(); - - private String contextSkipFlag = DEFAULT_SKIP_FLAG; - private String contextAnyFlag = DEFAULT_ANY_FLAG; - - public Map getValues() { - return values; - } - - public void setValues(Map values) { - this.values = values; - } - - public Map getExpectedValues() { - return expectedValues; - } - - public void setExpectedValues(Map expectedValues) { - this.expectedValues = expectedValues; - } - - /** Used to add this context as a child by setting a property. */ - public void setParentContext(ParentContextAware parentContextAware) { - if (parentContext != null) - throw new SlcException("Parent context already set"); - this.parentContext = parentContextAware; - this.parentContext.addChildContext(this); - } - - protected ParentContextAware getParentContext() { - return parentContext; - } - - public void afterPropertiesSet() throws Exception { - if (parentContext != null) { - ContextUtils.synchronize(parentContext); - } - } - - public String getContextSkipFlag() { - return contextSkipFlag; - } - - public void setContextSkipFlag(String contextSkipFlag) { - this.contextSkipFlag = contextSkipFlag; - } - - public String getContextAnyFlag() { - return contextAnyFlag; - } - - public void setContextAnyFlag(String contextAnyFlag) { - this.contextAnyFlag = contextAnyFlag; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java deleted file mode 100644 index 2dfa12346..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/SimpleParentContextAware.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.Collection; -import java.util.List; -import java.util.Vector; - -import org.springframework.beans.factory.InitializingBean; - -public class SimpleParentContextAware extends SimpleContextAware implements - ParentContextAware, InitializingBean { - private List children = new Vector(); - - public Collection getChildContexts() { - return children; - } - - public void addChildContext(ContextAware contextAware) { - children.add(contextAware); - } - - @Override - public void afterPropertiesSet() throws Exception { - if (getParentContext() != null) { - // If has a parent, sync it. - super.afterPropertiesSet(); - } else { - if(children.size()>0){ - // No need to synchronize if no children - ContextUtils.synchronize(this); - } - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/package.html deleted file mode 100644 index cd08d63f3..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/context/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Context variables to be passed between parts of tests. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/package.html deleted file mode 100644 index c70d2d151..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -SLC Test: test of software systems. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java deleted file mode 100644 index f26c08580..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.util.List; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureElementProvider; -import org.argeo.slc.core.structure.StructurePath; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.TestDefinition; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.TestRun; - -/** - * Collection of test definitions propagating tree structure information to its - * children. - */ -public class CompositeTreeTestDefinition implements TestDefinition, - StructureAware { - private Log log = LogFactory.getLog(CompositeTreeTestDefinition.class); - - private List tasks = null; - private List taskPaths = null; - private TreeSPath path; - private StructureRegistry registry; - - public void execute(TestRun testRun) { - log.info("Execute sequence of test definitions..."); - - int i = 0; - for (TestDefinition task : tasks) { - TestResult result = testRun.getTestResult(); - if (result instanceof StructureAware) { - ((StructureAware) result).notifyCurrentPath(registry, taskPaths - .get(i)); - } - - task.execute(testRun); - - // Reset current path in case it has been changed - if (result instanceof StructureAware) { - ((StructureAware) result).notifyCurrentPath(registry, path); - } - i++; - } - } - - /** Sets the list of children test definitions */ - public void setTasks(List tasks) { - this.tasks = tasks; - if (tasks != null) { - taskPaths = new Vector(); - } - } - - public void notifyCurrentPath(StructureRegistry registry, - TreeSPath path) { - this.path = path; - this.registry = registry; - - // clear task paths - taskPaths.clear(); - - Integer count = 0; - for (TestDefinition task : tasks) { - final StructureElement element; - if (task instanceof StructureElementProvider) { - element = ((StructureElementProvider) task) - .createStructureElement(); - } else { - element = new SimpleSElement("[no desc]"); - } - TreeSPath taskPath = this.path.createChild(count.toString()); - registry.register(taskPath, element); - taskPaths.add(taskPath); - if (task instanceof StructureAware) { - ((StructureAware) task).notifyCurrentPath(registry, - taskPath); - } - count++; - } - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/PartSubList.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/PartSubList.java deleted file mode 100644 index 128da6abb..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/PartSubList.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.util.List; -import java.util.Vector; - -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestStatus; - -/** - * List of TestResultPart. It can be used to build complex - * TestResult affording the possibility to a - * TestDefinition to add a list of result part under the same - * StructurePath. - * - * @see TreeTestResult - */ -public class PartSubList { - - /** For ORM */ - private Long tid; - - private List parts = new Vector(); - - /** Gets the result parts. */ - public List getParts() { - return parts; - } - - /** Sets the result parts. */ - public void setParts(List parts) { - this.parts = parts; - } - - Long getTid() { - return tid; - } - - void setTid(Long tid) { - this.tid = tid; - } - - public Boolean getIsPassed() { - for (TestResultPart part : parts) { - if (part.getStatus() != TestStatus.PASSED) { - return false; - } - } - return true; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java deleted file mode 100644 index 328d5981a..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ /dev/null @@ -1,183 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.util.Date; -import java.util.List; -import java.util.SortedMap; -import java.util.TreeMap; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestRun; -import org.argeo.slc.core.test.TestRunAware; - -/** - * Complex implementation of a test result compatible with a tree based - * structure. - */ -public class TreeTestResult implements TestResult, StructureAware,Comparable { - private Log log = LogFactory.getLog(TreeTestResult.class); - - private List> listeners = new Vector>(); - - private TreeSPath currentPath; - private TestRun currentTestRun; - - private Date closeDate; - - private boolean isClosed = false; - - private String uuid; - - private SortedMap resultParts = new TreeMap(); - private SortedMap elements = new TreeMap(); - - /** Sets the list of listeners. */ - public void setListeners(List> listeners) { - this.listeners = listeners; - } - - public void addResultPart(TestResultPart part) { - if (currentPath == null) { - throw new SlcException("No current path set."); - } - PartSubList subList = resultParts.get(currentPath); - if (subList == null) { - subList = new PartSubList(); - resultParts.put(currentPath, subList); - } - if (part instanceof TestRunAware && currentTestRun != null) { - ((TestRunAware) part).notifyTestRun(currentTestRun); - } - subList.getParts().add(part); - - // notify listeners - synchronized (listeners) { - for (TestResultListener listener : listeners) { - listener.resultPartAdded(this, part); - } - } - } - - public void notifyCurrentPath(StructureRegistry registry, - TreeSPath path) { - if (registry != null) { - for (TreeSPath p : path.getHierarchyAsList()) { - if (!elements.containsKey(p)) { - StructureElement elem = registry.getElement(p); - if (elem != null) { - elements.put(p, elem); - } - } else { - if (log.isTraceEnabled()) - log.trace("An element is already registered for path " - + p + " and was not updated"); - } - - } - } - - currentPath = (TreeSPath) path; - } - - /** Gets the current path. */ - public TreeSPath getCurrentPath() { - return currentPath; - } - - /** Gets all the results structured as a map of PartSubLists. */ - public SortedMap getResultParts() { - return resultParts; - } - - /** Used by ORM systems. */ - void setResultParts(SortedMap resultParts) { - this.resultParts = resultParts; - } - - public void close() { - if (isClosed) { - throw new SlcException("Test Result #" + getUuid() - + " alredy closed."); - } - closeDate = new Date(); - - synchronized (listeners) { - for (TestResultListener listener : listeners) { - listener.close(this); - } - listeners.clear(); - } - isClosed = true; - - log.info("Test Result #" + getUuid() + " closed."); - } - - public Date getCloseDate() { - return closeDate; - } - - /** Sets the close date (for ORM) */ - public void setCloseDate(Date closeDate) { - this.closeDate = closeDate; - } - - public void notifyTestRun(TestRun testRun) { - currentTestRun = testRun; - } - - public SortedMap getElements() { - return elements; - } - - public void setElements(SortedMap pathNames) { - this.elements = pathNames; - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public SortedMap getRelatedElements( - TreeSPath path) { - SortedMap relatedElements = new TreeMap(); - List hierarchy = path.getHierarchyAsList(); - for (TreeSPath currPath : elements.keySet()) { - if (hierarchy.contains(currPath)) { - relatedElements.put(currPath, elements.get(currPath)); - } - } - return relatedElements; - } - - public TestRun getCurrentTestRun() { - return currentTestRun; - } - - public int compareTo(TreeTestResult ttr2) { - TreeTestResult ttr1 = this; - if (ttr1.getCloseDate() != null && ttr2.getCloseDate() != null) { - return -ttr1.getCloseDate().compareTo(ttr2.getCloseDate()); - } else if (ttr1.getCloseDate() != null && ttr2.getCloseDate() == null) { - return 1; - } else if (ttr1.getCloseDate() == null && ttr2.getCloseDate() != null) { - return -1; - } else { - return ttr1.getUuid().compareTo(ttr2.getUuid()); - } - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultCollection.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultCollection.java deleted file mode 100644 index 1c454687c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultCollection.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.util.SortedSet; -import java.util.TreeSet; - -public class TreeTestResultCollection implements - Comparable { - private String id; - private SortedSet results = new TreeSet(); - - public TreeTestResultCollection() { - } - - public TreeTestResultCollection(String id) { - this.id = id; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public SortedSet getResults() { - return results; - } - - public void setResults(SortedSet results) { - this.results = results; - } - - public int compareTo(TreeTestResultCollection o) { - return getId().compareTo(o.getId()); - } - - @Override - public boolean equals(Object o) { - if (o instanceof TreeTestResultCollection) { - return getId().equals(((TreeTestResultCollection) o).getId()); - } - return false; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java deleted file mode 100644 index 2246e18b0..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestStatus; - -/** - * Listener logging tree-based test results to the underlying logging system. - * - * @see TreeTestResult - * - */ -public class TreeTestResultLogger implements TestResultListener { - - private static Log log = LogFactory.getLog(TreeTestResultLogger.class); - - public void resultPartAdded(TreeTestResult testResult, - TestResultPart testResultPart) { - String msg = testResultPart + " - " + testResult.getUuid() + ":" - + testResult.getCurrentPath(); - if (testResultPart.getStatus().equals(TestStatus.PASSED)) { - log.info(msg); - } else if (testResultPart.getStatus().equals(TestStatus.FAILED)) { - log.warn(msg); - } else if (testResultPart.getStatus().equals(TestStatus.ERROR)) { - log.error(msg + "\n" + testResultPart.getExceptionMessage()); - } else { - log.error("Unknow test status: " + msg); - } - } - - public void close(TreeTestResult testResult) { - log.info("Test result " + testResult.getUuid() + " closed."); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/WebServiceTreeTestResultNotifier.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/WebServiceTreeTestResultNotifier.java deleted file mode 100644 index 6cfd4da61..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/WebServiceTreeTestResultNotifier.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import org.springframework.ws.client.WebServiceIOException; -import org.springframework.ws.client.core.WebServiceTemplate; -import org.springframework.ws.soap.client.SoapFaultClientException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.ResultPartRequest; -import org.argeo.slc.ws.client.WebServiceUtils; - -public class WebServiceTreeTestResultNotifier implements - TestResultListener { - private WebServiceTemplate template; - private Boolean onlyOnClose = false; - - private Log log = LogFactory.getLog(getClass()); - - private Boolean cannotConnect = false; - - public void resultPartAdded(TreeTestResult testResult, - TestResultPart testResultPart) { - if (onlyOnClose) - return; - - if (cannotConnect) - return; - - try { - if (testResult.getResultParts().size() == 1 - && testResult.getResultParts().values().iterator().next() - .getParts().size() == 1) { - CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( - testResult); - - if (log.isDebugEnabled()) - log.debug("Send create result request for result " - + testResult.getUuid()); - - WebServiceUtils.marshalSendAndReceive(template, req); - } else { - ResultPartRequest req = new ResultPartRequest(testResult); - - if (log.isDebugEnabled()) - log.debug("Send result parts for result " - + testResult.getUuid()); - - WebServiceUtils.marshalSendAndReceive(template, req); - } - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void close(TreeTestResult testResult) { - if (cannotConnect) - return; - - try { - if (onlyOnClose) { - CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( - testResult); - - if (log.isDebugEnabled()) - log.debug("Send create result request for result " - + testResult.getUuid()); - - WebServiceUtils.marshalSendAndReceive(template, req); - } else { - CloseTreeTestResultRequest req = new CloseTreeTestResultRequest( - testResult); - - if (log.isDebugEnabled()) - log.debug("Send close result request for result " - + testResult.getUuid()); - - WebServiceUtils.marshalSendAndReceive(template, req); - - } - } catch (SoapFaultClientException e) { - WebServiceUtils.manageSoapException(e); - } catch (WebServiceIOException e) { - manageIoException(e); - } - } - - public void setTemplate(WebServiceTemplate template) { - this.template = template; - } - - public void setOnlyOnClose(Boolean onlyOnClose) { - this.onlyOnClose = onlyOnClose; - } - - protected void manageIoException(WebServiceIOException e) { - if (!cannotConnect) { - log.error("Cannot connect to " + template.getDefaultUri() - + ". Won't try again.", e); - cannotConnect = true; - } - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/XsltReportGenerator.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/XsltReportGenerator.java deleted file mode 100644 index 059c209f1..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/XsltReportGenerator.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Templates; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.springframework.core.io.Resource; -import org.springframework.oxm.Marshaller; -import org.springframework.xml.transform.StringResult; -import org.w3c.dom.Document; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; - -public class XsltReportGenerator implements TestResultListener { - private Log log = LogFactory.getLog(getClass()); - - private DocumentBuilder documentBuilder = null; - - private Resource xsltStyleSheet; - - private Templates templates; - - private Marshaller marshaller; - - private String outputDir; - private String outputFileExtension = "html"; - - private Boolean logXml = false; - - public void init() { - if (templates != null) - return; - - if (xsltStyleSheet == null) - throw new SlcException("XSLT style sheet not specified."); - - InputStream in = null; - try { - TransformerFactory transformerFactory = TransformerFactory - .newInstance(); - in = xsltStyleSheet.getInputStream(); - StreamSource xsltSource = new StreamSource(in); - templates = transformerFactory.newTemplates(xsltSource); - } catch (Exception e) { - throw new SlcException("Could not initialize templates", e); - } finally { - IOUtils.closeQuietly(in); - } - } - - public void resultPartAdded(TreeTestResult testResult, - TestResultPart testResultPart) { - - } - - public void close(TreeTestResult testResult) { - if (templates == null) - throw new SlcException("XSLT template not initialized"); - - File file = getFile(testResult); - OutputStream out = null; - - try { - Transformer transformer = templates.newTransformer(); - - if (documentBuilder == null) - documentBuilder = DocumentBuilderFactory.newInstance() - .newDocumentBuilder(); - - Document document = documentBuilder.newDocument(); - DOMResult marshallResult = new DOMResult(document); - marshaller.marshal(testResult, marshallResult); - - if (logXml) { - Transformer identityTransformer = TransformerFactory - .newInstance().newTransformer(); - StringResult xmlResult = new StringResult(); - identityTransformer.transform(new DOMSource(marshallResult - .getNode()), xmlResult); - log.info("Marshalled XML:\n" + xmlResult); - } - - DOMSource transfoSource = new DOMSource(marshallResult.getNode()); - - if (outputDir != null) { - File dir = new File(outputDir); - dir.mkdirs(); - out = new FileOutputStream(file); - StreamResult outputResult = new StreamResult(out); - transformer.transform(transfoSource, outputResult); - } else { - // print on console if no output dir - StringResult result = new StringResult(); - transformer.transform(transfoSource, result); - log.info("Generated report:\n" + result); - } - } catch (Exception e) { - throw new SlcException( - "Could not transform test result to " + file, e); - } finally { - IOUtils.closeQuietly(out); - } - } - - public Resource getXsltStyleSheet() { - return xsltStyleSheet; - } - - public void setXsltStyleSheet(Resource xsltStyleSheet) { - this.xsltStyleSheet = xsltStyleSheet; - } - - public void setTemplates(Templates templates) { - this.templates = templates; - } - - public void setMarshaller(Marshaller marshaller) { - this.marshaller = marshaller; - } - - public void setOutputDir(String outputDir) { - this.outputDir = outputDir; - } - - public void setOutputFileExtension(String outputFileExtension) { - this.outputFileExtension = outputFileExtension; - } - - protected File getFile(TreeTestResult result) { - Long time = System.currentTimeMillis(); - return new File(outputDir + File.separator + time + "-" - + result.getUuid() + "." + outputFileExtension); - } - - public void setLogXml(Boolean logXml) { - this.logXml = logXml; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java deleted file mode 100644 index a77eb34f0..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java +++ /dev/null @@ -1,168 +0,0 @@ -package org.argeo.slc.core.test.tree.htmlreport; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.text.SimpleDateFormat; -import java.util.Comparator; -import java.util.List; -import java.util.SortedSet; -import java.util.TreeSet; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.structure.StructureAware; -import org.argeo.slc.core.structure.StructurePath; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.TestReport; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.dao.structure.tree.TreeSRegistryDao; -import org.argeo.slc.dao.test.TestResultDao; - -/** - * Basic implementation of TestReport generating static HTML pages. If a - * TestResultDao is passed, all the data is dumped, otherwise - * only the passed TestResult. - */ -public class FullHtmlTreeReport implements TestReport, StructureAware { - private static final Log log = LogFactory.getLog(FullHtmlTreeReport.class); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); - - private TestResultDao testResultDao; - private TreeSRegistryDao treeSRegistryDao; - private File reportDir; - - private StructureRegistry localRegistry; - - public void generateTestReport(TestResult testResult) { - - if (testResultDao == null) { - if (testResult == null) - throw new SlcException( - "Cannot generate report without DAO or result instance."); - - TreeTestResult result = (TreeTestResult) testResult; - ResultPage page = new ResultPage(this, result); - page.generate(getRegistry(result)); - } else { - if (reportDir.exists()) { - // clean - for (File file : reportDir.listFiles()) { - file.delete(); - } - } - reportDir.mkdirs(); - - resourceToFile("index.html"); - - ResultsList index = new ResultsList(this); - List list = testResultDao.listTestResults(); - SortedSet sortedSet = new TreeSet( - new Comparator() { - - public int compare(TestResult o1, TestResult o2) { - if (o1.getCloseDate() == null - || o2.getCloseDate() == null) - return 0; - // inverse date order (last first) - return o2.getCloseDate().compareTo( - o1.getCloseDate()); - } - - }); - sortedSet.addAll(list); - for (TestResult testRes : sortedSet) { - TreeTestResult result = (TreeTestResult) testRes; - - index.addTestResult(result); - ResultPage page = new ResultPage(this, result); - page.generate(getRegistry(result)); - } - index.close(); - } - log.info("Generated HTML test result report to "+reportDir); - } - - /** - * Generates a result file location based on the report dir and the id of - * the test result. - */ - protected File getResultFile(TreeTestResult result) { - return new File(reportDir.getPath() + File.separator + "slc-result-" - + result.getUuid() + ".html"); - } - - /** Sets the DAO to use to extract all data. */ - public void setTestResultDao(TestResultDao testResultDao) { - this.testResultDao = testResultDao; - } - - /** Sets the tree structure registry DAO. */ - public void setTreeSRegistryDao(TreeSRegistryDao treeSRegistryDao) { - this.treeSRegistryDao = treeSRegistryDao; - } - - /** Sets the directory where to generate all the data. */ - public void setReportDir(File reportDir) { - this.reportDir = reportDir; - } - - private StructureRegistry getRegistry(TreeTestResult result) { - StructureRegistry registry = null; - if (treeSRegistryDao != null) { - TreeSPath path = result.getResultParts().firstKey(); - registry = treeSRegistryDao.getActiveTreeSRegistry(); - } - if (registry == null) { - registry = localRegistry; - } - if (registry == null) { - throw new SlcException("No structure registry available"); - } - return registry; - } - - public void notifyCurrentPath(StructureRegistry registry, StructurePath path) { - this.localRegistry = registry; - } - - File getReportDir() { - return reportDir; - } - - void addStyles(StringBuffer buf) { - try { - buf.append("\n"); - } catch (IOException e) { - throw new SlcException("Cannot load styles", e); - } - } - - private void resourceToFile(String resourceName) { - try { - File file = new File(getReportDir() + File.separator + resourceName); - InputStream in = FullHtmlTreeReport.class - .getResourceAsStream(resourceName); - FileOutputStream out = new FileOutputStream(file); - IOUtils.copy(in, out); - IOUtils.closeQuietly(in); - IOUtils.closeQuietly(out); - } catch (Exception e) { - throw new SlcException("Cannot load resource", e); - } - - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java deleted file mode 100644 index 69bba492e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultPage.java +++ /dev/null @@ -1,211 +0,0 @@ -package org.argeo.slc.core.test.tree.htmlreport; - -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Date; -import java.util.SortedMap; -import java.util.TreeMap; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestStatus; -import org.argeo.slc.core.test.tree.PartSubList; -import org.argeo.slc.core.test.tree.TreeTestResult; - -class ResultPage { - private final static Log log = LogFactory.getLog(ResultPage.class); - - private final FullHtmlTreeReport report; - private final TreeTestResult result; - - ResultPage(FullHtmlTreeReport report, TreeTestResult result) { - this.report = report; - this.result = result; - } - - /** - * Generates a result page for one test result - * - * @param file - * file to which generate the HTML - * @param result - * the result to dump - */ - protected void generate(StructureRegistry registry) { - StringBuffer buf = new StringBuffer(""); - buf.append("\n"); - buf.append("
"); - buf.append("Result #").append(result.getUuid()); - buf.append("\n"); - report.addStyles(buf); - buf.append("
\n"); - - buf.append("\n"); - - // Header - buf.append("\n"); - buf.append("

Result #").append(result.getUuid()).append("

\n"); - Date closeDate = result.getCloseDate(); - if (closeDate == null) { - buf.append("[Not closed]"); - } else { - buf.append(report.sdf.format(closeDate)); - } - - // TOC - generateToc(buf, registry); - - generatePartsList(buf, registry); - - buf.append(""); - buf.append(""); - - try { - FileUtils.writeStringToFile(report.getResultFile(result), buf - .toString()); - } catch (IOException e) { - log.error("Could not save result page.", e); - } - } - - private void generateToc(StringBuffer buf, - StructureRegistry registry) { - buf.append("

Overview

\n"); - SortedMap toc = new TreeMap(); - for (TreeSPath path : result.getResultParts().keySet()) { - PartSubList subList = (PartSubList) result.getResultParts().get( - path); - boolean isFailed = false; - for (TestResultPart part : subList.getParts()) { - if (!part.getStatus().equals(TestStatus.PASSED)) { - isFailed = true; - break; - } - } - fillToc(toc, path, isFailed); - } - - buf.append("\n"); - for (TreeSPath path : toc.keySet()) { - boolean inResult = result.getResultParts().containsKey(path); - boolean isFailed = !toc.get(path).equals(TestStatus.PASSED); - - buf.append("\n"); - } - buf.append("
"); - int depth = path.getDepth(); - for (int i = 0; i < depth; i++) { - buf.append("      "); - } - - if (inResult) { - buf.append(""); - } - if (registry != null) { - StructureElement element = registry.getElement(path); - if (element != null) { - buf.append(element.getLabel()); - } else { - buf.append(path.getName()); - } - } - if (inResult) { - buf.append(""); - } - buf.append("
\n"); - buf.append("
\n"); - } - - private void generatePartsList(StringBuffer buf, - StructureRegistry registry) { - for (TreeSPath path : result.getResultParts().keySet()) { - buf.append("

\n"); - buf.append(""); - buf.append("

"); - describedPath(path, registry, buf); - buf.append("

"); - - PartSubList subList = (PartSubList) result.getResultParts().get( - path); - buf.append("\n"); - int displayedIndex = 1;// for display only - for (TestResultPart part : subList.getParts()) { - SimpleResultPart sPart = (SimpleResultPart) part; - buf.append("Related Test Run Id:").append( - sPart.getTestRunUuid()).append("
\n"); - String clss = ""; - if (sPart.getStatus().equals(TestStatus.PASSED)) { - clss = "passed"; - } else { - clss = "failed"; - } - buf.append(""); - buf.append(""); - buf.append(""); - buf.append("\n"); - - displayedIndex++; - } - buf.append("
").append(displayedIndex) - .append(""); - - buf.append(sPart.getMessage()); - if (sPart.getStatus().equals(TestStatus.ERROR)) { - buf - .append("

An unexpected error prevented the test to run properly."); - buf.append(sPart.getExceptionMessage()); - buf.append("

"); - } - buf.append("
\n"); - buf.append("top\n"); - buf.append("
\n"); - } - } - - private void fillToc(SortedMap toc, TreeSPath path, - boolean isFailed) { - if (isFailed) { - toc.put(path, TestStatus.FAILED); - } else { - if (!toc.containsKey(path)) { - toc.put(path, TestStatus.PASSED); - } - } - - if (path.getParent() != null) { - fillToc(toc, path.getParent(), isFailed); - } - } - - private String anchor(TreeSPath path) { - return path.getAsUniqueString().replace(path.getSeparator(), '_'); - } - - private void describedPath(TreeSPath path, - StructureRegistry registry, StringBuffer buf) { - // StringBuffer buf = new StringBuffer(""); - if (path.getParent() != null) { - describedPath(path.getParent(), registry, buf); - } - String description = path.getName(); - if (registry != null) { - StructureElement element = registry.getElement(path); - if (element != null) { - description = element.getLabel(); - } - } - buf.append('/').append(description); - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java deleted file mode 100644 index 09895d454..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/ResultsList.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.argeo.slc.core.test.tree.htmlreport; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.Date; - -import org.argeo.slc.core.test.tree.TreeTestResult; - -class ResultsList { - private final FullHtmlTreeReport report; - private final StringBuffer buf = new StringBuffer(""); - - ResultsList(FullHtmlTreeReport report) { - this.report = report; - - buf.append("
Results
"); - buf.append("
"); - buf.append("Results\n"); - report.addStyles(buf); - buf.append("
\n"); - buf.append("\n"); - - buf.append("

Results

\n"); - buf.append("\n"); - buf.append("\n"); - } - - void addTestResult(TreeTestResult result) { - buf.append("\n"); - // Date - buf.append("\n"); - // Id and link - buf.append("\n"); - - buf.append("\n"); - } - - void close() { - buf.append("
DateResult Id
"); - Date closeDate = result.getCloseDate(); - if (closeDate == null) { - buf.append("[Not closed]"); - } else { - buf.append(report.sdf.format(closeDate)); - } - buf.append("#"); - buf.append(result.getUuid()).append("
\n"); - - try { - FileWriter writer = new FileWriter(report.getReportDir().getPath() - + File.separator + "slc-resultsList.html"); - writer.write(buf.toString()); - writer.close(); - } catch (IOException e) { - e.printStackTrace(); - } - - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/package.html deleted file mode 100644 index b10bc3d6f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/htmlreport/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Static HTML report for tree based test results. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/package.html deleted file mode 100644 index 8ad12037e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/core/test/tree/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Extension of SLC Test integrating tree-based structure. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/process/SlcExecutionDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/process/SlcExecutionDao.java deleted file mode 100644 index 181a9febe..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/process/SlcExecutionDao.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.argeo.slc.dao.process; - -import java.util.List; - -import org.argeo.slc.core.process.SlcExecution; - -public interface SlcExecutionDao { - public void create(SlcExecution slcExecution); - public void update(SlcExecution slcExecution); - public SlcExecution getSlcExecution(String uuid); - public List listSlcExecutions(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/SimpleSElementDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/SimpleSElementDao.java deleted file mode 100644 index bed950ff3..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/SimpleSElementDao.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.argeo.slc.dao.structure; - -public interface SimpleSElementDao { - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/package.html deleted file mode 100644 index f8b5ae763..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -DAOs for the core structure objects. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSPathDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSPathDao.java deleted file mode 100644 index 0ebca0d8c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSPathDao.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.argeo.slc.dao.structure.tree; - -import org.argeo.slc.core.structure.tree.TreeSPath; - -public interface TreeSPathDao { - public void create(TreeSPath path); - - public TreeSPath getTreeSPath(String pathString); - - public TreeSPath getOrCreate(TreeSPath pathTransient); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSRegistryDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSRegistryDao.java deleted file mode 100644 index f271f8cbe..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/TreeSRegistryDao.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.argeo.slc.dao.structure.tree; - -import org.argeo.slc.core.structure.StructureRegistry; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.structure.tree.TreeSRegistry; - -/** - * DAO for tree-base structure registry. - * - * @see TreeSRegistry - */ -public interface TreeSRegistryDao { - /** Gets the TreeSRegistry which has the same root path as the provided path. */ - public TreeSRegistry getActiveTreeSRegistry(); - - /** Creates a new registry. */ - public void create(TreeSRegistry registry); - - /** Updates an existing registry. */ - public void update(TreeSRegistry registry); - - /** Sync with local registry */ - public void syncPath(TreeSRegistry registry, - StructureRegistry localRegistry, TreeSPath path); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/package.html deleted file mode 100644 index b8cd81210..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/structure/tree/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -DAOs for the tree-based structure objects. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestResultDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestResultDao.java deleted file mode 100644 index 01cdffd25..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestResultDao.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.argeo.slc.dao.test; - -import java.util.Date; -import java.util.List; - -import org.argeo.slc.core.test.TestResult; - -/** - * The dao for TestResult. - * - * @see TestResult - */ -public interface TestResultDao { - /** Gets a test result based on its id. */ - public T getTestResult(String uuid); - - /** Persists a new test result. */ - public void create(TestResult testResult); - - /** Updates an already persisted test result. */ - public void update(TestResult testResult); - - /** Lists all test results. */ - public List listTestResults(); - - - public void close(String id, Date closeDate); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java deleted file mode 100644 index 7397458b5..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/TestRunDescriptorDao.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.argeo.slc.dao.test; - -import org.argeo.slc.core.test.TestRunDescriptor; - -public interface TestRunDescriptorDao { - public TestRunDescriptor getTestRunDescriptor(String id); - public void saveOrUpdate(TestRunDescriptor testRunDescriptor); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/package.html deleted file mode 100644 index 38ae2b5bf..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Data Access Objects for SLC Test. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultCollectionDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultCollectionDao.java deleted file mode 100644 index 02bc13488..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultCollectionDao.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.argeo.slc.dao.test.tree; - -import java.util.SortedSet; - -import org.argeo.slc.core.test.tree.TreeTestResultCollection; - -public interface TreeTestResultCollectionDao { - public void create(TreeTestResultCollection ttrCollection); - - public void update(TreeTestResultCollection ttrCollection); - - public TreeTestResultCollection getTestResultCollection(String id); - - public SortedSet listCollections(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java deleted file mode 100644 index c66d36921..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.argeo.slc.dao.test.tree; - -import java.util.List; - -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.dao.test.TestResultDao; - -public interface TreeTestResultDao extends TestResultDao { - /** Lists results containing this path */ - public List listResults(TreeSPath path); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultPersister.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultPersister.java deleted file mode 100644 index 73766ead6..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultPersister.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.argeo.slc.dao.test.tree; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.tree.TreeTestResult; - -/** - * Listener persisting tree-based results. - * - * @see TreeTestResult - */ -public class TreeTestResultPersister implements - TestResultListener { - private static Log log = LogFactory.getLog(TreeTestResultPersister.class); - - private TreeTestResultDao testResultDao; - - public void resultPartAdded(TreeTestResult testResult, - TestResultPart testResultPart) { - try { - TreeTestResult persistedResult = testResultDao - .getTestResult(testResult.getUuid()); - - if (persistedResult == null) { - testResultDao.create(testResult); - } else { - testResultDao.update(testResult); - } - } catch (Exception e) { - log.error("Could not persist result part " + testResultPart - + " for result " + testResult.getUuid()); - } - } - - public void close(TreeTestResult testResult) { - TreeTestResult persistedResult = (TreeTestResult) testResultDao - .getTestResult(testResult.getUuid()); - - if (persistedResult != null) { - persistedResult.setCloseDate(testResult.getCloseDate()); - testResultDao.update(persistedResult); - } - if (log.isDebugEnabled()) - log.debug("Closed result persister for result " - + testResult.getUuid()); - } - - /** Sets the DAO to use in order to persist the results. */ - public void setTestResultDao(TreeTestResultDao testResultDao) { - this.testResultDao = testResultDao; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DataInterpreter.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DataInterpreter.java deleted file mode 100644 index 7a57b0552..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DataInterpreter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.argeo.slc.diff; - -/** - * Converts data into a format better adapted for comparison. It is typically - * used to convert String into typed format such as - * BigDecimal - */ -public interface DataInterpreter { - /** - * Converts data - * - * @param key - * any object used to differentiate the type of data (e.g. - * column, path) - * @param value - * the data to convert - * @return the converted object - */ - public Object convert(Object key, Object value); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Diff.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Diff.java deleted file mode 100644 index 0b28996e9..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Diff.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.diff; - -import org.springframework.core.io.Resource; - -/** A comparator providing structured information about the differences found. */ -public interface Diff { - /** Performs the comparison. */ - public DiffResult compare(Resource expected, Resource reached); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffIssue.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffIssue.java deleted file mode 100644 index 5517b3a66..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffIssue.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.argeo.slc.diff; - -/** The root class for issues which happened during a diff. */ -public abstract class DiffIssue implements Comparable { - /** The position of this issue. */ - protected final DiffPosition position; - - /** Constructor */ - public DiffIssue(DiffPosition position) { - super(); - this.position = position; - } - - public int compareTo(DiffIssue o) { - return position.compareTo(o.position); - } - - /** The position of this issue within the test file */ - public DiffPosition getPosition() { - return position; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffKey.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffKey.java deleted file mode 100644 index 9d34f720a..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffKey.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.diff; - -/** - * Object able to uniquely identify an atomic diff part. Used to identify - * missings and left-overs. - */ -public interface DiffKey { - public String toString(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissing.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissing.java deleted file mode 100644 index da4476660..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissing.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.argeo.slc.diff; - -/** - * A value missing in one of the file. If its position is related to expected, - * this means it is a left over in the reached, if its position is related to - * the reached it means that it is missing from the reached. If the value is - * null it means that the entire line is missing. - */ -public class DiffMissing extends DiffIssue { - private final DiffKey key; - - public DiffMissing(DiffPosition position, DiffKey key) { - super(position); - this.key = key; - } - - public Object getKey() { - return key; - } - - @Override - public String toString() { - if (position.relatedFile == RelatedFile.EXPECTED) { - return position + ": left over " + key; - } else if (position.relatedFile == RelatedFile.REACHED) { - return position + ": missing " + key; - } - return super.toString(); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissingXml.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissingXml.java deleted file mode 100644 index ca3fd21a2..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffMissingXml.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.argeo.slc.diff; - -/** - * DiffMissing using the XPath of the position as - * DiffKey - */ -public class DiffMissingXml extends DiffMissing { - - public DiffMissingXml(XPathDiffPosition position) { - super(position, new DiffKeyXml(position.getXPath())); - } - - /** Implementation of DiffKey based on an XPath string. */ - protected static class DiffKeyXml implements DiffKey { - private final String xPath; - - public DiffKeyXml(String xPath) { - this.xPath = xPath; - } - - public String getXPath() { - return xPath; - } - - @Override - public String toString() { - return xPath; - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof DiffKeyXml)) - return false; - return xPath.equals(((DiffKeyXml) obj).xPath); - } - - @Override - public int hashCode() { - return xPath.hashCode(); - } - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffNotMatched.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffNotMatched.java deleted file mode 100644 index 04f7acff1..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffNotMatched.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.argeo.slc.diff; - -/** Diff issue where reached and expected values are different. */ -public class DiffNotMatched extends DiffIssue { - private final Object expected; - private final Object reached; - - public DiffNotMatched(DiffPosition position, Object expected, Object reached) { - super(position); - this.expected = expected; - this.reached = reached; - } - - public Object getExpected() { - return expected; - } - - public Object getReached() { - return reached; - } - - @Override - public String toString() { - return position + ": not matched " + expected + " <> " + reached; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffPosition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffPosition.java deleted file mode 100644 index 302c0afa9..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffPosition.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.argeo.slc.diff; - -/** The position of a diff issue within the test resource. */ -public abstract class DiffPosition implements Comparable { - protected RelatedFile relatedFile; - - public DiffPosition(RelatedFile relatedFile) { - super(); - this.relatedFile = relatedFile; - } - - public RelatedFile getRelatedFile() { - return relatedFile; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffResult.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffResult.java deleted file mode 100644 index 0e29fdd05..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/DiffResult.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.argeo.slc.diff; - -import java.util.List; - -/** - * The result of a diff. Can be subclassed to provided more structured - * information. - */ -public interface DiffResult { - /** The list of issues, a zero size meaning that the diff succeeded. */ - public List getIssues(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/LineTokenizer.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/LineTokenizer.java deleted file mode 100644 index fed4c37b5..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/LineTokenizer.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.argeo.slc.diff; - -import java.util.ArrayList; -import java.util.List; - -/** - * Parses a string as a vector of strings according to a separator, dealing - * properly with missing values. This is intended to be used instead of the - * standard StringTokenizer, which does not deal well with empty values. - * Contrary to the StringTokenizer the provided String is parsed in the - * constructor and the values stored as a property. This should therefore not be - * used to parse long strings. No reference to the argument passed in - * constructor is kept. - */ -public class LineTokenizer { - private final List tokens; - - /** Complete constructor. */ - public LineTokenizer(String stringToParse, Character separator, - String noValueString) { - this.tokens = parse(stringToParse, separator, noValueString); - } - - /** - * Parse the string as a vector of strings. Can be overridden in order to - * provide another implementation. - */ - protected List parse(final String stringToParse, - final char separator, final String noValueString) { - // Init - final int NULL = -1; - List res = new ArrayList(); - final char[] array = stringToParse.toCharArray(); - int lastSeparatorIndex = NULL; - - // Loop on chars - for (int currIndex = 0; currIndex < array.length; currIndex++) { - char c = array[currIndex]; - if (c == separator) { - if (currIndex == 0) { - // first char is a separator - res.add(new String(noValueString)); - lastSeparatorIndex = 0; - } else if (lastSeparatorIndex == NULL) { - // first separator found - res.add(new String(array, 0, currIndex)); - lastSeparatorIndex = currIndex; - } else if (lastSeparatorIndex != NULL - && (lastSeparatorIndex == (currIndex - 1))) { - // consecutive separators - res.add(new String(noValueString)); - lastSeparatorIndex = currIndex; - } else { - // simple case - res.add(new String(array, lastSeparatorIndex + 1, currIndex - - lastSeparatorIndex - 1)); - lastSeparatorIndex = currIndex; - } - } - } - - // Finalize - if (lastSeparatorIndex == NULL) { - // no separator found - res.add(new String(stringToParse)); - } else if (lastSeparatorIndex == (array.length - 1)) { - // last char is a separator - res.add(new String(noValueString)); - } else { - // last token - res.add(new String(array, lastSeparatorIndex + 1, array.length - - lastSeparatorIndex - 1)); - } - return res; - } - - /** The tokens. */ - public List getTokens() { - return tokens; - } - - /** Parse */ - public static List tokenize(String stringToParse, - Character separator, String noValueString) { - LineTokenizer lt = new LineTokenizer(stringToParse, separator, - noValueString); - return lt.getTokens(); - } - - /** Parse, using the empty string as no value string. */ - public static List tokenize(String stringToParse, - Character separator) { - return tokenize(stringToParse, separator, ""); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/RelatedFile.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/RelatedFile.java deleted file mode 100644 index 757968355..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/RelatedFile.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.diff; - -/** Enumeration of the types of resource tested. */ -public enum RelatedFile { - /** The expected resource */ - EXPECTED, - /** The reached resource */ - REACHED -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/SimpleDiffResult.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/SimpleDiffResult.java deleted file mode 100644 index 6eefb7f28..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/SimpleDiffResult.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.argeo.slc.diff; - -import java.util.List; -import java.util.Vector; - -/** A basic implementation of DiffResult. */ -public class SimpleDiffResult implements DiffResult { - private List issues = new Vector(); - - public List getIssues() { - return issues; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/TableDiffPosition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/TableDiffPosition.java deleted file mode 100644 index d8a3d785d..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/TableDiffPosition.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.argeo.slc.diff; - -import org.argeo.slc.core.UnsupportedException; - -/** - * A diff position within a table structure such a CSV file or an SQL result - * set. - */ -public class TableDiffPosition extends DiffPosition { - private Integer line; - /** Can be null */ - private Integer column; - /** Can be null */ - private String columnName; - - public TableDiffPosition(RelatedFile relatedFile, Integer line, - Integer column, String columnName) { - super(relatedFile); - this.line = line; - this.column = column; - this.columnName = columnName; - } - - public Integer getLine() { - return line; - } - - public Integer getColumn() { - return column; - } - - public String getColumnName() { - return columnName; - } - - public int compareTo(DiffPosition dp) { - if (!(dp instanceof TableDiffPosition)) - throw new UnsupportedException("position", dp); - - TableDiffPosition o = (TableDiffPosition) dp; - if (relatedFile.equals(o.relatedFile)) { - if (line == o.line) { - return column.compareTo(o.column); - } else { - return line.compareTo(o.line); - } - } else { - return relatedFile.compareTo(o.relatedFile); - } - } - - @Override - public String toString() { - StringBuffer buf = new StringBuffer(""); - buf.append(relatedFile).append('[').append(line); - if (column != null) { - buf.append(',').append(column); - if (columnName != null) { - buf.append('-').append(columnName); - } - } - buf.append(']'); - return buf.toString(); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Tolerance.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Tolerance.java deleted file mode 100644 index b44a7123a..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/Tolerance.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.argeo.slc.diff; - -/** Compares objects, eventually using tolerance mechanisms. */ -public interface Tolerance { - /** - * Compares objects - * - * @param key - * any object used to differentiate the type of data (e.g. - * column, path) - * @param expected - * the expected value - * @param reached - * the reached value - * @return the converted object - */ - public Boolean compare(Object key, Object expected, Object reached); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/XPathDiffPosition.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/XPathDiffPosition.java deleted file mode 100644 index 0d2234240..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/XPathDiffPosition.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.argeo.slc.diff; - -import org.argeo.slc.core.UnsupportedException; - -/** A diff position within an Xml file. NOT YET IMPLEMENTED. */ -public class XPathDiffPosition extends DiffPosition { - - private String xPath; - - public XPathDiffPosition(RelatedFile relatedFile, String path) { - super(relatedFile); - xPath = path; - } - - public int compareTo(DiffPosition dp) { - if (!(dp instanceof XPathDiffPosition)) - throw new UnsupportedException("position", dp); - - XPathDiffPosition o = (XPathDiffPosition) dp; - if (relatedFile.equals(o.relatedFile)) { - return xPath.compareTo(o.xPath); - } else { - return relatedFile.compareTo(o.relatedFile); - } - } - - public String getXPath() { - return xPath; - } - - @Override - public String toString() { - return xPath; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/package.html deleted file mode 100644 index a58e68575..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/diff/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Abstraction of diff comparison with structured results. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenFile.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenFile.java deleted file mode 100644 index 31c6385a6..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenFile.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.argeo.slc.maven; - -import org.argeo.slc.core.build.Distribution; -import org.argeo.slc.core.deploy.DeploymentData; - -public class MavenFile implements Distribution, DeploymentData { - private String groupId; - private String artifactId; - private String version; - private String type; - private String classifier; - - private String distributionId; - - public String getDistributionId() { - return distributionId; - } - - public void setDistributionId(String distributionId) { - this.distributionId = distributionId; - } - - public String getGroupId() { - return groupId; - } - - public void setGroupId(String groupId) { - this.groupId = groupId; - } - - public String getArtifactId() { - return artifactId; - } - - public void setArtifactId(String artifactId) { - this.artifactId = artifactId; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getClassifier() { - return classifier; - } - - public void setClassifier(String classifier) { - this.classifier = classifier; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenManager.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenManager.java deleted file mode 100644 index 3a07e227a..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/maven/MavenManager.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.argeo.slc.maven; - -import java.io.File; -import java.util.List; -import java.util.Vector; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.maven.artifact.Artifact; -import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.embedder.MavenEmbedder; -import org.apache.maven.embedder.MavenEmbedderException; - -import org.argeo.slc.core.SlcException; - -public class MavenManager { - private final Log log = LogFactory.getLog(getClass()); - - private String repositoryId; - private String repositoryUrl; - private String localRepositoryPath; - - private ArtifactRepository localRepository; - private List remoteRepositories; - - private MavenEmbedder mavenEmbedder; - - public void init() { - try { - mavenEmbedder = new MavenEmbedder(); - mavenEmbedder.setOffline(true); - mavenEmbedder.setClassLoader(Thread.currentThread() - .getContextClassLoader()); - mavenEmbedder.start(); - - mavenEmbedder.setLocalRepositoryDirectory(new File( - localRepositoryPath)); - - localRepository = mavenEmbedder.getLocalRepository(); - - // localRepository = mavenEmbedder.createLocalRepository(new File( - // localRepositoryPath)); - - ArtifactRepository repository = mavenEmbedder.createRepository( - repositoryUrl, repositoryId); - - remoteRepositories = new Vector(); - remoteRepositories.add(repository); - } catch (Exception e) { - throw new SlcException("Cannot initialize Maven manager", e); - } - } - - private Artifact resolve(MavenFile mavenDistribution) { - try { - Artifact artifact; - if (mavenDistribution.getClassifier() == null) { - artifact = mavenEmbedder.createArtifact(mavenDistribution - .getGroupId(), mavenDistribution.getArtifactId(), - mavenDistribution.getVersion(), - Artifact.SCOPE_PROVIDED, mavenDistribution.getType()); - } else { - artifact = mavenEmbedder.createArtifactWithClassifier( - mavenDistribution.getGroupId(), mavenDistribution - .getArtifactId(), mavenDistribution - .getVersion(), mavenDistribution.getType(), - mavenDistribution.getClassifier()); - } - - mavenEmbedder - .resolve(artifact, remoteRepositories, localRepository); - - return artifact; - } catch (Exception e) { - throw new SlcException("Cannot resolve artifact.", e); - } - } - - public File getPackageLocation(MavenFile mavenDistribution) { - return resolve(mavenDistribution).getFile(); - } - - public void destroy() { - try { - if (mavenEmbedder != null) { - mavenEmbedder.stop(); - } - } catch (MavenEmbedderException e) { - log.error("Cannot destroy Maven manager", e); - } - } - - public void setRepositoryId(String repositoryId) { - this.repositoryId = repositoryId; - } - - public void setRepositoryUrl(String repositoryUrl) { - this.repositoryUrl = repositoryUrl; - } - - public void setLocalRepositoryPath(String localRepositoryPath) { - this.localRepositoryPath = localRepositoryPath; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionRequest.java deleted file mode 100644 index 84d582681..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionRequest.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.argeo.slc.msg.process; - -import org.argeo.slc.core.process.SlcExecution; - -public class SlcExecutionRequest { - private SlcExecution slcExecution; - - public SlcExecution getSlcExecution() { - return slcExecution; - } - - public void setSlcExecution(SlcExecution slcExecution) { - this.slcExecution = slcExecution; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStatusRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStatusRequest.java deleted file mode 100644 index 78afc830f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStatusRequest.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.argeo.slc.msg.process; - -public class SlcExecutionStatusRequest { - private String slcExecutionUuid; - private String newStatus; - - public SlcExecutionStatusRequest() { - } - - public SlcExecutionStatusRequest(String slcExecutionUuid, String newStatus) { - this.slcExecutionUuid = slcExecutionUuid; - this.newStatus = newStatus; - } - - public String getSlcExecutionUuid() { - return slcExecutionUuid; - } - - public void setSlcExecutionUuid(String slcExecutionUuid) { - this.slcExecutionUuid = slcExecutionUuid; - } - - public String getNewStatus() { - return newStatus; - } - - public void setNewStatus(String newStatus) { - this.newStatus = newStatus; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStepsRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStepsRequest.java deleted file mode 100644 index 237f05f87..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/process/SlcExecutionStepsRequest.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.argeo.slc.msg.process; - -import java.util.List; -import java.util.Vector; - -import org.argeo.slc.core.process.SlcExecutionStep; - -public class SlcExecutionStepsRequest { - private String slcExecutionUuid; - private List steps = new Vector(); - - public String getSlcExecutionUuid() { - return slcExecutionUuid; - } - - public void setSlcExecutionUuid(String slcExecutionUuid) { - this.slcExecutionUuid = slcExecutionUuid; - } - - public List getSteps() { - return steps; - } - - public void setSteps(List step) { - this.steps = step; - } - - public void addStep(SlcExecutionStep step) { - steps.add(step); - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java deleted file mode 100644 index c0b74e36e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.argeo.slc.msg.test.tree; - -import java.util.Date; - -import org.argeo.slc.core.test.tree.TreeTestResult; - -public class CloseTreeTestResultRequest { - private String resultUuid; - private Date closeDate; - - public CloseTreeTestResultRequest() { - - } - - public CloseTreeTestResultRequest(String resultUuid, Date closeDate) { - this.resultUuid = resultUuid; - this.closeDate = closeDate; - } - - public CloseTreeTestResultRequest(TreeTestResult ttr) { - this.resultUuid = ttr.getUuid(); - this.closeDate = ttr.getCloseDate(); - } - - public String getResultUuid() { - return resultUuid; - } - - public void setResultUuid(String id) { - this.resultUuid = id; - } - - public Date getCloseDate() { - return closeDate; - } - - public void setCloseDate(Date closeDate) { - this.closeDate = closeDate; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CreateTreeTestResultRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CreateTreeTestResultRequest.java deleted file mode 100644 index 0a7af822b..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/CreateTreeTestResultRequest.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.argeo.slc.msg.test.tree; - -import org.argeo.slc.core.test.tree.TreeTestResult; - -public class CreateTreeTestResultRequest { - private TreeTestResult treeTestResult; - - public CreateTreeTestResultRequest() { - - } - - public CreateTreeTestResultRequest(TreeTestResult treeTestResult) { - this.treeTestResult = treeTestResult; - } - - public TreeTestResult getTreeTestResult() { - return treeTestResult; - } - - public void setTreeTestResult(TreeTestResult treeTestResult) { - this.treeTestResult = treeTestResult; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java deleted file mode 100644 index ac0908711..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.argeo.slc.msg.test.tree; - -import java.util.Map; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.structure.StructureElement; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.TestRunDescriptor; -import org.argeo.slc.core.test.tree.PartSubList; -import org.argeo.slc.core.test.tree.TreeTestResult; - -public class ResultPartRequest { - private String resultUuid; - private SimpleResultPart resultPart; - private TreeSPath path; - private Map relatedElements; - private TestRunDescriptor testRunDescriptor; - - public ResultPartRequest() { - - } - - public ResultPartRequest(TreeTestResult ttr, TreeSPath path, - SimpleResultPart resultPart) { - resultUuid = ttr.getUuid(); - this.resultPart = resultPart; - this.path = path; - relatedElements = ttr.getRelatedElements(path); - if (ttr.getCurrentTestRun() != null) - testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); - } - - public ResultPartRequest(TreeTestResult ttr) { - resultUuid = ttr.getUuid(); - this.path = ttr.getCurrentPath(); - - PartSubList lst = ttr.getResultParts().get(path); - if (lst.getParts().size() < 1) { - throw new SlcException("Cannot find part for path " + path - + " in result " + resultUuid); - } - - this.resultPart = (SimpleResultPart) lst.getParts().get( - lst.getParts().size() - 1); - relatedElements = ttr.getRelatedElements(path); - if (ttr.getCurrentTestRun() != null) - testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); - } - - public String getResultUuid() { - return resultUuid; - } - - public void setResultUuid(String resultUuid) { - this.resultUuid = resultUuid; - } - - public SimpleResultPart getResultPart() { - return resultPart; - } - - public void setResultPart(SimpleResultPart resultPart) { - this.resultPart = resultPart; - } - - public TreeSPath getPath() { - return path; - } - - public void setPath(TreeSPath path) { - this.path = path; - } - - public TestRunDescriptor getTestRunDescriptor() { - return testRunDescriptor; - } - - public void setTestRunDescriptor(TestRunDescriptor testRunDescriptor) { - this.testRunDescriptor = testRunDescriptor; - } - - public Map getRelatedElements() { - return relatedElements; - } - - public void setRelatedElements( - Map relatedElements) { - this.relatedElements = relatedElements; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/spring/SpringUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/spring/SpringUtils.java deleted file mode 100644 index fc9b65686..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/spring/SpringUtils.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.argeo.slc.spring; - -import java.util.Map; - -import org.springframework.beans.factory.ListableBeanFactory; - -public class SpringUtils { - public static T loadSingleFromContext(ListableBeanFactory context, - Class clss) { - Map beans = context.getBeansOfType(clss); - if (beans.size() == 1) { - return beans.values().iterator().next(); - } else { - return null; - } - } - - private SpringUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/ApacheHttpdServer.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/ApacheHttpdServer.java deleted file mode 100644 index 6d77cdd51..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/ApacheHttpdServer.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; -import java.io.IOException; -import java.net.URL; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.build.Distribution; -import org.springframework.core.io.Resource; - -public class ApacheHttpdServer implements WebServer { - private Resource baseUrlRes; - private File baseLocation; - - public URL getBaseUrl() { - try { - return baseUrlRes.getURL(); - } catch (IOException e) { - throw new SlcException("Cannot get url from "+baseUrlRes,e); - } - } - - public void setBaseUrlRes(Resource baseUrlRes){ - this.baseUrlRes = baseUrlRes; - } - - - - public File getBaseLocation() { - return baseLocation; - } - - public void setBaseLocation(File baseLocation) { - this.baseLocation = baseLocation; - } - - public String getDeployedSystemId() { - // TODO Auto-generated method stub - return null; - } - - public Distribution getDistribution() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java deleted file mode 100644 index 60dfea024..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/BasicDeployEnvironment.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; -import java.net.URL; -import java.util.Map; -import java.util.Properties; -import java.util.UUID; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.ant.AntRegistryUtil; -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.deploy.DeployEnvironment; -import org.argeo.slc.maven.MavenFile; -import org.argeo.slc.maven.MavenManager; - -public class BasicDeployEnvironment implements DeployEnvironment { - private static final Log log = LogFactory - .getLog(BasicDeployEnvironment.class); - private MavenManager mavenManager; - - public void unpackTo(Object packg, File targetLocation, - Map filter) { - File packageLocation; - String type = null; - String removeRootDir = "enabled"; - if (packg instanceof MavenFile) { - packageLocation = mavenManager - .getPackageLocation((MavenFile) packg); - type = ((MavenFile) packg).getType(); - } else if (packg instanceof File) { - packageLocation = (File) packg; - // TODO: type based on extension - } else { - throw new SlcException("Unrecognized package type " - + packg.getClass()); - } - if (log.isDebugEnabled()) { - log.debug("Unpack " + packageLocation + " of type " + type + " to " - + targetLocation); - } - - try { - File tempDir = new File("/tmp/"+UUID.randomUUID().toString()); - tempDir.mkdirs(); - targetLocation.mkdirs(); - Properties props = new Properties(); - props.setProperty("dest", targetLocation.getAbsolutePath()); - props.setProperty("src", packageLocation.getAbsolutePath()); - props.setProperty("tempDir", tempDir.getAbsolutePath()); - props.setProperty("removeRootDir", removeRootDir); - - URL antUrl = getClass().getClassLoader().getResource( - "org/argeo/slc/support/deploy/ant/build.xml"); - - if (type == null || type.equals("zip")) { - AntRegistryUtil.runAll(antUrl, "deployZip", props); - } else if (type.equals("tar.gz")) { - AntRegistryUtil.runAll(antUrl, "deployTarGz", props); - } else { - throw new SlcException("Unknow package type " + type); - } - } catch (SlcException e) { - throw e; - } catch (Exception e) { - throw new SlcException("Cannot unpack package " + packg + " to " - + targetLocation, e); - } - } - - public void setMavenManager(MavenManager mavenManager) { - this.mavenManager = mavenManager; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java deleted file mode 100644 index 79eb0bd4f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.build.Distribution; -import org.argeo.slc.core.deploy.DeployEnvironment; -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.deploy.DeploymentData; -import org.argeo.slc.core.deploy.ExecutableDeployment; -import org.argeo.slc.core.deploy.TargetData; - -public class HttpdApplicationDeployment implements ExecutableDeployment { - private static final Log log = LogFactory - .getLog(HttpdApplicationDeployment.class); - - private HttpdApplicationTargetData targetData; - private DeploymentData deploymentData; - private SimpleHttpdApplication deployedSystem; - private Distribution distribution; - - private DeployEnvironment deployEnvironment; - - public void execute() { - try { - deployEnvironment.unpackTo(getDistribution(), targetData - .getTargetRootLocation(), null); - - // FIXME: make it generic - String deployDataPath = targetData.getTargetRootLocation() - .getCanonicalPath(); - - deployEnvironment.unpackTo(getDeploymentData(), new File( - deployDataPath), null); - deployedSystem = new SimpleHttpdApplication(); - deployedSystem.setTargetData(targetData); - - } catch (Exception e) { - throw new SlcException("Cannot deploy " + deploymentData + " to " - + targetData, e); - } - - } - - public void setTargetData(TargetData targetData) { - this.targetData = (HttpdApplicationTargetData) targetData; - } - - public void setDeploymentData(DeploymentData deploymentData) { - this.deploymentData = deploymentData; - } - - public DeployedSystem getDeployedSystem() { - return deployedSystem; - } - - public DeploymentData getDeploymentData() { - return deploymentData; - } - - public TargetData getTargetData() { - return targetData; - } - - public Distribution getDistribution() { - return distribution; - } - - public void setDistribution(Distribution distribution) { - this.distribution = distribution; - } - - public void setDeployEnvironment(DeployEnvironment deployEnvironment) { - this.deployEnvironment = deployEnvironment; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java deleted file mode 100644 index 7097289ec..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.core.deploy.TargetData; - -public class HttpdApplicationTargetData implements TargetData { - private ApacheHttpdServer webServer; - private String relativePath; - - public ApacheHttpdServer getWebServer() { - return webServer; - } - - public void setWebServer(ApacheHttpdServer webServer) { - this.webServer = webServer; - } - - public String getRelativePath() { - return relativePath; - } - - public void setRelativePath(String relativePath) { - this.relativePath = relativePath; - } - - public URL getTargetBaseUrl() { - try { - URL wsUrl = getWebServer().getBaseUrl(); - return new URL(wsUrl, wsUrl.getFile() + '/' + relativePath); - } catch (MalformedURLException e) { - throw new SlcException("Cannot get base url for " + relativePath, e); - } - } - - public File getTargetRootLocation() { - return new File(getWebServer().getBaseLocation().getPath() - + File.separator + getRelativePath()); - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/SimpleHttpdApplication.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/SimpleHttpdApplication.java deleted file mode 100644 index bb98c383f..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/SimpleHttpdApplication.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; -import java.net.URL; - -import org.argeo.slc.core.build.Distribution; - -public class SimpleHttpdApplication implements WebApplication { - private HttpdApplicationTargetData targetData; - private Distribution distribution; - - public void setDistribution(Distribution distribution) { - this.distribution = distribution; - } - - public URL getBaseUrl() { - return targetData.getTargetBaseUrl(); - } - - public File getRootLocation() { - return targetData.getTargetRootLocation(); - } - - public String getDeployedSystemId() { - // TODO Auto-generated method stub - return null; - } - - public HttpdApplicationTargetData getTargetData() { - return targetData; - } - - public void setTargetData(HttpdApplicationTargetData targetData) { - this.targetData = targetData; - } - - public Distribution getDistribution() { - return distribution; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebApplication.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebApplication.java deleted file mode 100644 index da0b1129e..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebApplication.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.io.File; -import java.net.URL; - -import org.argeo.slc.core.deploy.DeployedSystem; - -public interface WebApplication extends DeployedSystem{ - public URL getBaseUrl(); - public File getRootLocation(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebServer.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebServer.java deleted file mode 100644 index fc747bc94..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/support/deploy/WebServer.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.argeo.slc.support.deploy; - -import java.net.URL; - -import org.argeo.slc.core.deploy.DeployedSystem; - -public interface WebServer extends DeployedSystem { - public URL getBaseUrl(); -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java deleted file mode 100644 index 4ad916d57..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.argeo.slc.unit; - -import junit.framework.TestCase; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.SlcException; -import org.argeo.slc.spring.SpringUtils; - -/** Helper for tests using a Spring application co,text. */ -public abstract class AbstractSpringTestCase extends TestCase { - protected final Log log = LogFactory.getLog(getClass()); - private ApplicationContext context; - - /** - * Gets (and create if necessary) the application context to use. Default - * implementation uses a class path xml application context and calls - * {@link #getApplicationContextLocation()}. - */ - protected ApplicationContext getContext() { - if (context == null) { - context = new ClassPathXmlApplicationContext( - getApplicationContextLocation()); - } - return context; - } - - /** Returns a bean from the underlying context */ - protected T getBean(String beanId) { - return (T) getContext().getBean(beanId); - } - - protected T getBean(Class clss) { - T bean = SpringUtils.loadSingleFromContext(getContext(), clss); - if (bean == null) { - throw new SlcException("Cannot retrieve a unique bean of type " - + clss); - } else { - return bean; - } - } - - /** - * Th location of the application to load. The default implementation - * returns applicationContext.xml found in the same package as the - * test. - */ - protected String getApplicationContextLocation() { - return inPackage("applicationContext.xml"); - } - - /** - * Prefixes the package of the class after converting the '.' to '/' in - * order to have a resource path. - */ - protected String inPackage(String suffix) { - String prefix = getClass().getPackage().getName().replace('.', '/'); - return prefix + '/' + suffix; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/DbModel.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/DbModel.java deleted file mode 100644 index 504dffedd..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/DbModel.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.argeo.slc.unit; - -import java.sql.Connection; -import java.util.List; -import java.util.Properties; - -import org.hibernate.cfg.Configuration; -import org.hibernate.cfg.Environment; -import org.hibernate.tool.hbm2ddl.SchemaExport; - -/** - * Creates a relational data model from Hibernate mapping files. The benefit of - * this class is to be able to use Hibernate to have test data which are - * independent from the type of database used. - */ -public class DbModel { - private String dialect; - private List mappings; - - /** Sets the Hibernate dialect to use. */ - public void setDialect(String dialect) { - this.dialect = dialect; - } - - /** Sets the list of mappings to consider. */ - public void setMappings(List mappings) { - this.mappings = mappings; - } - - /** - * Creates an Hibernate schema export tool, in order to create the - * underlying datamodel. - */ - public SchemaExport createSchemaExport(Connection connection) { - Configuration configuration = new Configuration(); - Properties properties = new Properties(); - properties.setProperty(Environment.DIALECT, dialect); - properties.setProperty(Environment.HBM2DDL_AUTO, "create"); - configuration.setProperties(properties); - - for (String mapping : mappings) { - configuration.addResource(mapping.trim()); - } - - return new SchemaExport(configuration, connection); - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/IndependentDbTestCase.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/IndependentDbTestCase.java deleted file mode 100644 index bd6b2f993..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/IndependentDbTestCase.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.argeo.slc.unit; - -import java.io.InputStream; -import java.sql.SQLException; - -import javax.sql.DataSource; - -import org.dbunit.DataSourceDatabaseTester; -import org.dbunit.DatabaseUnitException; -import org.dbunit.IDatabaseTester; -import org.dbunit.database.IDatabaseConnection; -import org.dbunit.dataset.IDataSet; -import org.dbunit.dataset.ReplacementDataSet; -import org.dbunit.dataset.xml.FlatXmlDataSet; -import org.dbunit.operation.DatabaseOperation; -import org.springframework.core.io.ClassPathResource; -import org.springframework.core.io.Resource; - -import org.apache.commons.io.IOUtils; - -import org.hibernate.tool.hbm2ddl.SchemaExport; - -import org.argeo.slc.core.SlcException; - -/** - * Helper to make db vendor independent tests using DbUnit data sets. Based on - * {@link DbModel}. - */ -public abstract class IndependentDbTestCase extends AbstractSpringTestCase { - private IDatabaseTester databaseTester; - - /** Creates the DDL of the data model and loads the data. */ - @Override - protected void setUp() throws Exception { - super.setUp(); - - databaseTester = new DataSourceDatabaseTester(getDataSource()); - databaseTester.setSetUpOperation(new DatabaseOperation() { - - @Override - public void execute(IDatabaseConnection connection, IDataSet dataSet) - throws DatabaseUnitException, SQLException { - DbModel dbModel = getDbModel(); - SchemaExport schemaExport = dbModel - .createSchemaExport(connection.getConnection()); - schemaExport.create(true, true); - - DatabaseOperation.INSERT.execute(connection, dataSet); - } - - }); - databaseTester.setDataSet(createDataSet()); - databaseTester.onSetup(); - } - - @Override - protected void tearDown() throws Exception { - if (databaseTester != null) { - databaseTester.onTearDown(); - } - super.tearDown(); - } - - /** - * The data source to use. The default implementation returns a bean named - * {@link #getDataSourceBeanName} - */ - protected DataSource getDataSource() { - return (DataSource) getContext().getBean(getDataSourceBeanName()); - } - - /** - * The name of the data source bean to use. The default implementation - * returns dataSource. - */ - protected String getDataSourceBeanName() { - return "slcDefault.dataSource.inMemoryTestHSQL"; - } - - /** - * Creates the data set to use. The default implementation creates a - * FlatXmlDataSet load from the resource defined in - * {@link #getDataSetResource()} - */ - protected IDataSet createDataSet() { - InputStream in = null; - try { - in = getDataSetResource().getInputStream(); - String[] replaceStrings = getReplacementStrings(); - IDataSet dataSet; - if (replaceStrings.length == 0) { - dataSet = new FlatXmlDataSet(in); - } else { - dataSet = new ReplacementDataSet(new FlatXmlDataSet(in)); - for (String str : replaceStrings) { - replace((ReplacementDataSet) dataSet, str); - } - } - return dataSet; - } catch (Exception e) { - throw new SlcException("Cannot create data set", e); - } finally { - IOUtils.closeQuietly(in); - } - } - - /** - * To be overridden. Return an empty array by default. - * - * @return the array of strings to replace in the dataset - */ - protected String[] getReplacementStrings() { - return new String[0]; - } - - /** - * Set the object replacing the given string. To be overridden. Does nothing - * by default. - */ - protected void replace(ReplacementDataSet dataSet, String str) - throws Exception { - - } - - /** - * Replace the given string by the content of the resource with the same - * name in the same package, as a byte array. - */ - protected void replaceByRessource(ReplacementDataSet dataSet, String str) - throws Exception { - Resource zipResource = new ClassPathResource(inPackage(str)); - - dataSet.addReplacementObject(str, IOUtils.toByteArray(zipResource - .getInputStream())); - } - - /** - * The resource of the data set to load. The default implementation loads a - * ClassPathResource located at - * {@link #getDataSetResourceLocation()}. - */ - protected Resource getDataSetResource() { - return new ClassPathResource(getDataSetResourceLocation()); - } - - /** - * The location of the data set to load. The default implementation loads - * dataSet.xml found in the same package as the test. - */ - protected String getDataSetResourceLocation() { - return inPackage("dataSet.xml"); - } - - /** - * The DB model to us to create the DDL of the testes database. The default - * implementation loads a bean named after {@link #getDbModelBeanName()}. - */ - protected DbModel getDbModel() { - return (DbModel) getContext().getBean(getDbModelBeanName()); - } - - /** - * The name of the bean to load. The default implementation returns - * dbModel. - */ - protected String getDbModelBeanName() { - return "dbModel"; - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitUtils.java deleted file mode 100644 index e88deed01..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitUtils.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.argeo.slc.unit; - -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; - -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertNull; -import static junit.framework.Assert.assertNotNull; - -public abstract class UnitUtils { - public static void assertDateSec(Date expected, Date reached) { - if (expected == null) { - assertNull(reached); - return; - } else { - assertNotNull(reached); - } - - Calendar expectedCal = new GregorianCalendar(); - expectedCal.setTime(expected); - Calendar reachedCal = new GregorianCalendar(); - reachedCal.setTime(reached); - assertEquals(expectedCal.get(Calendar.YEAR), reachedCal - .get(Calendar.YEAR)); - assertEquals(expectedCal.get(Calendar.MONTH), reachedCal - .get(Calendar.MONTH)); - assertEquals(expectedCal.get(Calendar.DATE), reachedCal - .get(Calendar.DATE)); - assertEquals(expectedCal.get(Calendar.HOUR_OF_DAY), reachedCal - .get(Calendar.HOUR_OF_DAY)); - assertEquals(expectedCal.get(Calendar.MINUTE), reachedCal - .get(Calendar.MINUTE)); - assertEquals(expectedCal.get(Calendar.SECOND), reachedCal - .get(Calendar.SECOND)); - } - - private UnitUtils() { - - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitXmlUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitXmlUtils.java deleted file mode 100644 index af6f92320..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/UnitXmlUtils.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.argeo.slc.unit; - -import java.io.IOException; - -import javax.xml.transform.Source; - -import junit.framework.TestCase; - -import org.springframework.xml.validation.XmlValidator; -import org.springframework.xml.xsd.XsdSchema; -import org.xml.sax.SAXParseException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -public abstract class UnitXmlUtils { - private final static Log log = LogFactory.getLog(UnitXmlUtils.class); - - public static void assertXsdSchemaValidation(XsdSchema schema, Source source) - throws IOException { - XmlValidator validator = schema.createValidator(); - assertXmlValidation(validator, source); - } - - public static void assertXmlValidation(XmlValidator validator, Source source) - throws IOException { - SAXParseException[] exceptions = validator.validate(source); - if (exceptions.length != 0) { - for (SAXParseException ex : exceptions) { - log.error(ex.getMessage()); - } - TestCase.fail("Could not validate"); - } - } - - private UnitXmlUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/package.html b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/package.html deleted file mode 100644 index 907430d09..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/package.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -Helpers for unit tests. - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java deleted file mode 100644 index 1862055fa..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/unit/test/tree/UnitTestTreeUtil.java +++ /dev/null @@ -1,148 +0,0 @@ -package org.argeo.slc.unit.test.tree; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertNull; -import static junit.framework.Assert.fail; -import static org.argeo.slc.unit.UnitUtils.assertDateSec; - -import org.argeo.slc.core.structure.SimpleSElement; -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.tree.PartSubList; -import org.argeo.slc.core.test.tree.TreeTestResult; - -/** Utilities for unit tests. */ -public class UnitTestTreeUtil { - private final static Log log = LogFactory.getLog(UnitTestTreeUtil.class); - - public static void assertTreeTestResult(TreeTestResult expected, - TreeTestResult reached) { - assertEquals(expected.getUuid(), reached.getUuid()); - assertDateSec(expected.getCloseDate(), reached.getCloseDate()); - - assertEquals(expected.getResultParts().size(), reached.getResultParts() - .size()); - for (TreeSPath path : expected.getResultParts().keySet()) { - PartSubList lstExpected = expected.getResultParts().get(path); - PartSubList lstReached = expected.getResultParts().get(path); - if (lstReached == null) { - fail("No result for path " + path); - return; - } - assertPartSubList(lstExpected, lstReached); - } - - assertEquals(expected.getElements().size(), reached.getElements() - .size()); - for (TreeSPath path : expected.getElements().keySet()) { - // String nameExpected = expected.getElements().get(path); - // String nameReached = expected.getElements().get(path); - SimpleSElement elemExpected = (SimpleSElement) expected - .getElements().get(path); - SimpleSElement elemReached = (SimpleSElement) expected - .getElements().get(path); - assertNotNull(elemReached); - assertElements(elemExpected, elemReached); - } - - } - - public static void assertElements(SimpleSElement expected, - SimpleSElement reached) { - assertEquals(expected.getLabel(), reached.getLabel()); - assertEquals(expected.getTags().size(), reached.getTags().size()); - for (String tagName : expected.getTags().keySet()) { - String expectedTagValue = expected.getTags().get(tagName); - String reachedTagValue = reached.getTags().get(tagName); - assertNotNull(reachedTagValue); - assertEquals(expectedTagValue, reachedTagValue); - } - } - - public static void assertPartSubList(PartSubList lstExpected, - PartSubList lstReached) { - assertEquals(lstExpected.getParts().size(), lstReached.getParts() - .size()); - for (int i = 0; i < lstExpected.getParts().size(); i++) { - assertPart(lstExpected.getParts().get(i), lstReached.getParts() - .get(i)); - } - } - - /** Asserts one part of a tree test result */ - public static void assertPart(TreeTestResult testResult, String pathStr, - int index, Integer status, String message) { - TreeSPath path = new TreeSPath(pathStr); - PartSubList list = testResult.getResultParts().get(path); - if (list == null) { - fail("No result for path " + path); - return; - } - if (index >= list.getParts().size()) { - fail("Not enough parts."); - } - SimpleResultPart part = (SimpleResultPart) list.getParts().get(index); - assertPart(part, status, message, null, part.getTestRunUuid(), true); - } - - public static void assertPart(TestResultPart expected, - TestResultPart reached) { - String expectedTestRunUuid = null; - if (expected instanceof SimpleResultPart) { - expectedTestRunUuid = ((SimpleResultPart) expected) - .getTestRunUuid(); - } - - assertPart(reached, expected.getStatus(), expected.getMessage(), - expected.getExceptionMessage(), expectedTestRunUuid, false); - } - - /** Assert one part of a tree test result. */ - private static void assertPart(TestResultPart part, Integer status, - String message, String exceptionDescription, - String expectedTestRunUuid, boolean skipExceptionMessage) { - assertEquals(status, part.getStatus()); - - if (log.isTraceEnabled()) { - log.trace("Expected message:" + message); - log.trace("Reached message:" + part.getMessage()); - } - assertEquals(message, part.getMessage()); - if (!skipExceptionMessage) { - if (exceptionDescription == null) { - assertNull(part.getExceptionMessage()); - } else { - if (log.isTraceEnabled()) { - log.trace("Expected exception message:" - + exceptionDescription); - log.trace("Reached exception message:" - + part.getExceptionMessage()); - } - - assertEquals(exceptionDescription, part.getExceptionMessage()); - } - } - - if (expectedTestRunUuid != null) { - SimpleResultPart reachedPart = (SimpleResultPart) part; - assertNotNull(reachedPart.getTestRunUuid()); - assertEquals(expectedTestRunUuid, reachedPart.getTestRunUuid()); - } else { - if (part instanceof SimpleResultPart) { - assertNull(((SimpleResultPart) part).getTestRunUuid()); - } - - } - - } - - /** Makes sure this is a singleton */ - private UnitTestTreeUtil() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java deleted file mode 100644 index cd3add67c..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.argeo.slc.ws.client; - -import java.io.IOException; - -import javax.xml.transform.Source; - -import org.springframework.ws.client.WebServiceClientException; -import org.springframework.ws.client.WebServiceIOException; -import org.springframework.ws.client.support.interceptor.ClientInterceptor; -import org.springframework.ws.context.MessageContext; -import org.springframework.xml.validation.XmlValidator; -import org.xml.sax.SAXParseException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -public class ValidatingClientInterceptor implements ClientInterceptor { - private final static Log log = LogFactory - .getLog(ValidatingClientInterceptor.class); - - private Boolean validateRequest = true; - private Boolean validateResponse = false; - private XmlValidator validator = null; - - public boolean handleFault(MessageContext messageContext) - throws WebServiceClientException { - return true; - } - - public boolean handleRequest(MessageContext messageContext) - throws WebServiceClientException { - if (validateRequest) { - if (messageContext.getRequest() == null) - return true; - - Source source = messageContext.getRequest().getPayloadSource(); - try { - return validate(source); - } catch (IOException e) { - throw new WebServiceIOException("Cannot validate request", e); - } - } else { - return true; - } - } - - public boolean handleResponse(MessageContext messageContext) - throws WebServiceClientException { - if (validateResponse) { - if (messageContext.getResponse() == null) - return true; - - Source source = messageContext.getResponse().getPayloadSource(); - try { - return validate(source); - } catch (IOException e) { - throw new WebServiceIOException("Cannot validate response", e); - } - } else { - return true; - } - } - - protected boolean validate(Source source) throws IOException { - SAXParseException[] exceptions = validator.validate(source); - if (exceptions.length != 0) { - for (SAXParseException ex : exceptions) { - log.error(ex.getMessage()); - } - return false; - } else { - return true; - } - } - - public void setValidateRequest(Boolean validateRequest) { - this.validateRequest = validateRequest; - } - - public void setValidateResponse(Boolean validateResponse) { - this.validateResponse = validateResponse; - } - - public void setValidator(XmlValidator validator) { - this.validator = validator; - } - -} diff --git a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java b/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java deleted file mode 100644 index d37a27efe..000000000 --- a/org.argeo.slc.hibernate/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.argeo.slc.ws.client; - -import java.util.Iterator; - -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; - -import org.springframework.ws.client.core.WebServiceTemplate; -import org.springframework.ws.soap.SoapFaultDetail; -import org.springframework.ws.soap.SoapFaultDetailElement; -import org.springframework.ws.soap.client.SoapFaultClientException; -import org.springframework.xml.transform.StringResult; -import org.w3c.dom.Node; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -public abstract class WebServiceUtils { - private final static Log log = LogFactory.getLog(WebServiceUtils.class); - - public static Object marshalSendAndReceiveSafe(WebServiceTemplate template, - Object req) { - try { - Object resp = marshalSendAndReceive(template, req); - return resp; - } catch (Exception e) { - log.error("Cannot send web servicerequest: "+e.getMessage()); - if(log.isDebugEnabled()){ - log.debug("Webservice exception details: ",e); - } - return null; - } - } - - public static Object marshalSendAndReceive( - WebServiceTemplate template, Object req) { - if (log.isTraceEnabled()) { - try { - StringResult result = new StringResult(); - template.getMarshaller().marshal(req, result); - log.trace("About to send " + result); - } catch (Exception e) { - log.error("Cannot marshall " + req + " for logging", e); - } - } - Object resp = template.marshalSendAndReceive(req); - return resp; - } - - public static void manageSoapException(SoapFaultClientException e) { - log - .error("WS root cause: " - + e.getSoapFault().getFaultStringOrReason()); - StringBuffer stack = new StringBuffer(""); - SoapFaultDetail detail = e.getSoapFault().getFaultDetail(); - if (detail != null) { - Iterator it = (Iterator) detail - .getDetailEntries(); - while (it.hasNext()) { - SoapFaultDetailElement elem = it.next(); - if (elem.getName().getLocalPart().equals("StackElement")) { - Source source = elem.getSource(); - if (source instanceof DOMSource) { - Node node = ((DOMSource) source).getNode(); - stack.append(node.getTextContent()).append('\n'); - } - } - } - - if (stack.length() > 0 && log.isTraceEnabled()) - log.error("WS root cause stack: " + stack); - } - } - - private WebServiceUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/taskdefs.properties b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/taskdefs.properties deleted file mode 100644 index 85e0743c8..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/taskdefs.properties +++ /dev/null @@ -1,5 +0,0 @@ -# Tasks -slc.test=org.argeo.slc.ant.test.SlcTestTask -slc.deploy=org.argeo.slc.ant.deploy.SlcDeployTask -slc.closeResult=org.argeo.slc.ant.test.SlcCloseTestResultTask -slc.report=org.argeo.slc.ant.test.SlcReportTask diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/typedefs.properties b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/typedefs.properties deleted file mode 100644 index 0cb3b2c46..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ant/typedefs.properties +++ /dev/null @@ -1,2 +0,0 @@ -# Types -slc.context=org.argeo.slc.ant.test.ParentContextType diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/mapping.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/mapping.xml deleted file mode 100644 index 92c2c71d0..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/mapping.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - Mapping of generic types - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/msg/mapping.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/msg/mapping.xml deleted file mode 100644 index f695f9573..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/msg/mapping.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - Message objects XML mapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/process/mapping.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/process/mapping.xml deleted file mode 100644 index 1b5b2ec95..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/process/mapping.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - Process objects XML mapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/spring/applicationContext.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/spring/applicationContext.xml deleted file mode 100644 index 068d773fb..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/spring/applicationContext.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - classpath:org/argeo/slc/castor/msg/mapping.xml - - - classpath:org/argeo/slc/castor/process/mapping.xml - - - classpath:org/argeo/slc/castor/structure/mapping.xml - - - classpath:org/argeo/slc/castor/test/mapping.xml - - - - - - - - - - - - - - - diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/structure/mapping.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/structure/mapping.xml deleted file mode 100644 index 3e20025b3..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/structure/mapping.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - Structure related objects XML mapping - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/test/mapping.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/test/mapping.xml deleted file mode 100644 index adfea8a9d..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/castor/test/mapping.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - Test objects XML mapping - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/spring/applicationContext.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/spring/applicationContext.xml deleted file mode 100644 index 3e1cd53eb..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/spring/applicationContext.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt deleted file mode 100644 index 947cef0f9..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - Result - - -

- Result - -

- -

- -

- - - - - - - - - - - - - -
- - - -
-
- - -
-
\ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/index.html b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/index.html deleted file mode 100644 index 32beed3b5..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - -SLC test results - - - - - - <h2>Frame Alert</h2> - <p>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client. - </p> - - - diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/style.css b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/style.css deleted file mode 100644 index 134c6b55d..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/core/test/tree/htmlreport/style.css +++ /dev/null @@ -1,64 +0,0 @@ -body { - font-family: sans-serif; - font-size: 12px; - color: black; - background-color: white; -} - -h1 { - font-family: sans-serif; - font-size: 16px; - font-weight: bold; - color: #000000; - padding: 0px 0px 5px 0px; - margin: 0px; -} - -h2 { - font-family: sans-serif; - font-size: 14px; - font-weight: bold; - color: #000000; - padding: 5px 0px 5px 0px; - margin: 0px; - margin-top: 5px; -} - -table,form { - margin: 0px; -} - -th { - font-size: 12px; - padding: 2px 20px 2px 2px; - vertical-align: top; - text-align: left; -} - -td { - font-size: 12px; - padding: 1px; - vertical-align: top; - text-align: left; -} - -.passed { - color: green; -} - -.failed { - color: red; -} - -a { - text-decoration: none; -} - -a.nav { - color: #0066CC; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/support/deploy/ant/build.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/support/deploy/ant/build.xml deleted file mode 100644 index 693f5ecb9..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/support/deploy/ant/build.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ws/client/spring/applicationContext.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ws/client/spring/applicationContext.xml deleted file mode 100644 index 9bb2ff7f4..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/ws/client/spring/applicationContext.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/slc.xsd b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/slc.xsd deleted file mode 100644 index b457f18f0..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/slc.xsd +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/spring/applicationContext.xml b/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/spring/applicationContext.xml deleted file mode 100644 index 13bd1dd03..000000000 --- a/org.argeo.slc.hibernate/src/main/resources/org/argeo/slc/xml/spring/applicationContext.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ant/SlcAntTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ant/SlcAntTest.java deleted file mode 100644 index c19cdd4a2..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ant/SlcAntTest.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.argeo.slc.ant; - -import java.net.URL; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class SlcAntTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testSimpleRun() { - // AntRegistryUtil.runAll(getClass().getResource( - // "/org/argeo/slc/ant/build.xml"), "test", null); - - URL url = getClass().getResource("/org/argeo/slc/ant/build.xml"); - log.info("Run Ant file from URL: " + url); - AntRunner antRunner = new AntRunner(getContext(), url, "test"); - - antRunner.run(); - } - -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java deleted file mode 100644 index 55fba622f..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.argeo.slc.core.process; - -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; -import java.io.StringWriter; -import java.text.SimpleDateFormat; -import java.util.UUID; - -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.msg.process.SlcExecutionRequest; -import org.argeo.slc.msg.process.SlcExecutionStepsRequest; -import org.argeo.slc.unit.AbstractSpringTestCase; -import org.argeo.slc.unit.UnitXmlUtils; - -import org.springframework.oxm.Marshaller; -import org.springframework.oxm.Unmarshaller; -import org.springframework.xml.transform.StringResult; -import org.springframework.xml.transform.StringSource; -import org.springframework.xml.validation.XmlValidator; -import org.springframework.xml.xsd.XsdSchema; - -public class SlcExecutionCastorTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - private Marshaller marshaller; - private Unmarshaller unmarshaller; - - @Override - public void setUp() { - marshaller = getBean(Marshaller.class); - unmarshaller = getBean(Unmarshaller.class); - } - - public void testMarshalling() throws Exception { - SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution(); - - SlcExecutionRequest msgSave = new SlcExecutionRequest(); - msgSave.setSlcExecution(slcExec); - - String msgSaveXml = marshallAndLog(marshaller, msgSave); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - SlcExecutionStep step0 = new SlcExecutionStep(); - step0.setUuid(UUID.randomUUID().toString()); - step0.setBegin(sdf.parse("2008-04-17 18:21")); - step0.setType("LOG"); - step0.addLog("A log message\nand another line"); - - SlcExecutionStep step1 = new SlcExecutionStep(); - step1.setUuid(UUID.randomUUID().toString()); - step1.setBegin(sdf.parse("2008-04-17 18:25")); - step1.setType("LOG"); - step1.addLog("A nother log message"); - - SlcExecutionStepsRequest msgNotif = new SlcExecutionStepsRequest(); - msgNotif.addStep(step0); - msgNotif.addStep(step1); - msgNotif.setSlcExecutionUuid(slcExec.getUuid()); - - String msgNotifXml = marshallAndLog(marshaller, msgNotif); - - SlcExecutionRequest msgSaveUnm = unmarshall(unmarshaller, msgSaveXml); - assertNotNull(msgSaveUnm); - SlcExecutionTestUtils.assertSlcExecution(slcExec, msgSaveUnm - .getSlcExecution()); - - SlcExecutionStepsRequest msgNotifUnm = unmarshall(unmarshaller, - msgNotifXml); - assertNotNull(msgNotifUnm); - assertEquals(slcExec.getUuid(), msgNotifUnm.getSlcExecutionUuid()); - assertEquals(2, msgNotifUnm.getSteps().size()); - SlcExecutionTestUtils.assertSlcExecutionStep(step0, msgNotifUnm - .getSteps().get(0)); - SlcExecutionTestUtils.assertSlcExecutionStep(step1, msgNotifUnm - .getSteps().get(1)); - - SlcExecution slcExecUnm = msgSaveUnm.getSlcExecution(); - slcExecUnm.getSteps().addAll(msgNotifUnm.getSteps()); - - SlcExecutionRequest msgUpdate = new SlcExecutionRequest(); - msgUpdate.setSlcExecution(slcExecUnm); - String msgUpdateXml = marshallAndLog(marshaller, msgUpdate); - - SlcExecutionRequest msgUpdateUnm = unmarshall(unmarshaller, - msgUpdateXml); - assertNotNull(msgUpdateUnm); - } - - private String marshallAndLog(Marshaller marshaller, Object obj) - throws IOException { - StringResult xml = new StringResult(); - marshaller.marshal(obj, xml); - log.info("Marshalled object: " + xml); - - UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class), - new StringSource(xml.toString())); - - return xml.toString(); - } - - private T unmarshall(Unmarshaller unmarshaller, String xml) - throws IOException { - StringReader reader = new StringReader(xml); - Object obj = unmarshaller.unmarshal(new StreamSource(reader)); - IOUtils.closeQuietly(reader); - return (T) obj; - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionTestUtils.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionTestUtils.java deleted file mode 100644 index c3c880366..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/process/SlcExecutionTestUtils.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.argeo.slc.core.process; - -import java.util.UUID; - -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertNotNull; -import static org.argeo.slc.unit.UnitUtils.assertDateSec; - -public abstract class SlcExecutionTestUtils { - - public static SlcExecution createSimpleSlcExecution() { - SlcExecution slcExec = new SlcExecution(); - slcExec.setUuid(UUID.randomUUID().toString()); - slcExec.setHost("localhost"); - slcExec.setUser("user"); - slcExec.setType("slcAnt"); - slcExec.setStatus("STARTED"); - slcExec.getAttributes().put("ant.file", "/test"); - return slcExec; - } - - public static void assertSlcExecution(SlcExecution expected, - SlcExecution reached) { - assertNotNull(reached); - assertEquals(expected.getHost(), reached.getHost()); - assertEquals(expected.getUser(), reached.getUser()); - assertEquals(expected.getType(), reached.getType()); - assertEquals(expected.getStatus(), reached.getStatus()); - assertEquals(expected.getAttributes().size(), reached.getAttributes() - .size()); - for (String key : expected.getAttributes().keySet()) { - String expectedValue = expected.getAttributes().get(key); - String reachedValue = reached.getAttributes().get(key); - assertNotNull(reachedValue); - assertEquals(expectedValue, reachedValue); - } - } - - public static void assertSlcExecutionStep(SlcExecutionStep expected, - SlcExecutionStep reached) { - assertNotNull(reached); - assertEquals(expected.getUuid(), reached.getUuid()); - assertEquals(expected.getType(), reached.getType()); - assertEquals(expected.logAsString(), reached.logAsString()); - assertDateSec(expected.getBegin(), reached.getBegin()); - } - - private SlcExecutionTestUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java deleted file mode 100644 index fab683111..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.argeo.slc.core.structure.tree; - -import junit.framework.TestCase; - -public class TreeSPathTest extends TestCase { - - public void testNew() { - TreeSPath path = new TreeSPath("/test"); - assertEquals("test", path.getName()); - assertNull(path.getParent()); - - path = new TreeSPath("/root/subdir"); - assertEquals("subdir", path.getName()); - assertEquals(new TreeSPath("/root"), path.getParent()); - } - - public void testEquals() { - TreeSPath path1 = new TreeSPath("/test"); - TreeSPath path2 = new TreeSPath("/test"); - assertEquals(path1, path2); - - path1 = new TreeSPath("/test/subdir/anotherdir"); - path2 = new TreeSPath("/test/subdir/anotherdir"); - assertEquals(path1, path2); - - path1 = new TreeSPath("/test/subdir/anotherd"); - path2 = new TreeSPath("/test/subdir/anotherdir"); - assertNotSame(path1, path2); - - path1 = new TreeSPath("/test/subdir"); - path2 = new TreeSPath("/test/subdir/anotherdir"); - assertNotSame(path1, path2); - - path1 = new TreeSPath("/test/subd/anotherdir"); - path2 = new TreeSPath("/test/subdir/anotherdir"); - assertNotSame(path1, path2); - } - - public void testCheckFormat(){ - try{ - new TreeSPath("hello"); - fail("Bad format should be rejected"); - }catch(Exception e){ - // exception expected - } - - try{ - new TreeSPath("/"); - fail("Bad format should be rejected"); - }catch(Exception e){ - // exception expected - } - - assertEquals(new TreeSPath("/test"), new TreeSPath("/test/")); - assertEquals(new TreeSPath("/test/dir"), new TreeSPath("//test///dir////")); - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/context/ContextTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/context/ContextTest.java deleted file mode 100644 index 6d53ef7e3..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/context/ContextTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.argeo.slc.core.test.context; - -import java.util.List; - -import org.argeo.slc.core.test.SimpleTestResult; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestStatus; -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class ContextTest extends AbstractSpringTestCase { - - public void testComplexContext() { - SimpleTestResult testResult = new SimpleTestResult(); - ContextUtils.compareReachedExpected( - (ContextAware) getBean("context.c1"), testResult, null); - ContextUtils.compareReachedExpected( - (ContextAware) getBean("context.c2"), testResult, null); - ContextUtils.compareReachedExpected( - (ContextAware) getBean("context.c3"), testResult, null); - - List parts = testResult.getParts(); - assertEquals(6, parts.size()); - assertEquals(TestStatus.PASSED, parts.get(0).getStatus()); - assertEquals(TestStatus.PASSED, parts.get(1).getStatus()); - assertEquals(TestStatus.PASSED, parts.get(2).getStatus()); - assertEquals(TestStatus.FAILED, parts.get(3).getStatus()); - assertEquals(TestStatus.PASSED, parts.get(4).getStatus()); - assertEquals(TestStatus.PASSED, parts.get(5).getStatus()); - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java deleted file mode 100644 index b35ea1774..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import org.springframework.oxm.Marshaller; -import org.springframework.oxm.Unmarshaller; -import org.springframework.xml.transform.StringResult; -import org.springframework.xml.transform.StringSource; -import org.springframework.xml.validation.XmlValidator; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest; -import static org.argeo.slc.unit.UnitUtils.assertDateSec; - -import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.SimpleResultPart; -import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.ResultPartRequest; -import org.argeo.slc.unit.AbstractSpringTestCase; -import org.argeo.slc.unit.UnitXmlUtils; -import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; - -public class TreeTestResultCastorTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - private Marshaller marshaller; - private Unmarshaller unmarshaller; - - @Override - public void setUp() { - marshaller = getBean(Marshaller.class); - unmarshaller = getBean(Unmarshaller.class); - } - - public void testMarshUnmarsh() throws Exception { - TreeTestResult ttr = createCompleteTreeTestResult(); - - StringResult xml = marshallAndValidate(ttr); - - TreeTestResult ttrUnm = (TreeTestResult) unmarshaller - .unmarshal(new StringSource(xml.toString())); - - UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm); - } - - public void testCreateTreeTestResultRequest() throws Exception { - CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(); - req.setTreeTestResult(createCompleteTreeTestResult()); - - StringResult xml = marshallAndValidate(req); - - CreateTreeTestResultRequest reqUnm = (CreateTreeTestResultRequest) unmarshaller - .unmarshal(new StringSource(xml.toString())); - - UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm - .getTreeTestResult()); - } - - public void testResultPartRequest() throws Exception { - TreeTestResult ttr = createCompleteTreeTestResult(); - ResultPartRequest req = createSimpleResultPartRequest(ttr); - - StringResult xml = marshallAndValidate(req); - - ResultPartRequest reqUnm = (ResultPartRequest) unmarshaller - .unmarshal(new StringSource(xml.toString())); - - UnitTestTreeUtil - .assertPart(req.getResultPart(), reqUnm.getResultPart()); - } - - public void testCloseTreeTestResultRequest() throws Exception { - TreeTestResult ttr = createCompleteTreeTestResult(); - ttr.close(); - - CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr - .getUuid(), ttr.getCloseDate()); - - StringResult xml = marshallAndValidate(req); - - CloseTreeTestResultRequest reqUnm = (CloseTreeTestResultRequest) unmarshaller - .unmarshal(new StringSource(xml.toString())); - - assertEquals(ttr.getUuid(), reqUnm.getResultUuid()); - assertDateSec(ttr.getCloseDate(), ttr.getCloseDate()); - } - - private StringResult marshallAndValidate(Object obj) throws Exception { - StringResult xml = new StringResult(); - marshaller.marshal(obj, xml); - - log.info("Marshalled ResultPart Request: " + xml); - - UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class), - new StringSource(xml.toString())); - return xml; - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java deleted file mode 100644 index bc7dcbdd2..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultTestUtils.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import java.util.Date; -import java.util.UUID; - -import org.argeo.slc.core.build.Distribution; -import org.argeo.slc.core.deploy.DeployedSystem; -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionStep; -import org.argeo.slc.core.process.SlcExecutionTestUtils; -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.core.test.SimpleResultPart; -import org.argeo.slc.core.test.SimpleTestRun; -import org.argeo.slc.core.test.TestStatus; -import org.argeo.slc.msg.test.tree.ResultPartRequest; - -public abstract class TreeTestResultTestUtils { - - public static TreeTestResult createSimpleTreeTestResult() { - TreeTestResult treeTestResult = new TreeTestResult(); - treeTestResult.setUuid(UUID.randomUUID().toString()); - return treeTestResult; - } - - public static TreeTestResult createCompleteTreeTestResult() { - SlcExecution slcExecution = SlcExecutionTestUtils - .createSimpleSlcExecution(); - SlcExecutionStep step = new SlcExecutionStep("LOG", "JUnit step"); - slcExecution.getSteps().add(step); - - SimpleTestRun testRun = new SimpleTestRun(); - testRun.setUuid(UUID.randomUUID().toString()); - - String pathStr = "/test"; - TreeSPath path = new TreeSPath(pathStr); - - TreeSRegistry registry = new TreeSRegistry(); - SimpleSElement elem = new SimpleSElement("Unit Test"); - elem.getTags().put("myTag", "myTagValue"); - registry.register(path, elem); - - TreeTestResult ttr = createSimpleTreeTestResult(); - ttr.notifyCurrentPath(registry, path); - ttr.notifyTestRun(testRun); - testRun.setTestResult(ttr); - testRun.setDeployedSystem(new DeployedSystem() { - private String uuid = UUID.randomUUID().toString(); - - public String getDeployedSystemId() { - return uuid; - } - - public Distribution getDistribution() { - return null; - } - }); - testRun.notifySlcExecution(slcExecution); - - ttr.addResultPart(createSimpleResultPartPassed()); - ttr.addResultPart(createSimpleResultPartFailed()); - ttr.addResultPart(createSimpleResultPartError()); - return ttr; - } - - public static SimpleResultPart createSimpleResultPartPassed() { - SimpleResultPart partPassed = new SimpleResultPart(); - String msgPassed = "message\nnew line"; - partPassed.setStatus(TestStatus.PASSED); - partPassed.setMessage(msgPassed); - return partPassed; - } - - public static SimpleResultPart createSimpleResultPartFailed() { - SimpleResultPart partFailed = new SimpleResultPart(); - String msgFailed = "too bad"; - partFailed.setStatus(TestStatus.FAILED); - partFailed.setMessage(msgFailed); - return partFailed; - } - - public static SimpleResultPart createSimpleResultPartError() { - SimpleResultPart partFailed = new SimpleResultPart(); - String msgFailed = "crashed\nanother line"; - partFailed.setStatus(TestStatus.ERROR); - partFailed.setMessage(msgFailed); - partFailed.setException(new Exception("Test Exception")); - return partFailed; - } - - public static ResultPartRequest createSimpleResultPartRequest(TreeTestResult ttr) { - TreeSPath path = ttr.getCurrentPath(); - PartSubList lst = ttr.getResultParts().get(path); - SimpleResultPart part = (SimpleResultPart) lst.getParts().get(2); - - ResultPartRequest req = new ResultPartRequest(ttr, path, part); - req.setPath(ttr.getCurrentPath()); - - return req; - } - - private TreeTestResultTestUtils() { - - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/diff/LineTokenizerTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/diff/LineTokenizerTest.java deleted file mode 100644 index 58ed61a92..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/diff/LineTokenizerTest.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.argeo.slc.diff; - -import java.util.List; - -import junit.framework.TestCase; - -public class LineTokenizerTest extends TestCase { - public void testSimple() throws Exception { - testAndAssert("a,b,c", new String[] { "a", "b", "c" }); - testAndAssert("hello,bonjour,hallo,priviet", new String[] { "hello", - "bonjour", "hallo", "priviet" }); - } - - public void testTricky() throws Exception { - testAndAssert("alone", new String[] { "alone" }); - testAndAssert("", new String[] { "" }); - - testAndAssert(",hello,bonjour,hallo,priviet", new String[] { "", - "hello", "bonjour", "hallo", "priviet" }); - testAndAssert("hello,bonjour,,hallo,priviet", new String[] { "hello", - "bonjour", "", "hallo", "priviet" }); - testAndAssert("hello,bonjour,hallo,priviet,", new String[] { "hello", - "bonjour", "hallo", "priviet", "" }); - testAndAssert(",hello,,bonjour,hallo,,,,priviet,", new String[] { "", - "hello", "", "bonjour", "hallo", "", "", "", "priviet", "" }); - - testAndAssert(",,,", new String[] { "", "", "", "" }); - } - - public void testComplex() throws Exception { - testAndAssert("a#b#c", '#', "", new String[] { "a", "b", "c" }); - testAndAssert("hello!bonjour!hallo!priviet", '!', "", new String[] { - "hello", "bonjour", "hallo", "priviet" }); - - testAndAssert("hello,,bonjour,,hallo,priviet", ',', "", - new String[] { "hello", "", "bonjour", "", - "hallo", "priviet" }); - } - - private void testAndAssert(String str, String[] expected) { - testAndAssert(str, ',', "", expected); - } - - private void testAndAssert(String str, Character sep, String noValueStr, - String[] expected) { - List res = LineTokenizer.tokenize(str, sep, noValueStr); - assertEquals("Size", expected.length, res.size()); - for (int i = 0; i < res.size(); i++) { - String token = res.get(i); - assertEquals("Value@" + i, expected[i], token); - } - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java index f821dbd9b..0de56e62c 100644 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java @@ -4,9 +4,9 @@ import java.util.List; import org.argeo.slc.core.process.SlcExecution; import org.argeo.slc.core.process.SlcExecutionStep; -import org.argeo.slc.core.process.SlcExecutionTestUtils; import org.argeo.slc.dao.process.SlcExecutionDao; import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.process.SlcExecutionTestUtils; public class SlcExecutionHibernateTest extends AbstractSpringTestCase { diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/CastorTestResultDaoHibernateTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/CastorTestResultDaoHibernateTest.java index 4b5d6bd1f..c57fcb52c 100644 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/CastorTestResultDaoHibernateTest.java +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/CastorTestResultDaoHibernateTest.java @@ -1,16 +1,15 @@ package org.argeo.slc.hibernate.test.tree; -import org.springframework.oxm.Marshaller; -import org.springframework.oxm.Unmarshaller; -import org.springframework.xml.transform.StringResult; -import org.springframework.xml.transform.StringSource; - import org.argeo.slc.core.structure.tree.TreeSPath; import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.core.test.tree.TreeTestResultTestUtils; import org.argeo.slc.dao.test.tree.TreeTestResultDao; import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils; import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; +import org.springframework.oxm.Marshaller; +import org.springframework.oxm.Unmarshaller; +import org.springframework.xml.transform.StringResult; +import org.springframework.xml.transform.StringSource; public class CastorTestResultDaoHibernateTest extends AbstractSpringTestCase { diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java index 786ff527b..344adbdb0 100644 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernateTest.java @@ -2,10 +2,10 @@ package org.argeo.slc.hibernate.test.tree; import org.argeo.slc.core.test.tree.TreeTestResult; import org.argeo.slc.core.test.tree.TreeTestResultCollection; -import org.argeo.slc.core.test.tree.TreeTestResultTestUtils; import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao; import org.argeo.slc.dao.test.tree.TreeTestResultDao; import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils; import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; public class TreeTestResultCollectionDaoHibernateTest extends diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java index c1808da13..6737cb6c5 100644 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java @@ -1,19 +1,14 @@ package org.argeo.slc.hibernate.test.tree; -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleTreeTestResult; - -import java.util.Date; - 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.core.test.SimpleResultPart; import org.argeo.slc.core.test.TestStatus; import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.core.test.tree.TreeTestResultTestUtils; import org.argeo.slc.dao.test.tree.TreeTestResultDao; import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.test.tree.TreeTestResultTestUtils; import org.argeo.slc.unit.test.tree.UnitTestTreeUtil; public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { @@ -27,7 +22,8 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { public void testCreate() { - TreeTestResult ttr = createCompleteTreeTestResult(); + TreeTestResult ttr = TreeTestResultTestUtils + .createCompleteTreeTestResult(); testResultDao.create(ttr); TreeTestResult ttrPersisted = (TreeTestResult) testResultDao @@ -37,7 +33,8 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { } public void testUpdate() { - TreeTestResult ttr = createCompleteTreeTestResult(); + TreeTestResult ttr = TreeTestResultTestUtils + .createCompleteTreeTestResult(); testResultDao.create(ttr); TreeTestResult ttrUpdated = (TreeTestResult) testResultDao @@ -77,37 +74,43 @@ public class TreeTestResultDaoHibernateTest extends AbstractSpringTestCase { UnitTestTreeUtil.assertTreeTestResult(ttrRetrieved, ttrUpdated); } - public void testMultipleUpdateScenario() throws Exception{ + public void testMultipleUpdateScenario() throws Exception { TreeSRegistry registry = new TreeSRegistry(); TreeSPath path = new TreeSPath("/root/test"); SimpleSElement elem = new SimpleSElement("Unit Test"); elem.getTags().put("myTag", "myTagValue"); registry.register(path, elem); - - TreeTestResult ttr = createSimpleTreeTestResult(); + + TreeTestResult ttr = TreeTestResultTestUtils + .createSimpleTreeTestResult(); ttr.notifyCurrentPath(registry, path); - ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"First test")); - + ttr + .addResultPart(new SimpleResultPart(TestStatus.PASSED, + "First test")); + testResultDao.create(ttr); - + path = new TreeSPath("/root/test2/subtest"); elem = new SimpleSElement("Sub Test"); elem.getTags().put("myTag", "myTagValue"); registry.register(path, elem); - + ttr.notifyCurrentPath(registry, path); - ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Second test")); - + ttr + .addResultPart(new SimpleResultPart(TestStatus.PASSED, + "Second test")); + testResultDao.update(ttr); - + ttr.notifyCurrentPath(registry, path); - ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED,"Third test with same path")); - + ttr.addResultPart(new SimpleResultPart(TestStatus.PASSED, + "Third test with same path")); + testResultDao.update(ttr); - + ttr.close(); - + testResultDao.close(ttr.getUuid(), ttr.getCloseDate()); } diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/DbModel.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/DbModel.java new file mode 100644 index 000000000..03146f042 --- /dev/null +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/DbModel.java @@ -0,0 +1,47 @@ +package org.argeo.slc.hibernate.unit; + +import java.sql.Connection; +import java.util.List; +import java.util.Properties; + +import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.Environment; +import org.hibernate.tool.hbm2ddl.SchemaExport; + +/** + * Creates a relational data model from Hibernate mapping files. The benefit of + * this class is to be able to use Hibernate to have test data which are + * independent from the type of database used. + */ +public class DbModel { + private String dialect; + private List mappings; + + /** Sets the Hibernate dialect to use. */ + public void setDialect(String dialect) { + this.dialect = dialect; + } + + /** Sets the list of mappings to consider. */ + public void setMappings(List mappings) { + this.mappings = mappings; + } + + /** + * Creates an Hibernate schema export tool, in order to create the + * underlying datamodel. + */ + public SchemaExport createSchemaExport(Connection connection) { + Configuration configuration = new Configuration(); + Properties properties = new Properties(); + properties.setProperty(Environment.DIALECT, dialect); + properties.setProperty(Environment.HBM2DDL_AUTO, "create"); + configuration.setProperties(properties); + + for (String mapping : mappings) { + configuration.addResource(mapping.trim()); + } + + return new SchemaExport(configuration, connection); + } +} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/IndependentDbTestCase.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/IndependentDbTestCase.java new file mode 100644 index 000000000..7fbfd866b --- /dev/null +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/unit/IndependentDbTestCase.java @@ -0,0 +1,167 @@ +package org.argeo.slc.hibernate.unit; + +import java.io.InputStream; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import org.apache.commons.io.IOUtils; +import org.argeo.slc.core.SlcException; +import org.argeo.slc.unit.AbstractSpringTestCase; +import org.dbunit.DataSourceDatabaseTester; +import org.dbunit.DatabaseUnitException; +import org.dbunit.IDatabaseTester; +import org.dbunit.database.IDatabaseConnection; +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.ReplacementDataSet; +import org.dbunit.dataset.xml.FlatXmlDataSet; +import org.dbunit.operation.DatabaseOperation; +import org.hibernate.tool.hbm2ddl.SchemaExport; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +/** + * Helper to make db vendor independent tests using DbUnit data sets. Based on + * {@link DbModel}. + */ +public abstract class IndependentDbTestCase extends AbstractSpringTestCase { + private IDatabaseTester databaseTester; + + /** Creates the DDL of the data model and loads the data. */ + @Override + protected void setUp() throws Exception { + super.setUp(); + + databaseTester = new DataSourceDatabaseTester(getDataSource()); + databaseTester.setSetUpOperation(new DatabaseOperation() { + + @Override + public void execute(IDatabaseConnection connection, IDataSet dataSet) + throws DatabaseUnitException, SQLException { + DbModel dbModel = getDbModel(); + SchemaExport schemaExport = dbModel + .createSchemaExport(connection.getConnection()); + schemaExport.create(true, true); + + DatabaseOperation.INSERT.execute(connection, dataSet); + } + + }); + databaseTester.setDataSet(createDataSet()); + databaseTester.onSetup(); + } + + @Override + protected void tearDown() throws Exception { + if (databaseTester != null) { + databaseTester.onTearDown(); + } + super.tearDown(); + } + + /** + * The data source to use. The default implementation returns a bean named + * {@link #getDataSourceBeanName} + */ + protected DataSource getDataSource() { + return (DataSource) getContext().getBean(getDataSourceBeanName()); + } + + /** + * The name of the data source bean to use. The default implementation + * returns dataSource. + */ + protected String getDataSourceBeanName() { + return "slcDefault.dataSource.inMemoryTestHSQL"; + } + + /** + * Creates the data set to use. The default implementation creates a + * FlatXmlDataSet load from the resource defined in + * {@link #getDataSetResource()} + */ + protected IDataSet createDataSet() { + InputStream in = null; + try { + in = getDataSetResource().getInputStream(); + String[] replaceStrings = getReplacementStrings(); + IDataSet dataSet; + if (replaceStrings.length == 0) { + dataSet = new FlatXmlDataSet(in); + } else { + dataSet = new ReplacementDataSet(new FlatXmlDataSet(in)); + for (String str : replaceStrings) { + replace((ReplacementDataSet) dataSet, str); + } + } + return dataSet; + } catch (Exception e) { + throw new SlcException("Cannot create data set", e); + } finally { + IOUtils.closeQuietly(in); + } + } + + /** + * To be overridden. Return an empty array by default. + * + * @return the array of strings to replace in the dataset + */ + protected String[] getReplacementStrings() { + return new String[0]; + } + + /** + * Set the object replacing the given string. To be overridden. Does nothing + * by default. + */ + protected void replace(ReplacementDataSet dataSet, String str) + throws Exception { + + } + + /** + * Replace the given string by the content of the resource with the same + * name in the same package, as a byte array. + */ + protected void replaceByRessource(ReplacementDataSet dataSet, String str) + throws Exception { + Resource zipResource = new ClassPathResource(inPackage(str)); + + dataSet.addReplacementObject(str, IOUtils.toByteArray(zipResource + .getInputStream())); + } + + /** + * The resource of the data set to load. The default implementation loads a + * ClassPathResource located at + * {@link #getDataSetResourceLocation()}. + */ + protected Resource getDataSetResource() { + return new ClassPathResource(getDataSetResourceLocation()); + } + + /** + * The location of the data set to load. The default implementation loads + * dataSet.xml found in the same package as the test. + */ + protected String getDataSetResourceLocation() { + return inPackage("dataSet.xml"); + } + + /** + * The DB model to us to create the DDL of the testes database. The default + * implementation loads a bean named after {@link #getDbModelBeanName()}. + */ + protected DbModel getDbModel() { + return (DbModel) getContext().getBean(getDbModelBeanName()); + } + + /** + * The name of the bean to load. The default implementation returns + * dbModel. + */ + protected String getDbModelBeanName() { + return "dbModel"; + } +} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java deleted file mode 100644 index 7b3d662f7..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.argeo.slc.ws; - -import java.net.URL; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.ant.AntRunner; -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class SlcAntWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testSimpleRun() { - // AntRegistryUtil.runAll(getClass().getResource( - // "/org/argeo/slc/ant/build.xml"), "test", null); - - URL url = getClass().getResource("/org/argeo/slc/ant/build.xml"); - log.info("Run Ant file from URL: " + url); - AntRunner antRunner = new AntRunner(getContext(), url, "test"); - - antRunner.run(); - } - -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java deleted file mode 100644 index 2aa29e2ab..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.argeo.slc.ws; - -import org.springframework.ws.client.core.WebServiceTemplate; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.core.process.SlcExecutionTestUtils; -import org.argeo.slc.msg.process.SlcExecutionRequest; -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testSendSlcExecutionrequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution(); - - SlcExecutionRequest req = new SlcExecutionRequest(); - req.setSlcExecution(slcExec); - - log.info("Send SlcExecutionRequest for SlcExecution " - + slcExec.getUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } -} diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java deleted file mode 100644 index 6e6ffa176..000000000 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.argeo.slc.ws; - -import org.springframework.ws.client.core.WebServiceTemplate; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest; - -import org.argeo.slc.core.test.tree.TreeTestResult; -import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest; -import org.argeo.slc.msg.test.tree.ResultPartRequest; -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testCreateTreeTestResultRequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( - createCompleteTreeTestResult()); - req.getTreeTestResult().close();// in order to avoid unclosed in test db - - log.info("Send CreateTreeTestResultRequest for result " - + req.getTreeTestResult().getUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } - - public void testResultPartRequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - TreeTestResult ttr = createCompleteTreeTestResult(); - ttr.close();// in order to avoid unclosed in test db - CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest( - ttr); - log.info("Send CreateTreeTestResultRequest for result " - + reqCreate.getTreeTestResult().getUuid()); - template.marshalSendAndReceive(reqCreate); - - ResultPartRequest req = createSimpleResultPartRequest(ttr); - - log.info("Send ResultPartRequest for result " + req.getResultUuid()); - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } - - public void testCloseTreeTestResultRequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - - TreeTestResult ttr = createCompleteTreeTestResult(); - CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest( - ttr); - log.info("Send CreateTreeTestResultRequest for result " - + reqCreate.getTreeTestResult().getUuid()); - template.marshalSendAndReceive(reqCreate); - - ttr.close(); - CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr - .getUuid(), ttr.getCloseDate()); - - log.info("Send CloseTreeTestResultRequest for result " - + req.getResultUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } -} diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/applicationContext.xml deleted file mode 100644 index 6ff9b8522..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/applicationContext.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/build.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/build.xml deleted file mode 100644 index f2ea5c52c..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/build.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/nonDepContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/nonDepContext.xml deleted file mode 100644 index 56da88a8b..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ant/nonDepContext.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - toto - - - toto - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/castor/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/castor/applicationContext.xml deleted file mode 100644 index 7a89af927..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/castor/applicationContext.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/process/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/process/applicationContext.xml deleted file mode 100644 index 899daf548..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/process/applicationContext.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/context/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/context/applicationContext.xml deleted file mode 100644 index e45899c11..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/context/applicationContext.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml deleted file mode 100644 index 9601c3301..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/applicationContext.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/applicationContext.xml deleted file mode 100644 index a94d128b3..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/applicationContext.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/execution.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/execution.xml deleted file mode 100644 index bdb071b0c..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/execution.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/result.xml b/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/result.xml deleted file mode 100644 index ce5442d5e..000000000 --- a/org.argeo.slc.hibernate/src/test/resources/org/argeo/slc/ws/result.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file