]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - NodeLabelProvider.java
a3ff38fc0e103f5ac106b92b5bf3921af4e1390d
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
.argeo
.jcr
.ArgeoTypes
;
10 import org
.argeo
.jcr
.RepositoryRegister
;
11 import org
.eclipse
.jface
.viewers
.LabelProvider
;
12 import org
.eclipse
.swt
.graphics
.Image
;
14 public class NodeLabelProvider
extends LabelProvider
{
16 public final static Image NODE
= JcrUiPlugin
.getImageDescriptor(
17 "icons/node.gif").createImage();
18 public final static Image FOLDER
= JcrUiPlugin
.getImageDescriptor(
19 "icons/folder.gif").createImage();
20 public final static Image FILE
= JcrUiPlugin
.getImageDescriptor(
21 "icons/file.gif").createImage();
22 public final static Image BINARY
= JcrUiPlugin
.getImageDescriptor(
23 "icons/binary.png").createImage();
24 public final static Image HOME
= JcrUiPlugin
.getImageDescriptor(
25 "icons/home.gif").createImage();
26 public final static Image REPOSITORIES
= JcrUiPlugin
.getImageDescriptor(
27 "icons/repositories.gif").createImage();
29 public String
getText(Object element
) {
31 if (element
instanceof Node
) {
32 Node node
= (Node
) element
;
33 String label
= node
.getName();
34 StringBuffer mixins
= new StringBuffer("");
35 for (NodeType type
: node
.getMixinNodeTypes())
36 mixins
.append(' ').append(type
.getName());
38 return label
+ " [" + node
.getPrimaryNodeType().getName()
40 } else if (element
instanceof RepositoryRegister
) {
41 return "Repositories";
43 return element
.toString();
44 } catch (RepositoryException e
) {
45 throw new ArgeoException("Cannot get text for of " + element
, e
);
50 public Image
getImage(Object element
) {
51 if (element
instanceof Node
) {
52 Node node
= (Node
) element
;
55 if (node
.getPrimaryNodeType().isNodeType(NodeType
.NT_FILE
))
57 else if (node
.getPrimaryNodeType().isNodeType(
60 else if (node
.getPrimaryNodeType().isNodeType(
61 NodeType
.NT_RESOURCE
))
63 else if (node
.isNodeType(ArgeoTypes
.ARGEO_USER_HOME
))
65 } catch (RepositoryException e
) {
69 } else if (element
instanceof RepositoryNode
) {
70 if (((RepositoryNode
) element
).getDefaultSession() == null)
71 return RepositoryNode
.REPOSITORY_DISCONNECTED
;
73 return RepositoryNode
.REPOSITORY_CONNECTED
;
74 } else if (element
instanceof WorkspaceNode
) {
75 if (((WorkspaceNode
) element
).getSession() == null)
76 return WorkspaceNode
.WORKSPACE_DISCONNECTED
;
78 return WorkspaceNode
.WORKSPACE_CONNECTED
;
79 } else if (element
instanceof RepositoryRegister
) {
82 return super.getImage(element
);