]> git.argeo.org Git - lgpl/argeo-commons.git/blob - server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodeEditor.java
Deprecate TreeObject (not used anywhere anymore)
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / editors / GenericNodeEditor.java
1 package org.argeo.jcr.ui.explorer.editors;
2
3 import javax.jcr.Node;
4
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;
13
14 /**
15 *
16 * Container for the node editor page. At creation time, it takes a JCR Node
17 * that cannot be changed afterwards.
18 *
19 */
20 public class GenericNodeEditor extends FormEditor {
21
22 // private final static Log log =
23 // LogFactory.getLog(GenericNodeEditor.class);
24 public final static String ID = JcrExplorerPlugin.ID + ".genericNodeEditor";
25
26 private Node currentNode;
27
28 private GenericNodePage genericNodePage;
29 private GenericPropertyPage genericPropertyPage;
30 private ChildNodesPage childNodesPage;
31 private NodeRightsManagementPage nodeRightsManagementPage;
32 private NodeVersionHistoryPage nodeVersionHistoryPage;
33
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()));
40 }
41
42 @Override
43 protected void addPages() {
44 try {
45 // genericNodePage = new GenericNodePage(this,
46 // JcrExplorerPlugin.getMessage("genericNodePageTitle"),
47 // currentNode);
48 // addPage(genericNodePage);
49
50 genericPropertyPage = new GenericPropertyPage(this,
51 JcrExplorerPlugin.getMessage("genericNodePageTitle"),
52 currentNode);
53 addPage(genericPropertyPage);
54
55 childNodesPage = new ChildNodesPage(this,
56 JcrExplorerPlugin.getMessage("childNodesPageTitle"),
57 currentNode);
58 addPage(childNodesPage);
59
60 nodeRightsManagementPage = new NodeRightsManagementPage(this,
61 JcrExplorerPlugin
62 .getMessage("nodeRightsManagementPageTitle"),
63 currentNode);
64 addPage(nodeRightsManagementPage);
65
66 nodeVersionHistoryPage = new NodeVersionHistoryPage(
67 this,
68 JcrExplorerPlugin.getMessage("nodeVersionHistoryPageTitle"),
69 currentNode);
70 addPage(nodeVersionHistoryPage);
71 } catch (PartInitException e) {
72 throw new ArgeoException("Not able to add an empty page ", e);
73 }
74 }
75
76 @Override
77 public void doSaveAs() {
78 // unused compulsory method
79 }
80
81 @Override
82 public void doSave(IProgressMonitor monitor) {
83 try {
84 // Automatically commit all pages of the editor
85 commitPages(true);
86 firePropertyChange(PROP_DIRTY);
87 } catch (Exception e) {
88 throw new ArgeoException("Error while saving node", e);
89 }
90
91 }
92
93 @Override
94 public boolean isSaveAsAllowed() {
95 return true;
96 }
97
98 Node getCurrentNode() {
99 return currentNode;
100 }
101 }