diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java index 90c9a616bdb599897db162f8ae6443113f0f506e..ff6d1caf8fa617c10b2b491fb160813e4e81db80 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java @@ -26,7 +26,6 @@ package org.olat.modules.sharedfolder; import org.olat.core.commons.modules.bc.FolderRunController; -import org.olat.core.commons.modules.bc.vfs.OlatNamedContainerImpl; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -58,7 +57,7 @@ public class SharedFolderEditorController extends DefaultController { private Link previewButton; private RepositoryEntry re; - private OlatNamedContainerImpl sharedFolder; + private VFSContainer sharedFolder; private FolderRunController folderRunController; private CloseableModalController cmc; private Controller controller; @@ -79,7 +78,7 @@ public class SharedFolderEditorController extends DefaultController { previewButton = LinkFactory.createButtonSmall("command.preview", vcEdit, this); re = RepositoryManager.getInstance().lookupRepositoryEntry(res, true); - sharedFolder = SharedFolderManager.getInstance().getNamedSharedFolder(re); + sharedFolder = SharedFolderManager.getInstance().getNamedSharedFolder(re, false); folderRunController = new FolderRunController(sharedFolder, true, true, false, ureq, getWindowControl()); vcEdit.put("folder", folderRunController.getInitialComponent()); @@ -92,7 +91,7 @@ public class SharedFolderEditorController extends DefaultController { */ public void event(UserRequest ureq, Component source, Event event) { if (source == previewButton) { - VFSContainer sharedFolderPreview = SharedFolderManager.getInstance().getNamedSharedFolder(re); + VFSContainer sharedFolderPreview = SharedFolderManager.getInstance().getNamedSharedFolder(re, false); sfdCtr = new SharedFolderDisplayController(ureq, getWindowControl(), sharedFolderPreview, re, true); cmc = new CloseableModalController(getWindowControl(), translator.translate("close"), sfdCtr.getInitialComponent()); cmc.activate(); diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderManager.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderManager.java index c80f09d45d96a3fa1b78857cf836f5a6a4820d2d..5fd3725d66f63e78ab8c048e82728412fed482d7 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderManager.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderManager.java @@ -69,8 +69,17 @@ public class SharedFolderManager extends BasicManager { return INSTANCE; } - public OlatNamedContainerImpl getNamedSharedFolder(RepositoryEntry re) { - return new OlatNamedContainerImpl(Formatter.makeStringFilesystemSave(re.getDisplayname()), getSharedFolder(re.getOlatResource())); + /** + * @param re The repository entry of the shared folder + * @param urlCompliant Encode the name to be file save + * @return The container + */ + public VFSContainer getNamedSharedFolder(RepositoryEntry re, boolean urlCompliant) { + String name = re.getDisplayname(); + if(urlCompliant) { + name = Formatter.makeStringFilesystemSave(name); + } + return new OlatNamedContainerImpl(name, getSharedFolder(re.getOlatResource())); } public OlatRootFolderImpl getSharedFolder(OLATResourceable res) { diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java index 902ffc5b4d0017447c30c7ff5fc17a8dafe26d49..17eb21801e55e2427aeb37fd452cbb8f21e39d2a 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderWebDAVMergeSource.java @@ -138,7 +138,7 @@ public class SharedFolderWebDAVMergeSource extends MergeSource { private VFSContainer getSharedContainer(RepositoryEntry re, boolean readOnly) { SharedFolderManager sfm = SharedFolderManager.getInstance(); - VFSContainer shared = sfm.getNamedSharedFolder(re); + VFSContainer shared = sfm.getNamedSharedFolder(re, true); if(readOnly) { shared.setLocalSecurityCallback(readOnlyCallback); } @@ -158,7 +158,7 @@ public class SharedFolderWebDAVMergeSource extends MergeSource { // if (addedEntries == null || !PersistenceHelper.listContainsObjectByKey(addedEntries, entry)) { // add the entry (readonly) - VFSContainer folder = sfm.getNamedSharedFolder(entry); + VFSContainer folder = sfm.getNamedSharedFolder(entry, true); folder.setLocalSecurityCallback(readOnlyCallback); rootContainer.addContainer(folder); addedEntries.add(entry); @@ -170,7 +170,7 @@ public class SharedFolderWebDAVMergeSource extends MergeSource { RepositoryManager repoManager = RepositoryManager.getInstance(); List<RepositoryEntry> ownerEntries = (List<RepositoryEntry>) repoManager.queryByOwner(identity, SharedFolderFileResource.TYPE_NAME); for (RepositoryEntry repoEntry : ownerEntries) { - addContainer(sfm.getNamedSharedFolder(repoEntry)); + addContainer(sfm.getNamedSharedFolder(repoEntry, true)); } // see /olat3/webapp/WEB-INF/olat_extensions.xml