]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ExecutionParameterPostProcessor.java
FlowNamespace extended (flows in flows, param in arg)
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / ExecutionParameterPostProcessor.java
index 5b28534ba43063ceedf61849c9a1f836ecc5ef17..8a0c6224025ac0c6d0e4a2abce9a8f51123c6ba9 100644 (file)
@@ -86,7 +86,6 @@ public class ExecutionParameterPostProcessor extends
                                        placeholder).toString();\r
 \r
                else {// execution\r
-                       log.debug("Bean class: " + bean.getClass());\r
                        // next call fail if no execution context available\r
                        Object obj = executionContext.getVariable(placeholder);\r
                        if (obj != null) {\r
@@ -104,11 +103,15 @@ public class ExecutionParameterPostProcessor extends
                        String originalValue = tsv.getValue();\r
 \r
                        String convertedValue = resolveString(beanName, bean, originalValue);\r
+                       if (convertedValue == null)\r
+                               return null;\r
                        return convertedValue.equals(originalValue) ? value\r
                                        : new TypedStringValue(convertedValue);\r
                } else if (value instanceof String) {\r
                        String originalValue = value.toString();\r
                        String convertedValue = resolveString(beanName, bean, originalValue);\r
+                       if (convertedValue == null)\r
+                               return null;\r
                        return convertedValue.equals(originalValue) ? value\r
                                        : convertedValue;\r
                } else if (value instanceof ManagedMap) {\r
@@ -159,13 +162,17 @@ public class ExecutionParameterPostProcessor extends
                        }\r
                        return entriesModified ? newContent : value;\r
                } else {\r
-                       //log.debug(beanName + ": " + value.getClass() + " : " + value);\r
+                       // log.debug(beanName + ": " + value.getClass() + " : " + value);\r
                        return value;\r
                }\r
 \r
        }\r
 \r
        private String resolveString(String beanName, Object bean, String strVal) {\r
+               // in case <null/> is passed\r
+               if (strVal == null)\r
+                       return null;\r
+\r
                String value = parseStringValue(bean, strVal, new HashSet<String>());\r
 \r
                if (value == null)\r
@@ -205,6 +212,10 @@ public class ExecutionParameterPostProcessor extends
                        Set<String> visitedPlaceholders)\r
                        throws BeanDefinitionStoreException {\r
 \r
+               // in case <null/> is passed\r
+               if (strVal == null)\r
+                       return null;\r
+\r
                StringBuffer buf = new StringBuffer(strVal);\r
 \r
                int startIndex = strVal.indexOf(placeholderPrefix);\r