]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/SlcJcrUtils.java
Work in progress - work on modular distributions.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / SlcJcrUtils.java
index 693389d119fe02bd1ce462c93061a988b7ce18c7..5c00bcffb1be2b49f0f28f01353cb6917ef93ae4 100644 (file)
@@ -28,6 +28,8 @@ import javax.jcr.nodetype.NodeType;
 
 import org.argeo.jcr.JcrUtils;
 import org.argeo.jcr.UserJcrUtils;
+import org.argeo.slc.BasicNameVersion;
+import org.argeo.slc.NameVersion;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.core.execution.PrimitiveAccessor;
 import org.argeo.slc.core.execution.PrimitiveUtils;
@@ -70,6 +72,15 @@ public class SlcJcrUtils implements SlcNames {
                return moduleName;
        }
 
+       /** Extracts the module name and version from a flow path */
+       public static NameVersion moduleNameVersion(String fullFlowPath) {
+               String[] tokens = fullFlowPath.split("/");
+               String module = tokens[AGENT_FACTORY_DEPTH + 2];
+               String moduleName = module.substring(0, module.indexOf('_'));
+               String moduleVersion = module.substring(module.indexOf('_') + 1);
+               return new BasicNameVersion(moduleName, moduleVersion);
+       }
+
        /** Module node name based on module name and version */
        public static String getModuleNodeName(ModuleDescriptor moduleDescriptor) {
                return moduleDescriptor.getName() + "_" + moduleDescriptor.getVersion();