]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/browser/NodeLabelProvider.java
1 package org
.argeo
.jcr
.ui
.explorer
.browser
;
4 import javax
.jcr
.RepositoryException
;
5 import javax
.jcr
.nodetype
.NodeType
;
7 import org
.argeo
.ArgeoException
;
8 import org
.argeo
.eclipse
.ui
.jcr
.DefaultNodeLabelProvider
;
9 import org
.argeo
.eclipse
.ui
.jcr
.JcrImages
;
10 import org
.argeo
.jcr
.ui
.explorer
.model
.RemoteRepositoryNode
;
11 import org
.argeo
.jcr
.ui
.explorer
.model
.RepositoriesNode
;
12 import org
.argeo
.jcr
.ui
.explorer
.model
.RepositoryNode
;
13 import org
.argeo
.jcr
.ui
.explorer
.model
.SingleJcrNode
;
14 import org
.argeo
.jcr
.ui
.explorer
.model
.WorkspaceNode
;
15 import org
.eclipse
.swt
.graphics
.Image
;
17 public class NodeLabelProvider
extends DefaultNodeLabelProvider
{
20 public String
getText(Object element
) {
22 if (element
instanceof SingleJcrNode
) {
23 SingleJcrNode sjn
= (SingleJcrNode
) element
;
24 return getText(sjn
.getNode());
26 return super.getText(element
);
27 } catch (RepositoryException e
) {
28 throw new ArgeoException(
29 "Unexpected JCR error while getting node name.");
33 protected String
getText(Node node
) throws RepositoryException
{
34 String label
= node
.getName();
35 StringBuffer mixins
= new StringBuffer("");
36 for (NodeType type
: node
.getMixinNodeTypes())
37 mixins
.append(' ').append(type
.getName());
39 return label
+ " [" + node
.getPrimaryNodeType().getName() + mixins
44 public Image
getImage(Object element
) {
45 if (element
instanceof RemoteRepositoryNode
) {
46 if (((RemoteRepositoryNode
) element
).getDefaultSession() == null)
47 return JcrImages
.REMOTE_DISCONNECTED
;
49 return JcrImages
.REMOTE_CONNECTED
;
50 } else if (element
instanceof RepositoryNode
) {
51 if (((RepositoryNode
) element
).getDefaultSession() == null)
52 return JcrImages
.REPOSITORY_DISCONNECTED
;
54 return JcrImages
.REPOSITORY_CONNECTED
;
55 } else if (element
instanceof WorkspaceNode
) {
56 if (((WorkspaceNode
) element
).getSession() == null)
57 return JcrImages
.WORKSPACE_DISCONNECTED
;
59 return JcrImages
.WORKSPACE_CONNECTED
;
60 } else if (element
instanceof RepositoriesNode
) {
61 return JcrImages
.REPOSITORIES
;
62 } else if (element
instanceof SingleJcrNode
)
64 return super.getImage(((SingleJcrNode
) element
).getNode());
65 } catch (RepositoryException e
) {
68 return super.getImage(element
);