From 9db6be2103ce521f8fd6d715c0f97b273a878928 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 30 Jun 2009 15:16:43 +0000 Subject: [PATCH] Clean up execution runtime git-svn-id: https://svn.argeo.org/slc/trunk@2634 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../AbstractSpringExecutionModule.java | 17 ------- .../core/execution/DefaultExecutionSpec.java | 10 ----- .../ExecutionParameterPostProcessor.java | 3 +- .../slc/core/execution/ExecutionScope.java | 2 +- .../execution/InstantiationPostProcessor.java | 42 ----------------- .../slc/core/execution/RefSpecAttribute.java | 6 +-- .../SimpleSpringExecutionModule.java | 24 ---------- .../{ => doc}/ConsoleContextDescriber.java | 7 +-- .../execution/{ => doc}/ContextDescriber.java | 2 +- .../slc/core/execution/tasks/SlcManager.java | 16 ++++--- .../org/argeo/slc/core/execution/runtime.xml | 11 ++--- .../AbstractExecutionFlowTestCase.java | 45 ++++++++++--------- .../AbstractInternalSpringTestCase.java} | 11 +---- .../slc/core/test/context/ContextTest.java | 3 +- .../org/argeo/slc/core/execution/imports.xml | 6 ++- 15 files changed, 52 insertions(+), 153 deletions(-) delete mode 100644 runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/InstantiationPostProcessor.java delete mode 100644 runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/SimpleSpringExecutionModule.java rename runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/{ => doc}/ConsoleContextDescriber.java (84%) rename runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/{ => doc}/ContextDescriber.java (87%) rename runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/{unit/internal/AbstractSpringTestCase.java => core/test/context/AbstractInternalSpringTestCase.java} (87%) diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractSpringExecutionModule.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractSpringExecutionModule.java index bca30d0ed..366b8d489 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractSpringExecutionModule.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractSpringExecutionModule.java @@ -1,23 +1,6 @@ package org.argeo.slc.core.execution; -import java.util.Map; -import java.util.TreeMap; - -import org.argeo.slc.SlcException; -import org.argeo.slc.execution.ExecutionContext; -import org.argeo.slc.execution.ExecutionFlow; -import org.argeo.slc.execution.ExecutionFlowDescriptor; -import org.argeo.slc.execution.ExecutionFlowDescriptorConverter; import org.argeo.slc.execution.ExecutionModule; -import org.argeo.slc.execution.ExecutionModuleDescriptor; -import org.argeo.slc.execution.ExecutionSpec; -import org.argeo.slc.execution.ExecutionSpecAttribute; -import org.springframework.aop.scope.ScopedObject; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.generic.GenericBeanFactoryAccessor; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.util.Assert; @Deprecated public abstract class AbstractSpringExecutionModule implements ExecutionModule diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/DefaultExecutionSpec.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/DefaultExecutionSpec.java index 203a12430..bd4273958 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/DefaultExecutionSpec.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/DefaultExecutionSpec.java @@ -2,23 +2,13 @@ package org.argeo.slc.core.execution; import java.util.HashMap; import java.util.Map; -import java.util.Stack; import java.util.UUID; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.SlcException; -import org.argeo.slc.execution.ExecutionFlow; import org.argeo.slc.execution.ExecutionSpec; import org.argeo.slc.execution.ExecutionSpecAttribute; import org.springframework.beans.factory.BeanNameAware; public class DefaultExecutionSpec implements ExecutionSpec, BeanNameAware { - private final static Log log = LogFactory - .getLog(DefaultExecutionSpec.class); - -// private final static ThreadLocal > flowStack = new ThreadLocal >(); - private Map attributes = new HashMap(); private String name = getClass().getName() + "#" + UUID.randomUUID(); diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionParameterPostProcessor.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionParameterPostProcessor.java index 5b28534ba..e56bfd388 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionParameterPostProcessor.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionParameterPostProcessor.java @@ -86,7 +86,6 @@ public class ExecutionParameterPostProcessor extends placeholder).toString(); else {// execution - log.debug("Bean class: " + bean.getClass()); // next call fail if no execution context available Object obj = executionContext.getVariable(placeholder); if (obj != null) { @@ -159,7 +158,7 @@ public class ExecutionParameterPostProcessor extends } return entriesModified ? newContent : value; } else { - //log.debug(beanName + ": " + value.getClass() + " : " + value); + // log.debug(beanName + ": " + value.getClass() + " : " + value); return value; } diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionScope.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionScope.java index 2cbd70897..cb19a99f7 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionScope.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionScope.java @@ -86,7 +86,7 @@ public class ExecutionScope implements Scope { obj = newObj; threadLocal.set(obj); threadLocalBeanName.set(name); - if (log.isDebugEnabled()) { + if (log.isTraceEnabled()) { log.debug(obj.getClass() + " instantiated. (beanName=" + name + ")"); } diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/InstantiationPostProcessor.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/InstantiationPostProcessor.java deleted file mode 100644 index f9c5836c9..000000000 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/InstantiationPostProcessor.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.argeo.slc.core.execution; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.execution.ExecutionFlow; -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter; - -public class InstantiationPostProcessor extends - InstantiationAwareBeanPostProcessorAdapter { - private final static Log log = LogFactory - .getLog(InstantiationPostProcessor.class); - - private InstantiationManager instantiationManager; - - public InstantiationManager getInstantiationManager() { - return instantiationManager; - } - - public void setInstantiationManager(InstantiationManager instantiationManager) { - this.instantiationManager = instantiationManager; - } - - @Override - public boolean postProcessAfterInstantiation(Object bean, String beanName) - throws BeansException { - if (bean instanceof ExecutionFlow) - instantiationManager - .flowInitializationStarted((ExecutionFlow) bean, beanName); - return true; - } - - @Override - public Object postProcessAfterInitialization(Object bean, String beanName) - throws BeansException { - if (bean instanceof ExecutionFlow) - instantiationManager - .flowInitializationFinished((ExecutionFlow) bean, beanName); - return bean; - } - -} diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/RefSpecAttribute.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/RefSpecAttribute.java index 61ac0871c..7cc59f1b9 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/RefSpecAttribute.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/RefSpecAttribute.java @@ -1,7 +1,7 @@ package org.argeo.slc.core.execution; public class RefSpecAttribute extends AbstractSpecAttribute { - private Class targetClass; + private Class targetClass; /** Read only. */ private String targetClassName; private Object value = null; @@ -14,11 +14,11 @@ public class RefSpecAttribute extends AbstractSpecAttribute { this.value = value; } - public Class getTargetClass() { + public Class getTargetClass() { return targetClass; } - public void setTargetClass(Class targetClass) { + public void setTargetClass(Class targetClass) { this.targetClass = targetClass; this.targetClassName = targetClass.getName(); } diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/SimpleSpringExecutionModule.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/SimpleSpringExecutionModule.java deleted file mode 100644 index 134c225ec..000000000 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/SimpleSpringExecutionModule.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.argeo.slc.core.execution; - -public class SimpleSpringExecutionModule extends AbstractSpringExecutionModule { - - private String name; - private String version; - - public void setName(String name) { - this.name = name; - } - - public void setVersion(String version) { - this.version = version; - } - - public String getName() { - return name; - } - - public String getVersion() { - return version; - } - -} diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ConsoleContextDescriber.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ConsoleContextDescriber.java similarity index 84% rename from runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ConsoleContextDescriber.java rename to runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ConsoleContextDescriber.java index 4ebbe4262..1e8f8f9a2 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ConsoleContextDescriber.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ConsoleContextDescriber.java @@ -1,16 +1,11 @@ -package org.argeo.slc.core.execution; +package org.argeo.slc.core.execution.doc; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.springframework.beans.MutablePropertyValues; import org.springframework.beans.PropertyValue; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionRegistry; public class ConsoleContextDescriber implements ContextDescriber { - private final static Log log = LogFactory - .getLog(ConsoleContextDescriber.class); - public void describeContext(BeanDefinitionRegistry registry) { String[] beanNames = registry.getBeanDefinitionNames(); for (String beanName : beanNames) { diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ContextDescriber.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ContextDescriber.java similarity index 87% rename from runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ContextDescriber.java rename to runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ContextDescriber.java index ce6f340cd..7dd9afea7 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ContextDescriber.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/doc/ContextDescriber.java @@ -1,4 +1,4 @@ -package org.argeo.slc.core.execution; +package org.argeo.slc.core.execution.doc; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionRegistry; diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/SlcManager.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/SlcManager.java index 58397d3ca..0b0e8c6aa 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/SlcManager.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/SlcManager.java @@ -11,11 +11,13 @@ import org.argeo.slc.process.SlcExecutionRelated; import org.argeo.slc.process.SlcExecutionStep; import org.argeo.slc.structure.StructureRegistry; +/** Use {@link MethodCall} instead. */ +@Deprecated public class SlcManager implements Runnable, SlcExecutionRelated { private String uuid; private String slcExecutionUuid; private String slcExecutionStepUuid; - + private String action; private DeployedSystemManager manager; @@ -23,17 +25,19 @@ public class SlcManager implements Runnable, SlcExecutionRelated { uuid = UUID.randomUUID().toString(); executeActions(StructureRegistry.ALL); } - + protected void executeActions(String mode) { try { - Method method = manager.getClass().getMethod(action, null); - method.invoke(manager, null); + Class[] argClasses = null; + Method method = manager.getClass().getMethod(action, argClasses); + Object[] argObjects = null; + method.invoke(manager, argObjects); } catch (Exception e) { throw new SlcException("Cannot execute action " + action + " for manager " + manager, e); } } - + public void setAction(String action) { this.action = action; } @@ -65,7 +69,7 @@ public class SlcManager implements Runnable, SlcExecutionRelated { public void setSlcExecutionStepUuid(String slcExecutionStepUuid) { this.slcExecutionStepUuid = slcExecutionStepUuid; } - + public void notifySlcExecution(SlcExecution slcExecution) { if (slcExecution != null) { slcExecutionUuid = slcExecution.getUuid(); diff --git a/runtime/org.argeo.slc.core/src/main/resources/org/argeo/slc/core/execution/runtime.xml b/runtime/org.argeo.slc.core/src/main/resources/org/argeo/slc/core/execution/runtime.xml index 8ed4e4c7b..dba01b962 100644 --- a/runtime/org.argeo.slc.core/src/main/resources/org/argeo/slc/core/execution/runtime.xml +++ b/runtime/org.argeo.slc.core/src/main/resources/org/argeo/slc/core/execution/runtime.xml @@ -4,22 +4,20 @@ xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd - http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> - + Minimal configuration - + - + - @@ -28,9 +26,6 @@ - - diff --git a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/execution/AbstractExecutionFlowTestCase.java b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/execution/AbstractExecutionFlowTestCase.java index a54107126..df01bc899 100644 --- a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/execution/AbstractExecutionFlowTestCase.java +++ b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/execution/AbstractExecutionFlowTestCase.java @@ -12,41 +12,46 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public abstract class AbstractExecutionFlowTestCase extends TestCase { - + protected final Log log = LogFactory.getLog(getClass()); - + protected void logException(Throwable ex) { log.info("Got Exception of class " + ex.getClass().toString() + " with message '" + ex.getMessage() + "'."); } - + protected void validateTestResult(SimpleTestResult testResult) { validateTestResult(testResult, TestStatus.PASSED); } - - protected void validateTestResult(SimpleTestResult testResult, int expectedStatus) { - for(TestResultPart part : testResult.getParts()) { - if(part.getStatus() != expectedStatus) { + + protected void validateTestResult(SimpleTestResult testResult, + int expectedStatus) { + for (TestResultPart part : testResult.getParts()) { + if (part.getStatus() != expectedStatus) { fail("Error found in TestResult: " + part.getMessage()); } - } - } - - protected ConfigurableApplicationContext createApplicationContext(String applicationContextSuffix) { - ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext(inPackage(applicationContextSuffix)); - applicationContext.start(); + } + } + + protected ConfigurableApplicationContext createApplicationContext( + String applicationContextSuffix) { + ConfigurableApplicationContext applicationContext = new ClassPathXmlApplicationContext( + inPackage(applicationContextSuffix)); + // applicationContext.start(); return applicationContext; } - - protected void configureAndExecuteSlcFlow(String applicationContextSuffix, String beanName) { + + protected void configureAndExecuteSlcFlow(String applicationContextSuffix, + String beanName) { ConfigurableApplicationContext applicationContext = createApplicationContext(applicationContextSuffix); - ExecutionFlow executionFlow = (ExecutionFlow) applicationContext.getBean(beanName); - executionFlow.run(); + ExecutionFlow executionFlow = (ExecutionFlow) applicationContext + .getBean(beanName); + executionFlow.run(); applicationContext.close(); - } - + } + protected String inPackage(String suffix) { String prefix = getClass().getPackage().getName().replace('.', '/'); return prefix + '/' + suffix; - } + } } diff --git a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/unit/internal/AbstractSpringTestCase.java b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/AbstractInternalSpringTestCase.java similarity index 87% rename from runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/unit/internal/AbstractSpringTestCase.java rename to runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/AbstractInternalSpringTestCase.java index 2857d9100..cded892ef 100644 --- a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/unit/internal/AbstractSpringTestCase.java +++ b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/AbstractInternalSpringTestCase.java @@ -1,4 +1,4 @@ -package org.argeo.slc.unit.internal; +package org.argeo.slc.core.test.context; import java.util.Map; @@ -13,7 +13,7 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** Helper for tests using a Spring application co,text. */ -public abstract class AbstractSpringTestCase extends TestCase { +abstract class AbstractInternalSpringTestCase extends TestCase { protected final Log log = LogFactory.getLog(getClass()); private ConfigurableApplicationContext context; @@ -26,17 +26,10 @@ public abstract class AbstractSpringTestCase extends TestCase { if (context == null) { context = new ClassPathXmlApplicationContext( getApplicationContextLocation()); - if (getIsStartContext()) - context.start(); } return context; } - /** Whether the context should be started after being created. */ - protected Boolean getIsStartContext() { - return false; - } - /** Returns a bean from the underlying context */ @SuppressWarnings(value = { "unchecked" }) protected T getBean(String beanId) { diff --git a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/ContextTest.java b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/ContextTest.java index 70b43133a..710e6bc55 100644 --- a/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/ContextTest.java +++ b/runtime/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/context/ContextTest.java @@ -6,9 +6,8 @@ import org.argeo.slc.core.test.SimpleTestResult; import org.argeo.slc.test.TestResultPart; import org.argeo.slc.test.TestStatus; import org.argeo.slc.test.context.ContextAware; -import org.argeo.slc.unit.internal.AbstractSpringTestCase; -public class ContextTest extends AbstractSpringTestCase { +public class ContextTest extends AbstractInternalSpringTestCase { public void testComplexContext() { SimpleTestResult testResult = new SimpleTestResult(); diff --git a/runtime/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/execution/imports.xml b/runtime/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/execution/imports.xml index 6bff52fb1..5e6f2aa8c 100644 --- a/runtime/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/execution/imports.xml +++ b/runtime/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/execution/imports.xml @@ -1,8 +1,10 @@ + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> -- 2.39.2