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
;
16 * Container for the node editor page. At creation time, it takes a JCR Node
17 * that cannot be changed afterwards.
20 public class GenericNodeEditor
extends FormEditor
{
22 // private final static Log log =
23 // LogFactory.getLog(GenericNodeEditor.class);
24 public final static String ID
= JcrExplorerPlugin
.ID
+ ".genericNodeEditor";
26 private Node currentNode
;
28 private GenericNodePage genericNodePage
;
29 private GenericPropertyPage genericPropertyPage
;
30 private ChildNodesPage childNodesPage
;
31 private NodeRightsManagementPage nodeRightsManagementPage
;
32 private NodeVersionHistoryPage nodeVersionHistoryPage
;
34 public void init(IEditorSite site
, IEditorInput input
)
35 throws PartInitException
{
36 super.init(site
, input
);
37 GenericNodeEditorInput nei
= (GenericNodeEditorInput
) getEditorInput();
38 currentNode
= nei
.getCurrentNode();
39 this.setPartName(JcrUtils
.lastPathElement(nei
.getPath()));
43 protected void addPages() {
45 // genericNodePage = new GenericNodePage(this,
46 // JcrExplorerPlugin.getMessage("genericNodePageTitle"),
48 // addPage(genericNodePage);
50 genericPropertyPage
= new GenericPropertyPage(this,
51 JcrExplorerPlugin
.getMessage("genericNodePageTitle"),
53 addPage(genericPropertyPage
);
55 childNodesPage
= new ChildNodesPage(this,
56 JcrExplorerPlugin
.getMessage("childNodesPageTitle"),
58 addPage(childNodesPage
);
60 nodeRightsManagementPage
= new NodeRightsManagementPage(this,
62 .getMessage("nodeRightsManagementPageTitle"),
64 addPage(nodeRightsManagementPage
);
66 nodeVersionHistoryPage
= new NodeVersionHistoryPage(
68 JcrExplorerPlugin
.getMessage("nodeVersionHistoryPageTitle"),
70 addPage(nodeVersionHistoryPage
);
71 } catch (PartInitException e
) {
72 throw new ArgeoException("Not able to add an empty page ", e
);
77 public void doSaveAs() {
78 // unused compulsory method
82 public void doSave(IProgressMonitor monitor
) {
84 // Automatically commit all pages of the editor
86 firePropertyChange(PROP_DIRTY
);
87 } catch (Exception e
) {
88 throw new ArgeoException("Error while saving node", e
);
94 public boolean isSaveAsAllowed() {
98 Node
getCurrentNode() {