]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/xml/SpecBeanDefinitionParser.java
Provide SlcAgentFactory in the core agent
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / xml / SpecBeanDefinitionParser.java
index e5a4531ab920a3a8c48bf5bbb733098b1b518108..4ef3f978899d27fc5f9bae44784c2eb71327f9f6 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Argeo GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.slc.core.execution.xml;
 
 import java.util.List;
@@ -18,6 +33,7 @@ import org.springframework.util.StringUtils;
 import org.springframework.util.xml.DomUtils;
 import org.w3c.dom.Element;
 
+/** Interprets the <flow:spec> tag */
 public class SpecBeanDefinitionParser extends
                AbstractSingleBeanDefinitionParser {
        private Log log = LogFactory.getLog(SpecBeanDefinitionParser.class);
@@ -26,9 +42,9 @@ public class SpecBeanDefinitionParser extends
        @Override
        protected void doParse(Element element, ParserContext parserContext,
                        BeanDefinitionBuilder builder) {
-               builder.getBeanDefinition().setDescription(DomUtils.getChildElementValueByTagName(element, 
-               "description"));                
-               
+               builder.getBeanDefinition().setDescription(
+                               DomUtils.getChildElementValueByTagName(element, "description"));
+
                ManagedMap attributes = new ManagedMap();
 
                // Primitives
@@ -67,8 +83,8 @@ public class SpecBeanDefinitionParser extends
                                for (Element choiceElem : choices) {
                                        BeanDefinitionBuilder choiceBuilder = BeanDefinitionBuilder
                                                        .genericBeanDefinition(RefValueChoice.class);
-                                       choiceBuilder.addPropertyValue("name", choiceElem
-                                                       .getAttribute("name"));
+                                       choiceBuilder.addPropertyValue("name",
+                                                       choiceElem.getAttribute("name"));
                                        String desc = choiceElem.getAttribute("description");
                                        if (StringUtils.hasText(desc))
                                                choiceBuilder.addPropertyValue("description", desc);
@@ -78,8 +94,8 @@ public class SpecBeanDefinitionParser extends
                                refAttrBuilder.addPropertyValue("choices", choiceBeans);
                        }
 
-                       putInAttributes(attributes, refAttrElem, refAttrBuilder
-                                       .getBeanDefinition(), "ref");
+                       putInAttributes(attributes, refAttrElem,
+                                       refAttrBuilder.getBeanDefinition(), "ref");
                }
 
                builder.addPropertyValue("attributes", attributes);
@@ -87,9 +103,11 @@ public class SpecBeanDefinitionParser extends
 
        protected void addCommonProperties(Element element,
                        ParserContext parserContext, BeanDefinitionBuilder specAttr) {
+               addBooleanProperty("isImmutable", specAttr, element);
+               addBooleanProperty("isConstant", specAttr, element);
+               addBooleanProperty("isHidden", specAttr, element);
                addBooleanProperty("isParameter", specAttr, element);
                addBooleanProperty("isFrozen", specAttr, element);
-               addBooleanProperty("isHidden", specAttr, element);
 
                Object value = NamespaceUtils.parseValue(element, parserContext,
                                specAttr.getBeanDefinition(), "value");