X-Git-Url: http://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=library%2Forg.argeo.documents.ui%2Fsrc%2Forg%2Fargeo%2Fdocuments%2Fui%2FDocumentsTreeUiProvider.java;h=13c26e5123b0a51107d0c1359e1bb1778bb1526d;hp=c2cda5647511535bd617320f746ecc21146efa40;hb=5f3933c6262a3f45212299f6f0ec3c29a2e411bf;hpb=f21589b7f2a19a79edcc213b867c47130faa76cd diff --git a/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsTreeUiProvider.java b/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsTreeUiProvider.java index c2cda56..13c26e5 100644 --- a/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsTreeUiProvider.java +++ b/library/org.argeo.documents.ui/src/org/argeo/documents/ui/DocumentsTreeUiProvider.java @@ -3,13 +3,12 @@ package org.argeo.documents.ui; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.spi.FileSystemProvider; -import java.util.HashMap; -import java.util.Map; import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; +import org.argeo.api.NodeConstants; import org.argeo.api.NodeUtils; import org.argeo.cms.fs.CmsFsUtils; import org.argeo.cms.ui.CmsUiProvider; @@ -34,9 +33,10 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { parent.setLayout(new GridLayout()); FsTreeViewer fsTreeViewer = new FsTreeViewer(parent, SWT.NONE); fsTreeViewer.configureDefaultSingleColumnTable(500); - Node homeNode = NodeUtils.getUserHome(context.getSession()); - Path homePath = CmsFsUtils.getPath(nodeFileSystemProvider, homeNode); CmsView cmsView = CmsView.getCmsView(parent); + Node homeNode = NodeUtils.getUserHome(cmsView.doAs(() -> Jcr.login(repository, NodeConstants.HOME_WORKSPACE))); + parent.addDisposeListener((e1) -> Jcr.logout(homeNode)); + Path homePath = CmsFsUtils.getPath(nodeFileSystemProvider, homeNode); fsTreeViewer.addSelectionChangedListener((e) -> { IStructuredSelection selection = (IStructuredSelection) fsTreeViewer.getSelection(); if (selection.isEmpty()) @@ -46,10 +46,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - Map properties = new HashMap<>(); - properties.put(SuiteEvent.NODE_ID, Jcr.getIdentifier(folderNode)); - properties.put(SuiteEvent.WORKSPACE, Jcr.getWorkspaceName(folderNode)); - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), properties); + cmsView.sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(folderNode)); } } }); @@ -62,10 +59,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - Map properties = new HashMap<>(); - properties.put(SuiteEvent.NODE_ID, Jcr.getIdentifier(folderNode)); - properties.put(SuiteEvent.WORKSPACE, Jcr.getWorkspaceName(folderNode)); - cmsView.sendEvent(SuiteEvent.openNewPart.topic(), properties); + cmsView.sendEvent(SuiteEvent.openNewPart.topic(), SuiteEvent.eventProperties(folderNode)); } } });