Clarify naming.
[lgpl/argeo-commons.git] / org.argeo.cms.e4 / src / org / argeo / cms / e4 / jcr / JcrBrowserView.java
index 28dee610354fa65fd8e15ae415758756d7fa3326..de603a4480138e9d2e57639945108c6869b7183d 100644 (file)
@@ -31,6 +31,9 @@ import javax.jcr.observation.Event;
 import javax.jcr.observation.EventListener;
 import javax.jcr.observation.ObservationManager;
 
+import org.argeo.api.NodeConstants;
+import org.argeo.api.security.CryptoKeyring;
+import org.argeo.api.security.Keyring;
 import org.argeo.cms.CmsException;
 import org.argeo.cms.ui.jcr.JcrBrowserUtils;
 import org.argeo.cms.ui.jcr.NodeContentProvider;
@@ -38,13 +41,14 @@ import org.argeo.cms.ui.jcr.NodeLabelProvider;
 import org.argeo.cms.ui.jcr.OsgiRepositoryRegister;
 import org.argeo.cms.ui.jcr.PropertiesContentProvider;
 import org.argeo.cms.ui.jcr.model.SingleJcrNodeElem;
-import org.argeo.cms.util.CmsUtils;
+import org.argeo.cms.ui.util.CmsUiUtils;
 import org.argeo.eclipse.ui.EclipseUiException;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;
-import org.argeo.eclipse.ui.jcr.utils.NodeViewerComparer;
-import org.argeo.node.security.CryptoKeyring;
+import org.argeo.eclipse.ui.jcr.util.NodeViewerComparer;
+import org.argeo.jcr.JcrUtils;
 import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.di.annotations.Optional;
 import org.eclipse.e4.ui.services.EMenuService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
@@ -76,7 +80,9 @@ public class JcrBrowserView {
        private boolean sortChildNodes = true;
 
        /* DEPENDENCY INJECTION */
-       private CryptoKeyring keyring;
+       @Inject
+       @Optional
+       private Keyring keyring;
        @Inject
        private RepositoryFactory repositoryFactory;
        @Inject
@@ -106,10 +112,10 @@ public class JcrBrowserView {
                // Create the tree on top of the view
                Composite top = new Composite(sashForm, SWT.NONE);
                // GridLayout gl = new GridLayout(1, false);
-               top.setLayout(CmsUtils.noSpaceGridLayout());
+               top.setLayout(CmsUiUtils.noSpaceGridLayout());
 
                try {
-                       this.userSession = this.nodeRepository.login();
+                       this.userSession = this.nodeRepository.login(NodeConstants.HOME_WORKSPACE);
                } catch (RepositoryException e) {
                        throw new CmsException("Cannot open user session", e);
                }
@@ -130,7 +136,7 @@ public class JcrBrowserView {
 
                // Create the property viewer on the bottom
                Composite bottom = new Composite(sashForm, SWT.NONE);
-               bottom.setLayout(CmsUtils.noSpaceGridLayout());
+               bottom.setLayout(CmsUiUtils.noSpaceGridLayout());
                propertiesViewer = createPropertiesViewer(bottom);
 
                sashForm.setWeights(getWeights());
@@ -149,6 +155,7 @@ public class JcrBrowserView {
 
        @PreDestroy
        public void dispose() {
+               JcrUtils.logoutQuietly(userSession);
                repositoryRegister.destroy();
        }
 
@@ -276,9 +283,8 @@ public class JcrBrowserView {
        /**
         * Resets the tree content provider
         * 
-        * @param sortChildNodes
-        *            if true the content provider will use a comparer to sort nodes
-        *            that might slow down the display
+        * @param sortChildNodes if true the content provider will use a comparer to
+        *                       sort nodes that might slow down the display
         */
        public void setSortChildNodes(boolean sortChildNodes) {
                this.sortChildNodes = sortChildNodes;