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); } + }