]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java
Deactivate bundles used for RCP prototype
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / SlcJcrUtils.java
index e4d5d6e6ee768b128d91a4af28df47fb7721ad0a..c4a14ff2926284bb98191397ffcf40f8e1770bdf 100644 (file)
@@ -64,7 +64,13 @@ public class SlcJcrUtils {
                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;
        }
 
        /**
@@ -75,6 +81,12 @@ public class SlcJcrUtils {
                        PrimitiveAccessor primitiveAccessor) {
                String type = primitiveAccessor.getType();
                Object value = primitiveAccessor.getValue();
+               setPrimitiveAsProperty(node, propertyName, type, value);
+       }
+
+       /** Map a primitive value to JCR ptoperty value. */
+       public static void setPrimitiveAsProperty(Node node, String propertyName,
+                       String type, Object value) {
                if (value == null)
                        return;
                if (value instanceof CharSequence)
@@ -82,22 +94,22 @@ public class SlcJcrUtils {
                                        ((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);
                }
        }