]>
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
1 package org
.argeo
.eclipse
.ui
.jcr
.browser
;
4 import javax
.jcr
.RepositoryException
;
5 import javax
.jcr
.nodetype
.NodeType
;
7 import org
.argeo
.ArgeoException
;
8 import org
.argeo
.eclipse
.ui
.jcr
.JcrUiPlugin
;
9 import org
.eclipse
.jface
.viewers
.LabelProvider
;
10 import org
.eclipse
.swt
.graphics
.Image
;
12 public class NodeLabelProvider
extends LabelProvider
{
14 public final static Image NODE
= JcrUiPlugin
.getImageDescriptor(
15 "icons/node.gif").createImage();
16 public final static Image FOLDER
= JcrUiPlugin
.getImageDescriptor(
17 "icons/folder.gif").createImage();
18 public final static Image FILE
= JcrUiPlugin
.getImageDescriptor(
19 "icons/file.gif").createImage();
20 public final static Image BINARY
= JcrUiPlugin
.getImageDescriptor(
21 "icons/binary.png").createImage();
23 public String
getText(Object element
) {
25 if (element
instanceof Node
) {
26 Node node
= (Node
) element
;
27 String label
= node
.getName();
29 // Item primaryItem = node.getPrimaryItem();
30 // label = primaryItem instanceof Property ? ((Property)
32 // .getValue().getString()
35 // + ")" : node.getName();
36 // } catch (RepositoryException e) {
37 // label = node.getName();
39 StringBuffer mixins
= new StringBuffer("");
40 for (NodeType type
: node
.getMixinNodeTypes())
41 mixins
.append(' ').append(type
.getName());
43 return label
+ " [" + node
.getPrimaryNodeType().getName()
46 return element
.toString();
47 } catch (RepositoryException e
) {
48 throw new ArgeoException("Cannot get text for of " + element
, e
);
53 public Image
getImage(Object element
) {
54 if (element
instanceof Node
) {
55 Node node
= (Node
) element
;
57 if (node
.getPrimaryNodeType().isNodeType(NodeType
.NT_FOLDER
))
59 else if (node
.getPrimaryNodeType().isNodeType(NodeType
.NT_FILE
))
61 else if (node
.getPrimaryNodeType().isNodeType(
62 NodeType
.NT_RESOURCE
))
64 } catch (RepositoryException e
) {
68 } else if (element
instanceof RepositoryNode
) {
69 if (((RepositoryNode
) element
).getDefaultSession() == null)
70 return RepositoryNode
.REPOSITORY_DISCONNECTED
;
72 return RepositoryNode
.REPOSITORY_CONNECTED
;
73 } else if (element
instanceof WorkspaceNode
) {
74 if (((WorkspaceNode
) element
).getSession() == null)
75 return WorkspaceNode
.WORKSPACE_DISCONNECTED
;
77 return WorkspaceNode
.WORKSPACE_CONNECTED
;
79 return super.getImage(element
);