]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java
Restructure JCR repository wrappers
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / views / GenericJcrBrowser.java
index b84214c741fdd81b826fba8b1f1bfeffe07e5bfd..9ae1b0b6302ab21c2141b0401be91e7569d66e3c 100644 (file)
@@ -1,3 +1,18 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.jcr.ui.explorer.views;
 
 import java.util.List;
@@ -5,12 +20,14 @@ import java.util.List;
 import javax.jcr.Property;
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
-import javax.jcr.Session;
+import javax.jcr.RepositoryFactory;
 import javax.jcr.Value;
 import javax.jcr.observation.Event;
 import javax.jcr.observation.EventListener;
 import javax.jcr.observation.ObservationManager;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.ArgeoException;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;
@@ -50,14 +67,14 @@ import org.eclipse.swt.widgets.Menu;
  */
 
 public class GenericJcrBrowser extends AbstractJcrBrowser {
-       // private final static Log log =
-       // LogFactory.getLog(GenericJcrBrowser.class);
+       private final static Log log = LogFactory.getLog(GenericJcrBrowser.class);
        public final static String ID = JcrExplorerPlugin.ID + ".browserView";
        private boolean sortChildNodes = false;
 
        /* DEPENDENCY INJECTION */
        private JcrKeyring jcrKeyring;
        private RepositoryRegister repositoryRegister;
+       private RepositoryFactory repositoryFactory;
 
        // This page widgets
        private TreeViewer nodesViewer;
@@ -73,8 +90,8 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
        public void createPartControl(Composite parent) {
 
                // look for session
-               Session nodeSession = jcrKeyring != null ? jcrKeyring.getSession()
-                               : null;
+               // Session nodeSession = jcrKeyring != null ? jcrKeyring.getSession()
+               // : null;
                // if (nodeSession == null) {
                // Repository nodeRepository = JcrUtils.getRepositoryByAlias(
                // repositoryRegister, ArgeoJcrConstants.ALIAS_NODE);
@@ -82,7 +99,6 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                // try {
                // nodeSession = nodeRepository.login();
                // // TODO : enhance that to enable multirepository listener.
-               // session = nodeSession;
                // } catch (RepositoryException e1) {
                // throw new ArgeoException("Cannot login to node repository");
                // }
@@ -106,7 +122,7 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                top.setLayout(gl);
 
                nodeContentProvider = new NodeContentProvider(jcrKeyring,
-                               repositoryRegister, sortChildNodes);
+                               repositoryRegister, repositoryFactory, sortChildNodes);
 
                // nodes viewer
                nodesViewer = createNodeViewer(top, nodeContentProvider);
@@ -167,6 +183,7 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                resultsObserver = new TreeObserver(tmpNodeViewer.getTree().getDisplay());
                if (jcrKeyring != null)
                        try {
+                               log.debug("userID=" + jcrKeyring.getSession().getUserID());
                                ObservationManager observationManager = jcrKeyring.getSession()
                                                .getWorkspace().getObservationManager();
                                observationManager.addEventListener(resultsObserver,
@@ -247,6 +264,11 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                return propertiesViewer;
        }
 
+       @Override
+       public void dispose() {
+               super.dispose();
+       }
+
        @Override
        protected TreeViewer getNodeViewer() {
                return nodesViewer;
@@ -317,4 +339,8 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                this.jcrKeyring = jcrKeyring;
        }
 
+       public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
+               this.repositoryFactory = repositoryFactory;
+       }
+
 }