]> 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
Use alias path as key to manage connectors.
[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 Node) {
24 Node node = (Node) element;
25 if (node.isNodeType(NodeType.MIX_TITLE))
26 return node.getProperty(Property.JCR_TITLE).getString();
27 else
28 return node.getName();
29 }
30 } catch (RepositoryException e) {
31 throw new AkbException("Unexpected error while getting "
32 + "Custom node label", e);
33 }
34 return ((TreeParent) element).getName();
35 }
36
37 public Image getImage(Object element) {
38 try {
39 if (element instanceof Node) {
40 Node node = (Node) element;
41 if (node.isNodeType(AkbTypes.AKB_ITEM_FOLDER))
42 return AkbImages.ITEM_FOLDER;
43 else if (node.isNodeType(AkbTypes.AKB_SSH_CONNECTOR))
44 return AkbImages.SSH_CONNECTOR;
45 else if (node.isNodeType(AkbTypes.AKB_SSH_COMMAND))
46 return AkbImages.SSH_COMMAND;
47 else if (node.isNodeType(AkbTypes.AKB_SSH_FILE))
48 return AkbImages.SSH_FILE;
49 else if (node.isNodeType(AkbTypes.AKB_JDBC_CONNECTOR))
50 return AkbImages.JDBC_CONNECTOR;
51 else if (node.isNodeType(AkbTypes.AKB_JDBC_QUERY))
52 return AkbImages.JDBC_QUERY;
53 else if (node.isNodeType(AkbTypes.AKB_ENV_TEMPLATE))
54 return AkbImages.TEMPLATE;
55 else if (node.isNodeType(AkbTypes.AKB_CONNECTOR_FOLDER))
56 return AkbImages.CONNECTOR_FOLDER;
57 }
58 } catch (RepositoryException e) {
59 throw new AkbException("Unexpected error while getting "
60 + "Custom node label", e);
61 }
62 return null;
63 }
64 }