]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.eclipse.ui.workbench/src/org/argeo/eclipse/ui/workbench/jcr/DefaultNodeEditor.java
Reactivate experimental page to edit String properties.
[lgpl/argeo-commons.git] / org.argeo.eclipse.ui.workbench / src / org / argeo / eclipse / ui / workbench / jcr / DefaultNodeEditor.java
index 91a2cadecb1ae0349ecb60fe8a4f60b67fb2dc95..89c812d17f963e4ed42b412c466ecb83ec0ac383 100644 (file)
@@ -26,11 +26,12 @@ import javax.jcr.security.Privilege;
 
 import org.argeo.ArgeoException;
 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.NodePrivilegesPage;
-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;
@@ -48,6 +49,7 @@ public class DefaultNodeEditor extends FormEditor {
 
        private Node currentNode;
 
+       private GenericNodePage genericNodePage;
        private GenericPropertyPage genericPropertyPage;
        private ChildNodesPage childNodesPage;
        private NodePrivilegesPage nodeRightsManagementPage;
@@ -64,11 +66,6 @@ public class DefaultNodeEditor extends FormEditor {
        @Override
        protected void addPages() {
                try {
-                       // genericNodePage = new GenericNodePage(this,
-                       // JcrExplorerPlugin.getMessage("genericNodePageTitle"),
-                       // currentNode);
-                       // addPage(genericNodePage);
-
                        genericPropertyPage = new GenericPropertyPage(this,
                                        WorkbenchUiPlugin.getMessage("genericNodePageTitle"),
                                        currentNode);
@@ -100,6 +97,17 @@ public class DefaultNodeEditor extends FormEditor {
                                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,
                                        e);