]>
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 if (element
instanceof String
)
34 return (String
) element
;
36 } catch (RepositoryException e
) {
37 throw new AkbException("Unexpected error while getting "
38 + "Custom node label", e
);
40 return ((TreeParent
) element
).getName();
43 public Image
getImage(Object element
) {
45 if (element
instanceof ActiveTreeItem
)
46 element
= ((ActiveTreeItem
) element
).getNode();
48 if (element
instanceof Node
) {
49 Node node
= (Node
) element
;
50 if (node
.isNodeType(AkbTypes
.AKB_ITEM_FOLDER
))
51 return AkbImages
.ITEM_FOLDER
;
52 else if (node
.isNodeType(AkbTypes
.AKB_SSH_CONNECTOR
))
53 return AkbImages
.SSH_CONNECTOR
;
54 else if (node
.isNodeType(AkbTypes
.AKB_SSH_COMMAND
))
55 return AkbImages
.SSH_COMMAND
;
56 else if (node
.isNodeType(AkbTypes
.AKB_SSH_FILE
))
57 return AkbImages
.SSH_FILE
;
58 else if (node
.isNodeType(AkbTypes
.AKB_JDBC_CONNECTOR
))
59 return AkbImages
.JDBC_CONNECTOR
;
60 else if (node
.isNodeType(AkbTypes
.AKB_JDBC_QUERY
))
61 return AkbImages
.JDBC_QUERY
;
62 else if (node
.isNodeType(AkbTypes
.AKB_ENV_TEMPLATE
))
63 return AkbImages
.TEMPLATE
;
64 else if (node
.isNodeType(AkbTypes
.AKB_ENV
))
65 return AkbImages
.ACTIVE_ENV
;
66 else if (node
.isNodeType(AkbTypes
.AKB_CONNECTOR_FOLDER
))
67 return AkbImages
.CONNECTOR_FOLDER
;
69 } catch (RepositoryException e
) {
70 throw new AkbException("Unexpected error while getting "
71 + "Custom node label", e
);