+ CmsView cmsView = CmsView.getCmsView(parent);
+ fsTreeViewer.addSelectionChangedListener((e) -> {
+ IStructuredSelection selection = (IStructuredSelection) fsTreeViewer.getSelection();
+ if (selection.isEmpty())
+ return;
+ else {
+ Path newSelected = (Path) selection.getFirstElement();
+ if (Files.isDirectory(newSelected)) {
+ Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected));
+ parent.addDisposeListener((e1) -> Jcr.logout(folderNode));
+ Map<String, Object> properties = new HashMap<>();
+ properties.put(SuiteEvent.NODE_ID, Jcr.getIdentifier(folderNode));
+ properties.put(SuiteEvent.WORKSPACE, Jcr.getWorkspaceName(folderNode));
+ cmsView.sendEvent(SuiteEvent.refreshPart.topic(), properties);
+ }
+ }
+ });
+ fsTreeViewer.addDoubleClickListener((e) -> {
+ IStructuredSelection selection = (IStructuredSelection) fsTreeViewer.getSelection();
+ if (selection.isEmpty())
+ return;
+ else {
+ Path newSelected = (Path) selection.getFirstElement();
+ if (Files.isDirectory(newSelected)) {
+ Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected));
+ parent.addDisposeListener((e1) -> Jcr.logout(folderNode));
+ Map<String, Object> properties = new HashMap<>();
+ properties.put(SuiteEvent.NODE_ID, Jcr.getIdentifier(folderNode));
+ properties.put(SuiteEvent.WORKSPACE, Jcr.getWorkspaceName(folderNode));
+ cmsView.sendEvent(SuiteEvent.openNewPart.topic(), properties);
+ }
+ }
+ });