]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java
Working UUID factory
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / eclipse / ui / jcr / DefaultNodeLabelProvider.java
1 package org.argeo.eclipse.ui.jcr;
2
3 import javax.jcr.Node;
4 import javax.jcr.Property;
5 import javax.jcr.RepositoryException;
6 import javax.jcr.nodetype.NodeType;
7
8 import org.argeo.eclipse.ui.EclipseUiException;
9 import org.eclipse.jface.viewers.ColumnLabelProvider;
10 import org.eclipse.swt.graphics.Image;
11
12 /**
13 * Default label provider to manage node and corresponding UI objects. It
14 * provides reasonable overwrite-able default for known JCR types.
15 */
16 public class DefaultNodeLabelProvider extends ColumnLabelProvider {
17 private static final long serialVersionUID = 1216182332792151235L;
18
19 public String getText(Object element) {
20 try {
21 if (element instanceof Node) {
22 return getText((Node) element);
23 } else if (element instanceof WrappedNode) {
24 return getText(((WrappedNode) element).getNode());
25 } else if (element instanceof NodesWrapper) {
26 return getText(((NodesWrapper) element).getNode());
27 }
28 return super.getText(element);
29 } catch (RepositoryException e) {
30 throw new EclipseUiException("Cannot get text for of " + element, e);
31 }
32 }
33
34 protected String getText(Node node) throws RepositoryException {
35 if (node.isNodeType(NodeType.MIX_TITLE)
36 && node.hasProperty(Property.JCR_TITLE))
37 return node.getProperty(Property.JCR_TITLE).getString();
38 else
39 return node.getName();
40 }
41
42 @Override
43 public Image getImage(Object element) {
44 try {
45 if (element instanceof Node) {
46 return getImage((Node) element);
47 } else if (element instanceof WrappedNode) {
48 return getImage(((WrappedNode) element).getNode());
49 } else if (element instanceof NodesWrapper) {
50 return getImage(((NodesWrapper) element).getNode());
51 }
52 } catch (RepositoryException e) {
53 throw new EclipseUiException("Cannot retrieve image for " + element, e);
54 }
55 return super.getImage(element);
56 }
57
58 protected Image getImage(Node node) throws RepositoryException {
59 // FIXME who uses that?
60 return null;
61 }
62
63 @Override
64 public String getToolTipText(Object element) {
65 try {
66 if (element instanceof Node) {
67 return getToolTipText((Node) element);
68 } else if (element instanceof WrappedNode) {
69 return getToolTipText(((WrappedNode) element).getNode());
70 } else if (element instanceof NodesWrapper) {
71 return getToolTipText(((NodesWrapper) element).getNode());
72 }
73 } catch (RepositoryException e) {
74 throw new EclipseUiException("Cannot get tooltip for " + element, e);
75 }
76 return super.getToolTipText(element);
77 }
78
79 protected String getToolTipText(Node node) throws RepositoryException {
80 return null;
81 }
82 }