diff --git a/src/main/java/org/caosdb/server/resource/FileSystemResource.java b/src/main/java/org/caosdb/server/resource/FileSystemResource.java index 66ee11bcd29e8533660283d1649e0ae67ce4afa2..93f4802704e14f0f6b7d9a299a94d3c42a8442e7 100644 --- a/src/main/java/org/caosdb/server/resource/FileSystemResource.java +++ b/src/main/java/org/caosdb/server/resource/FileSystemResource.java @@ -100,14 +100,14 @@ public class FileSystemResource extends AbstractCaosDBServerResource { } if (file.getObjectType() == ObjectType.DIRECTORY) { - String referenceString = getReference().toString(); - if (!referenceString.endsWith(Path.DEFAULT_PATH_SEPARATOR)) { - referenceString = referenceString + Path.DEFAULT_PATH_SEPARATOR; + String url = getUtils().getServerRootURI() + "/FileSystem/" + path.toString(); + if (!url.endsWith(Path.DEFAULT_PATH_SEPARATOR)) { + url = url + Path.DEFAULT_PATH_SEPARATOR; } final Element folder = new Element("dir"); folder.setAttribute("path", Path.DEFAULT_PATH_SEPARATOR + file.getPath().toString()); folder.setAttribute("name", path.isEmpty() ? "/" : file.getName()); - folder.setAttribute("url", referenceString); + folder.setAttribute("url", url); for (final VirtualFSODescriptorInterface child : file.listChildren()) { Element celem = null; @@ -115,8 +115,7 @@ public class FileSystemResource extends AbstractCaosDBServerResource { case DIRECTORY: celem = new Element("dir"); celem.setAttribute("name", child.getName()); - celem.setAttribute( - "url", referenceString + child.getName() + Path.DEFAULT_PATH_SEPARATOR); + celem.setAttribute("url", url + child.getName() + Path.DEFAULT_PATH_SEPARATOR); break; case LINK: // TODO @@ -125,7 +124,7 @@ public class FileSystemResource extends AbstractCaosDBServerResource { case FILE: celem = new Element("file"); celem.setAttribute("name", child.getName()); - celem.setAttribute("url", referenceString + child.getName()); + celem.setAttribute("url", url + child.getName()); break; default: throw new UnsupportedOperationException(