]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/jcr/DefaultNodeLabelProvider.java
22ffeafc615b500140f58ae046135622eea70719
1 package org
.argeo
.eclipse
.ui
.jcr
;
4 import javax
.jcr
.Property
;
5 import javax
.jcr
.RepositoryException
;
6 import javax
.jcr
.nodetype
.NodeType
;
8 import org
.argeo
.eclipse
.ui
.EclipseUiException
;
9 import org
.eclipse
.jface
.viewers
.ColumnLabelProvider
;
10 import org
.eclipse
.swt
.graphics
.Image
;
13 * Default label provider to manage node and corresponding UI objects. It
14 * provides reasonable overwrite-able default for known JCR types.
16 public class DefaultNodeLabelProvider
extends ColumnLabelProvider
{
17 private static final long serialVersionUID
= 1216182332792151235L;
19 public String
getText(Object element
) {
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());
28 return super.getText(element
);
29 } catch (RepositoryException e
) {
30 throw new EclipseUiException("Cannot get text for of " + element
, e
);
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();
39 return node
.getName();
43 public Image
getImage(Object element
) {
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());
52 } catch (RepositoryException e
) {
53 throw new EclipseUiException("Cannot retrieve image for " + element
, e
);
55 return super.getImage(element
);
58 protected Image
getImage(Node node
) throws RepositoryException
{
59 // FIXME who uses that?
64 public String
getToolTipText(Object element
) {
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());
73 } catch (RepositoryException e
) {
74 throw new EclipseUiException("Cannot get tooltip for " + element
, e
);
76 return super.getToolTipText(element
);
79 protected String
getToolTipText(Node node
) throws RepositoryException
{