X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fjcr%2Fmodel%2FWorkspaceElem.java;h=24fc5758d50a3b988f1941a41d4d55dfc384f6d2;hb=d88053118372f24ad180c88084f74f4ff683701d;hp=45cda80ee59c79f039807a560987506d338dae7d;hpb=2d5dd10f58c42aab9351c76801c57034cbe87f8e;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/WorkspaceElem.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/WorkspaceElem.java index 45cda80ee..24fc5758d 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/WorkspaceElem.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/WorkspaceElem.java @@ -1,20 +1,6 @@ -/* - * Copyright (C) 2007-2012 Argeo GmbH - * - * 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.cms.ui.jcr.model; +import javax.jcr.AccessDeniedException; import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; @@ -55,8 +41,7 @@ public class WorkspaceElem extends TreeParent { else return null; } catch (RepositoryException e) { - throw new EclipseUiException("Cannot get root node of workspace " - + getName(), e); + throw new EclipseUiException("Cannot get root node of workspace " + getName(), e); } } @@ -64,8 +49,7 @@ public class WorkspaceElem extends TreeParent { try { session = ((RepositoryElem) getParent()).repositoryLogin(getName()); } catch (RepositoryException e) { - throw new EclipseUiException("Cannot connect to repository " - + getName(), e); + throw new EclipseUiException("Cannot connect to repository " + getName(), e); } } @@ -93,13 +77,16 @@ public class WorkspaceElem extends TreeParent { public synchronized boolean hasChildren() { try { if (isConnected()) - return session.getRootNode().hasNodes(); + try { + return session.getRootNode().hasNodes(); + } catch (AccessDeniedException e) { + // current user may not have access to the root node + return false; + } else return false; } catch (RepositoryException re) { - throw new EclipseUiException( - "Unexpected error while checking children node existence", - re); + throw new EclipseUiException("Unexpected error while checking children node existence", re); } } @@ -123,9 +110,7 @@ public class WorkspaceElem extends TreeParent { } return super.getChildren(); } catch (RepositoryException e) { - throw new EclipseUiException( - "Cannot initialize WorkspaceNode UI object." - + getName(), e); + throw new EclipseUiException("Cannot initialize WorkspaceNode UI object." + getName(), e); } } }