]>
git.argeo.org Git - gpl/argeo-slc.git/blob - plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/providers/AkbTreeLabelProvider.java
1 package org
.argeo
.slc
.akb
.ui
.providers
;
4 import javax
.jcr
.Property
;
5 import javax
.jcr
.RepositoryException
;
6 import javax
.jcr
.nodetype
.NodeType
;
8 import org
.argeo
.eclipse
.ui
.TreeParent
;
9 import org
.argeo
.slc
.akb
.AkbException
;
10 import org
.argeo
.slc
.akb
.AkbTypes
;
11 import org
.argeo
.slc
.akb
.ui
.AkbImages
;
12 import org
.eclipse
.jface
.viewers
.LabelProvider
;
13 import org
.eclipse
.swt
.graphics
.Image
;
15 /** Basic label provider for an AKB tree */
16 public class AkbTreeLabelProvider
extends LabelProvider
{
17 // private final static Log log = LogFactory
18 // .getLog(ResultTreeLabelProvider.class);
21 public String
getText(Object element
) {
23 if (element
instanceof ActiveTreeItem
)
24 element
= ((ActiveTreeItem
) element
).getNode();
26 if (element
instanceof Node
) {
27 Node node
= (Node
) element
;
28 if (node
.isNodeType(NodeType
.MIX_TITLE
))
29 return node
.getProperty(Property
.JCR_TITLE
).getString();
31 return node
.getName();
33 } catch (RepositoryException e
) {
34 throw new AkbException("Unexpected error while getting "
35 + "Custom node label", e
);
37 return ((TreeParent
) element
).getName();
40 public Image
getImage(Object element
) {
42 if (element
instanceof ActiveTreeItem
)
43 element
= ((ActiveTreeItem
) element
).getNode();
45 if (element
instanceof Node
) {
46 Node node
= (Node
) element
;
47 if (node
.isNodeType(AkbTypes
.AKB_ITEM_FOLDER
))
48 return AkbImages
.ITEM_FOLDER
;
49 else if (node
.isNodeType(AkbTypes
.AKB_SSH_CONNECTOR
))
50 return AkbImages
.SSH_CONNECTOR
;
51 else if (node
.isNodeType(AkbTypes
.AKB_SSH_COMMAND
))
52 return AkbImages
.SSH_COMMAND
;
53 else if (node
.isNodeType(AkbTypes
.AKB_SSH_FILE
))
54 return AkbImages
.SSH_FILE
;
55 else if (node
.isNodeType(AkbTypes
.AKB_JDBC_CONNECTOR
))
56 return AkbImages
.JDBC_CONNECTOR
;
57 else if (node
.isNodeType(AkbTypes
.AKB_JDBC_QUERY
))
58 return AkbImages
.JDBC_QUERY
;
59 else if (node
.isNodeType(AkbTypes
.AKB_ENV_TEMPLATE
))
60 return AkbImages
.TEMPLATE
;
61 else if (node
.isNodeType(AkbTypes
.AKB_CONNECTOR_FOLDER
))
62 return AkbImages
.CONNECTOR_FOLDER
;
64 } catch (RepositoryException e
) {
65 throw new AkbException("Unexpected error while getting "
66 + "Custom node label", e
);