- ExecutionSpecAttribute attr = attrs.get(attrName);
- Object value = attr.getValue();
- values.put(attrName,value);
+ if (flowNode.hasNode(attrName)) {
+ // we assume this is a primitive
+ // since ref are not yet implemented
+ Node valueNode = flowNode.getNode(attrName);
+ String type = valueNode.getProperty(SLC_TYPE).getString();
+ String valueStr = valueNode.getProperty(SLC_VALUE)
+ .getString();
+ Object value = PrimitiveUtils.convert(type, valueStr);
+ values.put(attrName, value);
+ } else {
+ ExecutionSpecAttribute attr = attrs.get(attrName);
+ Object value = attr.getValue();
+ values.put(attrName, value);
+ }