Use RepositoryFactory in JCR browser
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 9 Mar 2012 15:58:38 +0000 (15:58 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 9 Mar 2012 15:58:38 +0000 (15:58 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@5188 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/plugins/org.argeo.jcr.ui.explorer/META-INF/spring/views.xml
server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/browser/NodeContentProvider.java
server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java
server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java

index 6cda684b4667d294f00b46a227fc3a2e7ae41503..84520ef550f6a70b1112d4835fd75acdc142780f 100644 (file)
@@ -9,5 +9,6 @@
                scope="prototype">
                <property name="jcrKeyring" ref="jcrKeyring" />
                <property name="repositoryRegister" ref="repositoryRegister" />
+               <property name="repositoryFactory" ref="repositoryFactory" />
        </bean>
 </beans>
index 4790649d259b12deee180356e478f458cf37fe4b..b184c1eb120d94a1a35c810729bf653e16233153 100644 (file)
@@ -5,6 +5,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import javax.jcr.Node;
+import javax.jcr.RepositoryFactory;
 import javax.jcr.Session;
 
 import org.argeo.eclipse.ui.TreeParent;
@@ -29,6 +30,7 @@ public class NodeContentProvider implements ITreeContentProvider {
 
        // Business Objects
        final private RepositoryRegister repositoryRegister;
+       final private RepositoryFactory repositoryFactory;
        final private Session userSession;
        final private JcrKeyring jcrKeyring;
        final private boolean sortChildren;
@@ -41,10 +43,12 @@ public class NodeContentProvider implements ITreeContentProvider {
        private TreeObjectsComparator itemComparator = new TreeObjectsComparator();
 
        public NodeContentProvider(JcrKeyring jcrKeyring,
-                       RepositoryRegister repositoryRegister, Boolean sortChildren) {
+                       RepositoryRegister repositoryRegister,
+                       RepositoryFactory repositoryFactory, Boolean sortChildren) {
                this.userSession = jcrKeyring != null ? jcrKeyring.getSession() : null;
                this.jcrKeyring = jcrKeyring;
                this.repositoryRegister = repositoryRegister;
+               this.repositoryFactory = repositoryFactory;
                this.sortChildren = sortChildren;
        }
 
@@ -66,7 +70,7 @@ public class NodeContentProvider implements ITreeContentProvider {
                        if (repositoriesNode != null)
                                repositoriesNode.dispose();
                        repositoriesNode = new RepositoriesNode("Repositories",
-                                       repositoryRegister, null, jcrKeyring);
+                                       repositoryRegister, repositoryFactory, null, jcrKeyring);
                }
        }
 
index 6c5273aca58c1f8a488b586e29888dab8d274e8e..3e05c989c18db1fc73814345dd212af69882bbe6 100644 (file)
@@ -32,13 +32,16 @@ import org.argeo.jcr.security.JcrKeyring;
 
 public class RepositoriesNode extends TreeParent implements ArgeoNames {
        private final RepositoryRegister repositoryRegister;
+       private final RepositoryFactory repositoryFactory;
 
        private final JcrKeyring jcrKeyring;
 
        public RepositoriesNode(String name, RepositoryRegister repositoryRegister,
-                       TreeParent parent, JcrKeyring jcrKeyring) {
+                       RepositoryFactory repositoryFactory, TreeParent parent,
+                       JcrKeyring jcrKeyring) {
                super(name);
                this.repositoryRegister = repositoryRegister;
+               this.repositoryFactory = repositoryFactory;
                this.jcrKeyring = jcrKeyring;
        }
 
@@ -86,7 +89,7 @@ public class RepositoriesNode extends TreeParent implements ArgeoNames {
                                        params.put(ArgeoJcrConstants.JCR_REPOSITORY_URI, uri);
                                        params.put(ArgeoJcrConstants.JCR_REPOSITORY_ALIAS,
                                                        remoteNode.getName());
-                                       Repository repository = repositoryRegister
+                                       Repository repository = repositoryFactory
                                                        .getRepository(params);
                                        RemoteRepositoryNode remoteRepositoryNode = new RemoteRepositoryNode(
                                                        remoteNode.getName(), repository, this, jcrKeyring,
index ae07a5b5eceda112e6f9072ead37ce380cbaabe7..8d6162e93c9b6cc4fd0372995b4d4a96f11f4170 100644 (file)
@@ -5,6 +5,7 @@ import java.util.List;
 import javax.jcr.Property;
 import javax.jcr.PropertyType;
 import javax.jcr.RepositoryException;
+import javax.jcr.RepositoryFactory;
 import javax.jcr.Value;
 import javax.jcr.observation.Event;
 import javax.jcr.observation.EventListener;
@@ -57,6 +58,7 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
        /* DEPENDENCY INJECTION */
        private JcrKeyring jcrKeyring;
        private RepositoryRegister repositoryRegister;
+       private RepositoryFactory repositoryFactory;
 
        // This page widgets
        private TreeViewer nodesViewer;
@@ -104,7 +106,7 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                top.setLayout(gl);
 
                nodeContentProvider = new NodeContentProvider(jcrKeyring,
-                               repositoryRegister, sortChildNodes);
+                               repositoryRegister, repositoryFactory, sortChildNodes);
 
                // nodes viewer
                nodesViewer = createNodeViewer(top, nodeContentProvider);
@@ -320,4 +322,8 @@ public class GenericJcrBrowser extends AbstractJcrBrowser {
                this.jcrKeyring = jcrKeyring;
        }
 
+       public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
+               this.repositoryFactory = repositoryFactory;
+       }
+
 }