]> 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
Edit connector wizard
[gpl/argeo-slc.git] / 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;
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.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;
14
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);
19
20 @Override
21 public String getText(Object element) {
22 try {
23 if (element instanceof ActiveTreeItem)
24 element = ((ActiveTreeItem) element).getNode();
25
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();
30 else
31 return node.getName();
32 }
33 } catch (RepositoryException e) {
34 throw new AkbException("Unexpected error while getting "
35 + "Custom node label", e);
36 }
37 return ((TreeParent) element).getName();
38 }
39
40 public Image getImage(Object element) {
41 try {
42 if (element instanceof ActiveTreeItem)
43 element = ((ActiveTreeItem) element).getNode();
44
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;
63 }
64 } catch (RepositoryException e) {
65 throw new AkbException("Unexpected error while getting "
66 + "Custom node label", e);
67 }
68 return null;
69 }
70 }