import javax.jcr.security.AccessControlManager;
import javax.jcr.security.Privilege;
-import org.argeo.ArgeoException;
+import org.argeo.eclipse.ui.EclipseUiException;
import org.argeo.eclipse.ui.workbench.WorkbenchUiPlugin;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.ChildNodesPage;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.GenericNodeEditorInput;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.GenericPropertyPage;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.NodeRightsManagementPage;
-import org.argeo.eclipse.ui.workbench.jcr.internal.parts.NodeVersionHistoryPage;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.ChildNodesPage;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.GenericNodeEditorInput;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.GenericNodePage;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.GenericPropertyPage;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.NodePrivilegesPage;
+import org.argeo.eclipse.ui.workbench.internal.jcr.parts.NodeVersionHistoryPage;
import org.argeo.jcr.JcrUtils;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.IEditorInput;
private Node currentNode;
+ private GenericNodePage genericNodePage;
private GenericPropertyPage genericPropertyPage;
private ChildNodesPage childNodesPage;
- private NodeRightsManagementPage nodeRightsManagementPage;
+ private NodePrivilegesPage nodeRightsManagementPage;
private NodeVersionHistoryPage nodeVersionHistoryPage;
public void init(IEditorSite site, IEditorInput input)
@Override
protected void addPages() {
try {
- // genericNodePage = new GenericNodePage(this,
- // JcrExplorerPlugin.getMessage("genericNodePageTitle"),
- // currentNode);
- // addPage(genericNodePage);
-
genericPropertyPage = new GenericPropertyPage(this,
WorkbenchUiPlugin.getMessage("genericNodePageTitle"),
currentNode);
.privilegeFromName(Privilege.JCR_READ_ACCESS_CONTROL));
if (accessControlManager.hasPrivileges(currentNode.getPath(),
privileges.toArray(new Privilege[0]))) {
- nodeRightsManagementPage = new NodeRightsManagementPage(this,
+ nodeRightsManagementPage = new NodePrivilegesPage(this,
WorkbenchUiPlugin
.getMessage("nodeRightsManagementPageTitle"),
currentNode);
addPage(nodeVersionHistoryPage);
}
+ privileges = new ArrayList<Privilege>();
+ privileges.add(accessControlManager
+ .privilegeFromName(Privilege.JCR_ALL));
+ if (accessControlManager.hasPrivileges(currentNode.getPath(),
+ privileges.toArray(new Privilege[0]))) {
+ genericNodePage = new GenericNodePage(this,
+ WorkbenchUiPlugin.getMessage("propertyEditorPageTitle"),
+ currentNode);
+ addPage(genericNodePage);
+ }
+
} catch (RepositoryException e) {
- throw new ArgeoException("Cannot get node info for " + currentNode,
+ throw new EclipseUiException("Cannot get node info for " + currentNode,
e);
} catch (PartInitException e) {
- throw new ArgeoException("Cannot add page " + "on node editor for "
+ throw new EclipseUiException("Cannot add page " + "on node editor for "
+ currentNode, e);
}
}
commitPages(true);
firePropertyChange(PROP_DIRTY);
} catch (Exception e) {
- throw new ArgeoException("Error while saving node", e);
+ throw new EclipseUiException("Error while saving node", e);
}
}