-/*
- * 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;
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);
}
}
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);
}
}
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);
}
}
}
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);
}
}
}