From f8040c479e5c098c9ef1809baefd05c00dccdc63 Mon Sep 17 00:00:00 2001 From: Bruno Sinou Date: Mon, 26 Sep 2011 15:59:48 +0000 Subject: [PATCH] Some refactoring of the model and of command handling. git-svn-id: https://svn.argeo.org/commons/trunk@4753 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../commands/OpenGenericJcrQueryEditor.java | 2 +- .../META-INF/MANIFEST.MF | 1 + .../plugin.properties | 2 + .../org.argeo.jcr.ui.explorer/plugin.xml | 146 ++++++++++++++---- .../explorer/browser/NodeContentProvider.java | 5 +- .../ui/explorer/commands/AddFolderNode.java | 68 +++++--- .../commands/AddRemoteRepository.java | 3 - .../jcr/ui/explorer/commands/DeleteNodes.java | 4 + .../jcr/ui/explorer/commands/GetNodeSize.java | 72 ++++++--- .../commands/OpenGenericNodeEditor.java | 3 +- .../ui/explorer/editors/ChildNodesPage.java | 4 +- .../ui/explorer/editors/EmptyNodePage.java | 4 +- .../editors/GenericJcrQueryEditor.java | 3 +- .../explorer/editors/GenericNodeEditor.java | 7 +- .../ui/explorer/editors/GenericNodePage.java | 11 +- .../editors/NodeRightsManagementPage.java | 14 +- .../editors/NodeVersionHistoryPage.java | 12 +- .../ui/explorer/model/RepositoriesNode.java | 3 - .../FullVersioningTreeContentProvider.java | 5 +- .../utils/GenericNodeDoubleClickListener.java | 12 +- .../ui/explorer/views/GenericJcrBrowser.java | 54 ++----- .../argeo/jcr/ui/explorer/messages.properties | 1 + 22 files changed, 269 insertions(+), 167 deletions(-) rename {server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer => eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr}/commands/OpenGenericJcrQueryEditor.java (95%) create mode 100644 server/plugins/org.argeo.jcr.ui.explorer/plugin.properties diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericJcrQueryEditor.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/OpenGenericJcrQueryEditor.java similarity index 95% rename from server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericJcrQueryEditor.java rename to eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/OpenGenericJcrQueryEditor.java index 177dfd28c..116974706 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericJcrQueryEditor.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/commands/OpenGenericJcrQueryEditor.java @@ -1,4 +1,4 @@ -package org.argeo.jcr.ui.explorer.commands; +package org.argeo.eclipse.ui.jcr.commands; import org.argeo.eclipse.ui.jcr.editors.JcrQueryEditorInput; import org.eclipse.core.commands.AbstractHandler; diff --git a/server/plugins/org.argeo.jcr.ui.explorer/META-INF/MANIFEST.MF b/server/plugins/org.argeo.jcr.ui.explorer/META-INF/MANIFEST.MF index e67562c11..bea753bab 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/META-INF/MANIFEST.MF +++ b/server/plugins/org.argeo.jcr.ui.explorer/META-INF/MANIFEST.MF @@ -4,6 +4,7 @@ Bundle-Name: JCR Explorer Bundle-SymbolicName: org.argeo.jcr.ui.explorer;singleton:=true Bundle-Version: 0.3.4.SNAPSHOT Bundle-Activator: org.argeo.jcr.ui.explorer.JcrExplorerPlugin +Bundle-Localization: plugin Bundle-Vendor: Argeo Require-Bundle: org.eclipse.ui;resolution:=optional, org.eclipse.core.runtime;resolution:=optional, diff --git a/server/plugins/org.argeo.jcr.ui.explorer/plugin.properties b/server/plugins/org.argeo.jcr.ui.explorer/plugin.properties new file mode 100644 index 000000000..6dff863e6 --- /dev/null +++ b/server/plugins/org.argeo.jcr.ui.explorer/plugin.properties @@ -0,0 +1,2 @@ +## commands label +addNewFolderCmdLbl=Add folder \ No newline at end of file diff --git a/server/plugins/org.argeo.jcr.ui.explorer/plugin.xml b/server/plugins/org.argeo.jcr.ui.explorer/plugin.xml index 27a5d3d2c..358d5590d 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/plugin.xml +++ b/server/plugins/org.argeo.jcr.ui.explorer/plugin.xml @@ -78,7 +78,7 @@ + name="Create the new folder"> + + - - - + locationURI="menu:org.argeo.jcr.ui.explorer.browserView"> + + + - - - - - - - - + locationURI="menu:org.argeo.jcr.ui.explorer.browserView"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1) - ErrorFeedback.show(JcrExplorerPlugin - .getMessage("warningInvalidMultipleSelection"), null); + // IStructuredSelection iss = (IStructuredSelection) selection; + // if (iss.size() > 1) + // ErrorFeedback.show(JcrExplorerPlugin + // .getMessage("warningInvalidMultipleSelection"), null); long size = 0; - Node node; - if (iss.getFirstElement() instanceof SingleJcrNode) - node = ((SingleJcrNode) iss.getFirstElement()).getNode(); - else if (iss.getFirstElement() instanceof WorkspaceNode) - node = ((WorkspaceNode) iss.getFirstElement()).getRootNode(); - else - // unvalid object type - return null; - size = JcrUtils.getNodeApproxSize(node); + Iterator it = ((IStructuredSelection) selection).iterator(); + + // as the size method is recursive, we keep track of nodes for which + // we already have computed size so that we don't count them twice. + // In a first approximation, we assume that the structure selection + // keep the nodes ordered. + // TODO : enhance that. + List importedPathes = new ArrayList(); + try { + nodesIt: while (it.hasNext()) { + Object obj = it.next(); + String curPath; + Node node; + if (obj instanceof SingleJcrNode) { + node = ((SingleJcrNode) obj).getNode(); + curPath = node.getSession().getWorkspace().getName(); + curPath += "/" + node.getPath(); + } else if (obj instanceof WorkspaceNode) { + node = ((WorkspaceNode) obj).getRootNode(); + curPath = node.getSession().getWorkspace().getName(); + } else + // unvalid object type + continue nodesIt; + + Iterator itPath = importedPathes.iterator(); + while (itPath.hasNext()) { + String refPath = itPath.next(); + if (curPath.startsWith(refPath)) + // Already done : skip node + continue nodesIt; + } + size += JcrUtils.getNodeApproxSize(node); + importedPathes.add(curPath); + } + } catch (Exception e) { + ErrorFeedback.show("Cannot Get size of selected node ", e); + } String[] labels = { "OK" }; Shell shell = HandlerUtil.getActiveWorkbenchWindow(event) diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericNodeEditor.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericNodeEditor.java index 076e207c6..fb9264ee4 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericNodeEditor.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/commands/OpenGenericNodeEditor.java @@ -3,6 +3,7 @@ package org.argeo.jcr.ui.explorer.commands; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.jcr.editors.NodeEditorInput; import org.argeo.jcr.ui.explorer.JcrExplorerConstants; +import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; import org.argeo.jcr.ui.explorer.editors.GenericNodeEditor; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; @@ -11,7 +12,7 @@ import org.eclipse.ui.handlers.HandlerUtil; /** Opens the generic node editor. */ public class OpenGenericNodeEditor extends AbstractHandler { - public final static String ID = "org.argeo.jcr.ui.explorer.openGenericNodeEditor"; + public final static String ID = JcrExplorerPlugin.ID + ".openGenericNodeEditor"; public Object execute(ExecutionEvent event) throws ExecutionException { String path = event.getParameter(JcrExplorerConstants.PARAM_PATH); diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/ChildNodesPage.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/ChildNodesPage.java index 175c06dba..6f4a2347e 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/ChildNodesPage.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/ChildNodesPage.java @@ -2,8 +2,6 @@ package org.argeo.jcr.ui.explorer.editors; import javax.jcr.Node; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; import org.argeo.jcr.ui.explorer.browser.NodeLabelProvider; @@ -25,7 +23,7 @@ import org.eclipse.ui.forms.widgets.ScrolledForm; * accross the repository */ public class ChildNodesPage extends FormPage { - private final static Log log = LogFactory.getLog(ChildNodesPage.class); + // private final static Log log = LogFactory.getLog(ChildNodesPage.class); // business objects private Node currentNode; diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/EmptyNodePage.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/EmptyNodePage.java index b9f20b9cf..943bbe4c8 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/EmptyNodePage.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/EmptyNodePage.java @@ -1,7 +1,5 @@ package org.argeo.jcr.ui.explorer.editors; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Label; @@ -15,7 +13,7 @@ import org.eclipse.ui.forms.widgets.ScrolledForm; * yet been set */ public class EmptyNodePage extends FormPage { - private final static Log log = LogFactory.getLog(EmptyNodePage.class); + // private final static Log log = LogFactory.getLog(EmptyNodePage.class); public EmptyNodePage(FormEditor editor, String title) { super(editor, "Empty Page", title); diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericJcrQueryEditor.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericJcrQueryEditor.java index 5a31d923e..fac3f9a14 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericJcrQueryEditor.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericJcrQueryEditor.java @@ -1,6 +1,7 @@ package org.argeo.jcr.ui.explorer.editors; import org.argeo.eclipse.ui.jcr.editors.AbstractJcrQueryEditor; +import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -12,7 +13,7 @@ import org.eclipse.swt.widgets.Text; /** Enables end user to type and execute any JCR query. */ public class GenericJcrQueryEditor extends AbstractJcrQueryEditor { - public final static String ID = "org.argeo.jcr.ui.explorer.genericJcrQueryEditor"; + public final static String ID = JcrExplorerPlugin.ID + ".genericJcrQueryEditor"; private Text queryField; diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodeEditor.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodeEditor.java index f7e57c6cb..422c6881e 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodeEditor.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodeEditor.java @@ -2,8 +2,6 @@ package org.argeo.jcr.ui.explorer.editors; import javax.jcr.Node; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.jcr.JcrUtils; import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; @@ -21,8 +19,9 @@ import org.eclipse.ui.forms.editor.FormEditor; */ public class GenericNodeEditor extends FormEditor { - private final static Log log = LogFactory.getLog(GenericNodeEditor.class); - public final static String ID = "org.argeo.jcr.ui.explorer.genericNodeEditor"; + // private final static Log log = + // LogFactory.getLog(GenericNodeEditor.class); + public final static String ID = JcrExplorerPlugin.ID + ".genericNodeEditor"; private Node currentNode; diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodePage.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodePage.java index ca9d96992..975e6664e 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodePage.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/GenericNodePage.java @@ -13,8 +13,6 @@ import javax.jcr.PropertyIterator; import javax.jcr.PropertyType; import javax.jcr.RepositoryException; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.jcr.JcrUtils; import org.argeo.jcr.ui.explorer.JcrExplorerConstants; @@ -24,7 +22,6 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.forms.AbstractFormPart; import org.eclipse.ui.forms.IManagedForm; @@ -39,7 +36,7 @@ import org.eclipse.ui.forms.widgets.ScrolledForm; */ public class GenericNodePage extends FormPage implements JcrExplorerConstants { - private final static Log log = LogFactory.getLog(GenericNodePage.class); + // private final static Log log = LogFactory.getLog(GenericNodePage.class); // local constants private final static String JCR_PROPERTY_NAME = "jcr:name"; @@ -118,12 +115,12 @@ public class GenericNodePage extends FormPage implements JcrExplorerConstants { private void addPropertyLine(Composite parent, AbstractFormPart part, Property prop) { try { - Label lbl = tk.createLabel(parent, prop.getName()); - lbl = tk.createLabel(parent, + tk.createLabel(parent, prop.getName()); + tk.createLabel(parent, "[" + JcrUtils.getPropertyDefinitionAsString(prop) + "]"); if (prop.getDefinition().isProtected()) { - lbl = tk.createLabel(parent, formatReadOnlyPropertyValue(prop)); + tk.createLabel(parent, formatReadOnlyPropertyValue(prop)); } else addModifyableValueWidget(parent, part, prop); } catch (RepositoryException re) { diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeRightsManagementPage.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeRightsManagementPage.java index 485264b13..e5c1752bb 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeRightsManagementPage.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeRightsManagementPage.java @@ -2,8 +2,6 @@ package org.argeo.jcr.ui.explorer.editors; import javax.jcr.Node; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Label; @@ -13,14 +11,16 @@ import org.eclipse.ui.forms.editor.FormPage; import org.eclipse.ui.forms.widgets.ScrolledForm; /** - * This comments will be nicely fill by mbaudier in. + * This comments will be nicely fill by mbaudier in. */ public class NodeRightsManagementPage extends FormPage { - private final static Log log = LogFactory.getLog(NodeRightsManagementPage.class); - + // private final static Log log = + // LogFactory.getLog(NodeRightsManagementPage.class); private Node currentNode; - public NodeRightsManagementPage(FormEditor editor, String title, Node currentNode) { + + public NodeRightsManagementPage(FormEditor editor, String title, + Node currentNode) { super(editor, "NodeRightsManagementPage", title); this.currentNode = currentNode; } @@ -32,7 +32,7 @@ public class NodeRightsManagementPage extends FormPage { twt.marginWidth = twt.marginHeight = 0; form.getBody().setLayout(twt); Label lbl = new Label(form.getBody(), SWT.NONE); - lbl.setText("Implement this"); + lbl.setText("Implement this for node " + currentNode.getPath()); } catch (Exception e) { e.printStackTrace(); } diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeVersionHistoryPage.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeVersionHistoryPage.java index bd8265ce9..5b5e6ff1e 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeVersionHistoryPage.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/NodeVersionHistoryPage.java @@ -18,8 +18,6 @@ import javax.jcr.version.VersionHistory; import javax.jcr.version.VersionIterator; import javax.jcr.version.VersionManager; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.jcr.JcrUtils; import org.argeo.jcr.PropertyDiff; @@ -53,8 +51,8 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout; * */ public class NodeVersionHistoryPage extends FormPage implements JcrExplorerConstants { - private final static Log log = LogFactory - .getLog(NodeVersionHistoryPage.class); + // private final static Log log = LogFactory + // .getLog(NodeVersionHistoryPage.class); // Utils protected DateFormat timeFormatter = new SimpleDateFormat(DATE_TIME_FORMAT); @@ -189,9 +187,9 @@ public class NodeVersionHistoryPage extends FormPage implements StringBuffer buf = new StringBuffer(""); Map diffs = lst.get(i).getDiffs(); - props: for (String prop : diffs.keySet()) { + for (String prop : diffs.keySet()) { PropertyDiff pd = diffs.get(prop); - String propName = pd.getRelPath(); + // String propName = pd.getRelPath(); Value refValue = pd.getReferenceValue(); Value newValue = pd.getNewValue(); String refValueStr = ""; @@ -282,7 +280,7 @@ public class NodeVersionHistoryPage extends FormPage implements Property.JCR_CREATED).getDate(); } catch (Exception e) { - // Silent that info is optionnal + // Silent that info is optional } VersionDiff vd = new VersionDiff(lastUserName, lastUpdate, diffs); diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java index 559c8aa73..83a1f5898 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/model/RepositoriesNode.java @@ -20,13 +20,11 @@ import org.argeo.jcr.RepositoryRegister; */ public class RepositoriesNode extends TreeParent { - private final String name; private final RepositoryRegister repositoryRegister; public RepositoriesNode(String name, RepositoryRegister repositoryRegister, TreeParent parent) { super(name); - this.name = name; this.repositoryRegister = repositoryRegister; } @@ -61,5 +59,4 @@ public class RepositoriesNode extends TreeParent { public RepositoryRegister getRepositoryRegister() { return repositoryRegister; } - } diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/providers/FullVersioningTreeContentProvider.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/providers/FullVersioningTreeContentProvider.java index e89f16e29..70fe774f6 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/providers/FullVersioningTreeContentProvider.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/providers/FullVersioningTreeContentProvider.java @@ -12,7 +12,6 @@ import javax.jcr.version.VersionIterator; import javax.jcr.version.VersionManager; import org.argeo.ArgeoException; -import org.argeo.jcr.ui.explorer.browser.ItemComparator; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; @@ -23,7 +22,7 @@ import org.eclipse.jface.viewers.Viewer; */ public class FullVersioningTreeContentProvider implements ITreeContentProvider { // private Node rootNode; - private ItemComparator itemComparator = new ItemComparator(); + // private ItemComparator itemComparator = new ItemComparator(); /** * Sends back the first level of the Tree. input element must be a single @@ -56,8 +55,6 @@ public class FullVersioningTreeContentProvider implements ITreeContentProvider { List tmp = new ArrayList(); tmp.add(((Version) parentElement).getFrozenNode()); return tmp.toArray(); - // Node node = ((Version) parentElement).getFrozenNode(); - // return new Object[] { node }; } } catch (RepositoryException re) { throw new ArgeoException("Unexpected error while getting child " diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/GenericNodeDoubleClickListener.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/GenericNodeDoubleClickListener.java index 85d229d44..f97e1b579 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/GenericNodeDoubleClickListener.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/GenericNodeDoubleClickListener.java @@ -4,8 +4,6 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.specific.FileHandler; import org.argeo.jcr.ui.explorer.JcrExplorerPlugin; @@ -17,7 +15,6 @@ import org.argeo.jcr.ui.explorer.model.WorkspaceNode; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.ui.PartInitException; @@ -26,8 +23,8 @@ import org.eclipse.ui.PartInitException; */ public class GenericNodeDoubleClickListener implements IDoubleClickListener { - private final static Log log = LogFactory - .getLog(GenericNodeDoubleClickListener.class); + // private final static Log log = LogFactory + // .getLog(GenericNodeDoubleClickListener.class); private TreeViewer nodeViewer; private JcrFileProvider jfp; @@ -67,8 +64,9 @@ public class GenericNodeDoubleClickListener implements IDoubleClickListener { // various // repository. // TODO : enhanced that. - ITreeContentProvider itcp = (ITreeContentProvider) nodeViewer - .getContentProvider(); + // ITreeContentProvider itcp = (ITreeContentProvider) + // nodeViewer + // .getContentProvider(); // jfp.setRootNodes((Object[]) itcp.getElements(null)); fileHandler.openFile(name, id); } diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java index 484a2d42c..ee28eb863 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/views/GenericJcrBrowser.java @@ -12,14 +12,11 @@ import javax.jcr.observation.Event; import javax.jcr.observation.EventListener; import javax.jcr.observation.ObservationManager; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.TreeParent; import org.argeo.eclipse.ui.jcr.AsyncUiEventListener; import org.argeo.eclipse.ui.jcr.utils.NodeViewerComparer; import org.argeo.eclipse.ui.jcr.views.AbstractJcrBrowser; -import org.argeo.eclipse.ui.specific.FileHandler; import org.argeo.jcr.ArgeoJcrConstants; import org.argeo.jcr.JcrUtils; import org.argeo.jcr.RepositoryRegister; @@ -28,7 +25,6 @@ import org.argeo.jcr.ui.explorer.browser.NodeLabelProvider; import org.argeo.jcr.ui.explorer.browser.PropertiesContentProvider; import org.argeo.jcr.ui.explorer.model.SingleJcrNode; import org.argeo.jcr.ui.explorer.utils.GenericNodeDoubleClickListener; -import org.argeo.jcr.ui.explorer.utils.JcrFileProvider; import org.argeo.jcr.ui.explorer.utils.JcrUiUtils; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.viewers.ColumnLabelProvider; @@ -55,7 +51,8 @@ import org.eclipse.swt.widgets.Menu; */ public class GenericJcrBrowser extends AbstractJcrBrowser { - private final static Log log = LogFactory.getLog(GenericJcrBrowser.class); + // private final static Log log = + // LogFactory.getLog(GenericJcrBrowser.class); /* DEPENDENCY INJECTION */ private Session session; @@ -68,8 +65,9 @@ public class GenericJcrBrowser extends AbstractJcrBrowser { private EventListener resultsObserver; // Manage documents - private JcrFileProvider jcrFileProvider; - private FileHandler fileHandler; + // private JcrFileProvider jcrFileProvider; + + // private FileHandler fileHandler; @Override public void createPartControl(Composite parent) { @@ -93,8 +91,8 @@ public class GenericJcrBrowser extends AbstractJcrBrowser { // both RCP & RAP // Note that in RAP, it registers a service handler that provide the // access to the files. - jcrFileProvider = new JcrFileProvider(); - fileHandler = new FileHandler(jcrFileProvider); + // jcrFileProvider = new JcrFileProvider(); + // fileHandler = new FileHandler(jcrFileProvider); parent.setLayout(new FillLayout()); SashForm sashForm = new SashForm(parent, SWT.VERTICAL); @@ -112,9 +110,10 @@ public class GenericJcrBrowser extends AbstractJcrBrowser { // nodes viewer nodesViewer = createNodeViewer(top, nodeContentProvider); - // context menu + // context menu : it is completely defined in the plugin.xml file. MenuManager menuManager = new MenuManager(); Menu menu = menuManager.createContextMenu(nodesViewer.getTree()); + nodesViewer.getTree().setMenu(menu); getSite().registerContextMenu(menuManager, nodesViewer); getSite().setSelectionProvider(nodesViewer); @@ -189,41 +188,6 @@ public class GenericJcrBrowser extends AbstractJcrBrowser { return new int[] { 70, 30 }; } - // @Override - // public void setFocus() { - // nodesViewer.getTree().setFocus(); - // } - // - // /* - // * NOTIFICATION - // */ - // public void refresh(Object obj) { - // nodesViewer.refresh(obj); - // } - // - // public void nodeAdded(Node parentNode, Node newNode) { - // nodesViewer.refresh(parentNode); - // nodesViewer.expandToLevel(newNode, 0); - // } - // - // public void nodeRemoved(Node parentNode) { - // - // IStructuredSelection newSel = new StructuredSelection(parentNode); - // nodesViewer.setSelection(newSel, true); - // // Force refresh - // IStructuredSelection tmpSel = (IStructuredSelection) nodesViewer - // .getSelection(); - // nodesViewer.refresh(tmpSel.getFirstElement()); - // } - - // private JcrFileProvider getJcrFileProvider() { - // return jcrFileProvider; - // } - // - // private FileHandler getFileHandler() { - // return fileHandler; - // } - protected TreeViewer createNodeViewer(Composite parent, final ITreeContentProvider nodeContentProvider) { diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/resources/org/argeo/jcr/ui/explorer/messages.properties b/server/plugins/org.argeo.jcr.ui.explorer/src/main/resources/org/argeo/jcr/ui/explorer/messages.properties index 60f9f2f11..9fd9db10d 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/resources/org/argeo/jcr/ui/explorer/messages.properties +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/resources/org/argeo/jcr/ui/explorer/messages.properties @@ -11,6 +11,7 @@ warningNoChildNode= Warning: current node has no children. ## Commands getNodeSizeCmdLbl= Get approx. size +addFolderNodeCmdLbl= Add Folder ## GenericNodeEditor nodeEditorLbl=Generic node editor -- 2.30.2