X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=server%2Fplugins%2Forg.argeo.jcr.ui.explorer%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2Fui%2Fexplorer%2Fmodel%2FRepositoriesNode.java;h=975c87cba480d48f9414e46f647579e2e60e3ca9;hb=1d5afdce3e91054f07ddd3c98309c363b4cf1d46;hp=a645809a100051e67a0324039bbdf9eaacab3dec;hpb=43f16492d87ed567a7d332b205129016a3ef1dd7;p=lgpl%2Fargeo-commons.git diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java index a645809a1..975c87cba 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java @@ -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.model; import java.util.Hashtable; @@ -32,13 +47,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; } @@ -76,7 +94,7 @@ public class RepositoriesNode extends TreeParent implements ArgeoNames { throws RepositoryException { Session userSession = jcrKeyring.getSession(); Node userHome = JcrUtils.getUserHome(userSession); - if (userHome.hasNode(ARGEO_REMOTE)) { + if (userHome != null && userHome.hasNode(ARGEO_REMOTE)) { NodeIterator it = userHome.getNode(ARGEO_REMOTE).getNodes(); while (it.hasNext()) { Node remoteNode = it.nextNode(); @@ -86,7 +104,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,