]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java
Fix //
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / execution / JcrExecutionModulesListener.java
index 27d7b6b3b3e374ccc0209981105855551a4d43d6..4d0c55cb0ed76e4f2915850e7e8945037a3112d5 100644 (file)
@@ -165,18 +165,20 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener,
                // execution spec
                ExecutionSpec executionSpec = efd.getExecutionSpec();
                String esName = executionSpec.getName();
-               if (esName != null && !esName.equals(ExecutionSpec.INTERNAL_NAME)) {
+               if (!(esName == null || esName.equals(ExecutionSpec.INTERNAL_NAME))) {
                        Node executionSpecsNode = moduleNode.hasNode(SLC_EXECUTION_SPECS) ? moduleNode
                                        .getNode(SLC_EXECUTION_SPECS) : moduleNode
                                        .addNode(SLC_EXECUTION_SPECS);
                        Node executionSpecNode = executionSpecsNode.addNode(esName,
                                        SlcTypes.SLC_EXECUTION_SPEC);
+                       executionSpecNode.setProperty(SLC_NAME, esName);
                        executionSpecNode.setProperty(Property.JCR_TITLE, esName);
                        if (executionSpec.getDescription() != null
                                        && !executionSpec.getDescription().trim().equals(""))
                                executionSpecNode.setProperty(Property.JCR_DESCRIPTION,
                                                executionSpec.getDescription());
                        mapExecutionSpec(executionSpecNode, executionSpec);
+                       flowNode.setProperty(SLC_SPEC, executionSpecNode);
                } else {
                        mapExecutionSpec(flowNode, executionSpec);
                }
@@ -253,6 +255,8 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener,
                // we assume that it is more than one char long
                if (relativePath.charAt(0) == '/')
                        relativePath = relativePath.substring(1);
+               // FIXME quick hack to avoid duplicate '/'
+               relativePath = relativePath.replaceAll("//", "/");
                return relativePath;
        }