]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/editors/ChildNodesPage.java
First implementation of the version page of the generic node editor
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / editors / ChildNodesPage.java
index 58f4166e3734bb253960f7ca54c5219e2cf46e89..175c06dba0cd3c882f0cb6748138ae8040b74f7a 100644 (file)
@@ -4,8 +4,10 @@ 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;
-import org.argeo.jcr.ui.explorer.browser.SingleNodeAsTreeContentProvider;
+import org.argeo.jcr.ui.explorer.providers.SingleNodeAsTreeContentProvider;
 import org.argeo.jcr.ui.explorer.utils.GenericNodeDoubleClickListener;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -44,12 +46,18 @@ public class ChildNodesPage extends FormPage {
                        GridLayout twt = new GridLayout(1, false);
                        twt.marginWidth = twt.marginHeight = 0;
                        body.setLayout(twt);
+                       if (!currentNode.hasNodes()) {
+                               managedForm.getToolkit().createLabel(body,
+                                               JcrExplorerPlugin.getMessage("warningNoChildNode"));
+                       } else {
 
-                       nodeContentProvider = new SingleNodeAsTreeContentProvider();
-                       nodesViewer = createNodeViewer(body, nodeContentProvider);
-                       nodesViewer.setInput(currentNode);
+                               nodeContentProvider = new SingleNodeAsTreeContentProvider();
+                               nodesViewer = createNodeViewer(body, nodeContentProvider);
+                               nodesViewer.setInput(currentNode);
+                       }
                } catch (Exception e) {
-                       e.printStackTrace();
+                       throw new ArgeoException(
+                                       "Unexpected error while creating child node page", e);
                }
        }