X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2Fbrowser%2FNodeLabelProvider.java;fp=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2Fbrowser%2FNodeLabelProvider.java;h=09923199539371b5d712f28090360d3ec12a43ae;hb=d5d0ea08027ce18a842c1727a1539e42a1e17857;hp=a3ff38fc0e103f5ac106b92b5bf3921af4e1390d;hpb=9c0b5fead46f7cc1c9f1deb0b73fc0f66528d870;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeLabelProvider.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeLabelProvider.java index a3ff38fc0..099231995 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeLabelProvider.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/browser/NodeLabelProvider.java @@ -4,69 +4,36 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; -import org.argeo.ArgeoException; +import org.argeo.eclipse.ui.jcr.DefaultNodeLabelProvider; import org.argeo.eclipse.ui.jcr.JcrUiPlugin; -import org.argeo.jcr.ArgeoTypes; import org.argeo.jcr.RepositoryRegister; -import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; -public class NodeLabelProvider extends LabelProvider { +public class NodeLabelProvider extends DefaultNodeLabelProvider { // Images - public final static Image NODE = JcrUiPlugin.getImageDescriptor( - "icons/node.gif").createImage(); - public final static Image FOLDER = JcrUiPlugin.getImageDescriptor( - "icons/folder.gif").createImage(); - public final static Image FILE = JcrUiPlugin.getImageDescriptor( - "icons/file.gif").createImage(); - public final static Image BINARY = JcrUiPlugin.getImageDescriptor( - "icons/binary.png").createImage(); - public final static Image HOME = JcrUiPlugin.getImageDescriptor( - "icons/home.gif").createImage(); public final static Image REPOSITORIES = JcrUiPlugin.getImageDescriptor( "icons/repositories.gif").createImage(); public String getText(Object element) { - try { - if (element instanceof Node) { - Node node = (Node) element; - String label = node.getName(); - StringBuffer mixins = new StringBuffer(""); - for (NodeType type : node.getMixinNodeTypes()) - mixins.append(' ').append(type.getName()); - - return label + " [" + node.getPrimaryNodeType().getName() - + mixins + "]"; - } else if (element instanceof RepositoryRegister) { - return "Repositories"; - } - return element.toString(); - } catch (RepositoryException e) { - throw new ArgeoException("Cannot get text for of " + element, e); + if (element instanceof RepositoryRegister) { + return "Repositories"; } + return super.getText(element); + } + + protected String getText(Node node) throws RepositoryException { + String label = node.getName(); + StringBuffer mixins = new StringBuffer(""); + for (NodeType type : node.getMixinNodeTypes()) + mixins.append(' ').append(type.getName()); + + return label + " [" + node.getPrimaryNodeType().getName() + mixins + + "]"; } @Override public Image getImage(Object element) { - if (element instanceof Node) { - Node node = (Node) element; - try { - // optimized order - if (node.getPrimaryNodeType().isNodeType(NodeType.NT_FILE)) - return FILE; - else if (node.getPrimaryNodeType().isNodeType( - NodeType.NT_FOLDER)) - return FOLDER; - else if (node.getPrimaryNodeType().isNodeType( - NodeType.NT_RESOURCE)) - return BINARY; - else if (node.isNodeType(ArgeoTypes.ARGEO_USER_HOME)) - return HOME; - } catch (RepositoryException e) { - // silent - } - return NODE; - } else if (element instanceof RepositoryNode) { + if (element instanceof RepositoryNode) { if (((RepositoryNode) element).getDefaultSession() == null) return RepositoryNode.REPOSITORY_DISCONNECTED; else