]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.spring/src/org/argeo/slc/core/execution/AbstractExecutionFlowGenerator.java
Clarify SLC project structure.
[gpl/argeo-slc.git] / org.argeo.slc.spring / src / org / argeo / slc / core / execution / AbstractExecutionFlowGenerator.java
diff --git a/org.argeo.slc.spring/src/org/argeo/slc/core/execution/AbstractExecutionFlowGenerator.java b/org.argeo.slc.spring/src/org/argeo/slc/core/execution/AbstractExecutionFlowGenerator.java
deleted file mode 100644 (file)
index 1986115..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.argeo.slc.core.execution;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.GenericBeanDefinition;
-import org.springframework.core.Ordered;
-import org.springframework.core.PriorityOrdered;
-
-public abstract class AbstractExecutionFlowGenerator implements
-               BeanFactoryPostProcessor, PriorityOrdered {
-       private final Log log = LogFactory.getLog(getClass());
-
-       protected abstract Map<String, BeanDefinition> createExecutionFlowDefinitions(
-                       ConfigurableListableBeanFactory beanFactory);
-
-       public void postProcessBeanFactory(
-                       ConfigurableListableBeanFactory beanFactory) throws BeansException {
-               if (!(beanFactory instanceof BeanDefinitionRegistry)) {
-                       throw new SlcException("Can only work on "
-                                       + BeanDefinitionRegistry.class);
-               }
-
-               Map<String, BeanDefinition> definitions = createExecutionFlowDefinitions(beanFactory);
-
-               for (String beanName : definitions.keySet()) {
-                       if (log.isTraceEnabled())
-                               log.debug("Registering execution flow " + beanName);
-                       ((BeanDefinitionRegistry) beanFactory).registerBeanDefinition(
-                                       beanName, definitions.get(beanName));
-               }
-       }
-
-       protected GenericBeanDefinition createDefaultFlowDefinition(
-                       List<Runnable> executables) {
-               GenericBeanDefinition bd = new GenericBeanDefinition();
-               bd.setBeanClass(DefaultExecutionFlow.class);
-
-               MutablePropertyValues mpv = new MutablePropertyValues();
-               mpv.addPropertyValue("executables", executables);
-
-               bd.setPropertyValues(mpv);
-               return bd;
-       }
-
-       public int getOrder() {
-               return Ordered.HIGHEST_PRECEDENCE;
-       }
-
-}