Calendar now = new GregorianCalendar();
return SlcJcrConstants.PROCESSES_BASE_PATH + '/'
+ JcrUtils.dateAsPath(now, true) + uuid;
+ }
+ /** Create a new execution result path based on the current time */
+ public static String createResultPath(String uuid) {
+ Calendar now = new GregorianCalendar();
+ return SlcJcrConstants.RESULTS_BASE_PATH + '/'
+ + JcrUtils.dateAsPath(now, true) + uuid;
}
/**
PrimitiveAccessor primitiveAccessor) {
String type = primitiveAccessor.getType();
Object value = primitiveAccessor.getValue();
+ setPrimitiveAsProperty(node, propertyName, type, value);
+ }
+
+ /** Map a primitive value to JCR property value. */
+ public static void setPrimitiveAsProperty(Node node, String propertyName,
+ String type, Object value) {
if (value == null)
return;
if (value instanceof CharSequence)
((CharSequence) value).toString());
try {
- if (type.equals(PrimitiveUtils.TYPE_STRING))
+ if (type.equals(PrimitiveAccessor.TYPE_STRING))
node.setProperty(propertyName, value.toString());
- else if (type.equals(PrimitiveUtils.TYPE_INTEGER))
+ else if (type.equals(PrimitiveAccessor.TYPE_INTEGER))
node.setProperty(propertyName, (long) ((Integer) value));
- else if (type.equals(PrimitiveUtils.TYPE_LONG))
+ else if (type.equals(PrimitiveAccessor.TYPE_LONG))
node.setProperty(propertyName, ((Long) value));
- else if (type.equals(PrimitiveUtils.TYPE_FLOAT))
+ else if (type.equals(PrimitiveAccessor.TYPE_FLOAT))
node.setProperty(propertyName, (double) ((Float) value));
- else if (type.equals(PrimitiveUtils.TYPE_DOUBLE))
+ else if (type.equals(PrimitiveAccessor.TYPE_DOUBLE))
node.setProperty(propertyName, ((Double) value));
- else if (type.equals(PrimitiveUtils.TYPE_BOOLEAN))
+ else if (type.equals(PrimitiveAccessor.TYPE_BOOLEAN))
node.setProperty(propertyName, ((Boolean) value));
else
throw new SlcException("Unsupported type " + type);
} catch (RepositoryException e) {
- throw new SlcException("Cannot set primitive " + primitiveAccessor
+ throw new SlcException("Cannot set primitive of " + type
+ " as property " + propertyName + " on " + node, e);
}
}