]> git.argeo.org Git - lgpl/argeo-commons.git/blob - eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeLabelProvider.java
Add a logger
[lgpl/argeo-commons.git] / eclipse / runtime / org.argeo.eclipse.ui.jcr / src / main / java / org / argeo / eclipse / ui / jcr / browser / NodeLabelProvider.java
1 package org.argeo.eclipse.ui.jcr.browser;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5 import javax.jcr.nodetype.NodeType;
6
7 import org.argeo.eclipse.ui.jcr.DefaultNodeLabelProvider;
8 import org.argeo.eclipse.ui.jcr.JcrUiPlugin;
9 import org.argeo.jcr.RepositoryRegister;
10 import org.eclipse.swt.graphics.Image;
11
12 public class NodeLabelProvider extends DefaultNodeLabelProvider {
13 // Images
14 public final static Image REPOSITORIES = JcrUiPlugin.getImageDescriptor(
15 "icons/repositories.gif").createImage();
16
17 public String getText(Object element) {
18 if (element instanceof RepositoryRegister) {
19 return "Repositories";
20 }
21 return super.getText(element);
22 }
23
24 protected String getText(Node node) throws RepositoryException {
25 String label = node.getName();
26 StringBuffer mixins = new StringBuffer("");
27 for (NodeType type : node.getMixinNodeTypes())
28 mixins.append(' ').append(type.getName());
29
30 return label + " [" + node.getPrimaryNodeType().getName() + mixins
31 + "]";
32 }
33
34 @Override
35 public Image getImage(Object element) {
36 if (element instanceof RepositoryNode) {
37 if (((RepositoryNode) element).getDefaultSession() == null)
38 return RepositoryNode.REPOSITORY_DISCONNECTED;
39 else
40 return RepositoryNode.REPOSITORY_CONNECTED;
41 } else if (element instanceof WorkspaceNode) {
42 if (((WorkspaceNode) element).getSession() == null)
43 return WorkspaceNode.WORKSPACE_DISCONNECTED;
44 else
45 return WorkspaceNode.WORKSPACE_CONNECTED;
46 } else if (element instanceof RepositoryRegister) {
47 return REPOSITORIES;
48 }
49 return super.getImage(element);
50 }
51
52 }