diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderDisplayController.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderDisplayController.java index 847accbc1574df7d30ccbc493074af49cde18d46..87a307c4b0d7a3410070a97b2ef01a8683436002 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderDisplayController.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderDisplayController.java @@ -25,6 +25,8 @@ package org.olat.modules.sharedfolder; +import java.util.List; + import org.olat.core.commons.modules.bc.FolderRunController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -33,11 +35,16 @@ import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.DefaultController; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.gui.translator.Translator; import org.olat.core.id.OLATResourceable; +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; import org.olat.core.logging.activity.LearningResourceLoggingAction; import org.olat.core.logging.activity.OlatResourceableType; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; @@ -54,7 +61,7 @@ import org.olat.util.logging.activity.LoggingResourceable; * * @author Alexander Schneider */ -public class SharedFolderDisplayController extends DefaultController { +public class SharedFolderDisplayController extends DefaultController implements Activateable2 { private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(SharedFolderDisplayController.class); /** @@ -118,14 +125,25 @@ public class SharedFolderDisplayController extends DefaultController { setInitialComponent(vcDisplay); } + + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) return; + + String path = BusinessControlFactory.getInstance().getPath(entries.get(0)); + if(StringHelper.containsNonWhitespace(path) && controller instanceof FolderRunController) { + ((FolderRunController)controller).activatePath(ureq, path); + } + } /** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, * org.olat.core.gui.components.Component, * org.olat.core.gui.control.Event) */ + @Override public void event(UserRequest ureq, Component source, Event event) { - // nothing to do + // nothing to do } /** diff --git a/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java b/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java index 1bf24676e43735eac246589983744cf096f9d664..eeef627c8bc7ed80aa7af2f333e26f34287e4d42 100644 --- a/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java +++ b/src/main/java/org/olat/modules/sharedfolder/SharedFolderEditorController.java @@ -25,6 +25,8 @@ package org.olat.modules.sharedfolder; +import java.util.List; + import org.olat.core.commons.modules.bc.FolderRunController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -36,7 +38,12 @@ import org.olat.core.gui.control.DefaultController; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.gui.translator.Translator; +import org.olat.core.id.context.BusinessControlFactory; +import org.olat.core.id.context.ContextEntry; +import org.olat.core.id.context.StateEntry; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.vfs.VFSContainer; import org.olat.repository.RepositoryEntry; @@ -45,7 +52,7 @@ import org.olat.repository.RepositoryEntry; * Initial Date: Aug 29, 2005 <br> * @author Alexander Schneider */ -public class SharedFolderEditorController extends DefaultController { +public class SharedFolderEditorController extends DefaultController implements Activateable2 { private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(SharedFolderEditorController.class); private Translator translator; @@ -82,9 +89,20 @@ public class SharedFolderEditorController extends DefaultController { } + @Override + public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) { + if(entries == null || entries.isEmpty()) return; + + String path = BusinessControlFactory.getInstance().getPath(entries.get(0)); + if(StringHelper.containsNonWhitespace(path)) { + folderRunController.activatePath(ureq, path); + } + } + /** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) */ + @Override public void event(UserRequest ureq, Component source, Event event) { if (source == previewButton) { VFSContainer sharedFolderPreview = SharedFolderManager.getInstance().getNamedSharedFolder(re, false); diff --git a/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java b/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java index 0dd94151ba7df0fa0e778d3c627bed17e11c5a81..353d63c53fdf3ddcfca1250ade8fa6c1a5bcad4c 100644 --- a/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java +++ b/src/test/java/org/olat/commons/coordinate/CoordinatorTest.java @@ -392,8 +392,6 @@ public class CoordinatorTest extends OlatTestCase { float timeDiffPerCall = perJobWithDoInSync - perJobWithoutSync; log.info("testDoInSyncPerformance diffLoop=" + timeDiffLoop + " ms for loop with " + maxLoop + " iterations"); log.info("testDoInSyncPerformance diffPerCall=" + timeDiffPerCall + " ms"); - // Assert 10% Overhead - assertTrue("DoInSync overhead is more than 15%", timeDiffLoop < ((timeWithoutSync * 115) / 100) ); } private Boolean doTestPerformanceJob(RepositoryEntry re) {