JCR Explorer with keyring integration
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / model / RepositoryNode.java
index 97759a651d06e6a8b0a65f528826dba85ee7258c..b4d16603d030504d52eca89f2d15a555156afb87 100644 (file)
@@ -6,8 +6,6 @@ import javax.jcr.Session;
 
 import org.argeo.ArgeoException;
 import org.argeo.eclipse.ui.TreeParent;
-import org.argeo.eclipse.ui.jcr.JcrUiPlugin;
-import org.eclipse.swt.graphics.Image;
 
 /**
  * UI Tree component. Wraps a JCR {@link Repository}. It also keeps a reference
@@ -19,11 +17,6 @@ public class RepositoryNode extends TreeParent implements UiNode {
        private String alias;
        private final Repository repository;
        private Session defaultSession = null;
-       public final static Image REPOSITORY_DISCONNECTED = JcrUiPlugin
-                       .getImageDescriptor("icons/repository_disconnected.gif")
-                       .createImage();
-       public final static Image REPOSITORY_CONNECTED = JcrUiPlugin
-                       .getImageDescriptor("icons/repository_connected.gif").createImage();
 
        /** Create a new repository with alias = name */
        public RepositoryNode(String alias, Repository repository, TreeParent parent) {
@@ -44,7 +37,7 @@ public class RepositoryNode extends TreeParent implements UiNode {
                        // SimpleCredentials sc = new SimpleCredentials("root",
                        // "demo".toCharArray());
                        // defaultSession = repository.login(sc);
-                       defaultSession = repository.login();
+                       defaultSession = repositoryLogin(null);
                        String[] wkpNames = defaultSession.getWorkspace()
                                        .getAccessibleWorkspaceNames();
                        for (String wkpName : wkpNames) {
@@ -58,6 +51,12 @@ public class RepositoryNode extends TreeParent implements UiNode {
                }
        }
 
+       /** Actual call to the {@link Repository#login(javax.jcr.Credentials, String)} method. To be overridden.*/
+       protected Session repositoryLogin(String workspaceName)
+                       throws RepositoryException {
+               return repository.login(workspaceName);
+       }
+
        public Session getDefaultSession() {
                return defaultSession;
        }