1 package org
.argeo
.jcr
.ui
.explorer
.editors
;
5 import org
.argeo
.ArgeoException
;
6 import org
.argeo
.jcr
.JcrUtils
;
7 import org
.argeo
.jcr
.ui
.explorer
.JcrExplorerPlugin
;
8 import org
.eclipse
.core
.runtime
.IProgressMonitor
;
9 import org
.eclipse
.ui
.IEditorInput
;
10 import org
.eclipse
.ui
.IEditorSite
;
11 import org
.eclipse
.ui
.PartInitException
;
12 import org
.eclipse
.ui
.forms
.editor
.FormEditor
;
15 * Container for the node editor page. At creation time, it takes a JCR Node
16 * that cannot be changed afterwards.
18 public class GenericNodeEditor
extends FormEditor
{
20 // private final static Log log =
21 // LogFactory.getLog(GenericNodeEditor.class);
22 public final static String ID
= JcrExplorerPlugin
.ID
+ ".genericNodeEditor";
24 private Node currentNode
;
26 private GenericPropertyPage genericPropertyPage
;
27 private ChildNodesPage childNodesPage
;
28 private NodeRightsManagementPage nodeRightsManagementPage
;
29 private NodeVersionHistoryPage nodeVersionHistoryPage
;
31 public void init(IEditorSite site
, IEditorInput input
)
32 throws PartInitException
{
33 super.init(site
, input
);
34 GenericNodeEditorInput nei
= (GenericNodeEditorInput
) getEditorInput();
35 currentNode
= nei
.getCurrentNode();
36 this.setPartName(JcrUtils
.lastPathElement(nei
.getPath()));
40 protected void addPages() {
42 // genericNodePage = new GenericNodePage(this,
43 // JcrExplorerPlugin.getMessage("genericNodePageTitle"),
45 // addPage(genericNodePage);
47 genericPropertyPage
= new GenericPropertyPage(this,
48 JcrExplorerPlugin
.getMessage("genericNodePageTitle"),
50 addPage(genericPropertyPage
);
52 childNodesPage
= new ChildNodesPage(this,
53 JcrExplorerPlugin
.getMessage("childNodesPageTitle"),
55 addPage(childNodesPage
);
57 nodeRightsManagementPage
= new NodeRightsManagementPage(this,
59 .getMessage("nodeRightsManagementPageTitle"),
61 addPage(nodeRightsManagementPage
);
63 nodeVersionHistoryPage
= new NodeVersionHistoryPage(
65 JcrExplorerPlugin
.getMessage("nodeVersionHistoryPageTitle"),
67 addPage(nodeVersionHistoryPage
);
68 } catch (PartInitException e
) {
69 throw new ArgeoException("Not able to add an empty page ", e
);
74 public void doSaveAs() {
75 // unused compulsory method
79 public void doSave(IProgressMonitor monitor
) {
81 // Automatically commit all pages of the editor
83 firePropertyChange(PROP_DIRTY
);
84 } catch (Exception e
) {
85 throw new ArgeoException("Error while saving node", e
);
91 public boolean isSaveAsAllowed() {
95 Node
getCurrentNode() {