diff --git a/src/main/java/it/inaf/oats/vospace/BaseNodeController.java b/src/main/java/it/inaf/oats/vospace/BaseNodeController.java
index 62bd0269545957e9c975add52a2107ddbb6bfc3c..a9661a1fb5766db501569f8574f3b0c56dd900ce 100644
--- a/src/main/java/it/inaf/oats/vospace/BaseNodeController.java
+++ b/src/main/java/it/inaf/oats/vospace/BaseNodeController.java
@@ -1,5 +1,6 @@
 package it.inaf.oats.vospace;
 
+import it.inaf.oats.vospace.datamodel.NodeUtils;
 import javax.servlet.http.HttpServletRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -8,20 +9,20 @@ public abstract class BaseNodeController {
     @Autowired
     private HttpServletRequest servletRequest;
 
-    /**
-     * Slash is a special character in defining REST endpoints and trying to
-     * define a PathVariable containing slashes doesn't work, so the endpoint
-     * has been defined using "/nodes/**" instead of "/nodes/{path}" and the
-     * path is extracted manually parsing the request URL.
-     */
+    
     protected String getPath() {
+        
         String requestURL = servletRequest.getRequestURL().toString();
-        String[] split = requestURL.split("/nodes/");
+        
+        return NodeUtils.getPathFromRequestURLString(requestURL);
+        
+    }
+    
+    
+
+    protected String getParentPath(String path) {
 
-        String path = "/";
-        if (split.length == 2) {
-            path += split[1];
-        }
-        return path;
+        return NodeUtils.getParentPath(path);
     }
+    
 }