X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=cms%2Forg.argeo.slc.spring%2Fsrc%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2Fxml%2FAsFlowDecorator.java;fp=cms%2Forg.argeo.slc.spring%2Fsrc%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2Fxml%2FAsFlowDecorator.java;h=0000000000000000000000000000000000000000;hb=6fc94d69efe089414ac9e63bde3efab1cbf7b7ca;hp=b68d9c77dfda7136ad91507b17fccd75c83ebf1c;hpb=b36c62642bd0db11b3133b369cc026fd4b7a1ec6;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.slc.spring/src/org/argeo/slc/core/execution/xml/AsFlowDecorator.java b/cms/org.argeo.slc.spring/src/org/argeo/slc/core/execution/xml/AsFlowDecorator.java deleted file mode 100644 index b68d9c77d..000000000 --- a/cms/org.argeo.slc.spring/src/org/argeo/slc/core/execution/xml/AsFlowDecorator.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.argeo.slc.core.execution.xml; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.SlcException; -import org.argeo.slc.core.execution.DefaultExecutionFlow; -import org.argeo.slc.execution.ExecutionFlow; -import org.springframework.beans.BeanMetadataElement; -import org.springframework.beans.factory.config.BeanDefinitionHolder; -import org.springframework.beans.factory.config.RuntimeBeanReference; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.support.ManagedList; -import org.springframework.beans.factory.xml.BeanDefinitionDecorator; -import org.springframework.beans.factory.xml.ParserContext; -import org.w3c.dom.Attr; -import org.w3c.dom.Node; - -/** Publishes a {@link Runnable} as an {@link ExecutionFlow} */ -public class AsFlowDecorator implements BeanDefinitionDecorator { - private Log log = LogFactory.getLog(AsFlowDecorator.class); - - public BeanDefinitionHolder decorate(Node node, BeanDefinitionHolder bean, - ParserContext ctx) { - String attrValue = ((Attr) node).getValue(); - if (attrValue.charAt(attrValue.length() - 1) == '/') - throw new SlcException(attrValue + " cannot end with a path"); - final String flowBeanName = attrValue; - - if (log.isTraceEnabled()) - log.trace("flowBeanName=" + flowBeanName); - - if (ctx.getRegistry().containsBeanDefinition(flowBeanName)) - throw new SlcException("A bean named " + flowBeanName - + " is already defined."); - BeanDefinitionBuilder flow = BeanDefinitionBuilder - .rootBeanDefinition(DefaultExecutionFlow.class); - ManagedList executables = new ManagedList( - 1); - - String beanName = bean.getBeanName(); - if (beanName == null) - executables.add(bean.getBeanDefinition()); - else - executables.add(new RuntimeBeanReference(beanName)); - - // if (path != null) - // flow.addPropertyValue("path", path); - flow.addPropertyValue("executables", executables); - - if (beanName != null) - ctx.getRegistry().registerBeanDefinition(flowBeanName, - flow.getBeanDefinition()); - return bean; - } - -}