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%2Fviews%2FGenericJcrBrowser.java;h=e369c6c8a3e5dc0c76f98aff2a73840c56be176d;hb=82ec669212e06c65bc4cd7e8afa0677ab8fab74b;hp=a9eba799aeb78974663af2ead5806b02b9012ac6;hpb=c813b98b8339977ff0fb5f6209b54e5852d3ff6e;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/views/GenericJcrBrowser.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/views/GenericJcrBrowser.java index a9eba799a..e369c6c8a 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/views/GenericJcrBrowser.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/views/GenericJcrBrowser.java @@ -8,6 +8,7 @@ import javax.jcr.PropertyType; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; +import javax.jcr.nodetype.NodeType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -49,6 +50,7 @@ public class GenericJcrBrowser extends ViewPart { private Session session; private TreeViewer nodesViewer; + private NodeContentProvider nodeContentProvider; private TableViewer propertiesViewer; private RepositoryRegister repositoryRegister; @@ -93,8 +95,9 @@ public class GenericJcrBrowser extends ViewPart { throw new ArgeoException("Cannot login to node repository"); } } - nodesViewer.setContentProvider(new NodeContentProvider(nodeSession, - repositoryRegister)); + nodeContentProvider = new NodeContentProvider(nodeSession, + repositoryRegister); + nodesViewer.setContentProvider(nodeContentProvider); nodesViewer.setLabelProvider(new NodeLabelProvider()); nodesViewer .addSelectionChangedListener(new ISelectionChangedListener() { @@ -119,12 +122,7 @@ public class GenericJcrBrowser extends ViewPart { if (obj instanceof RepositoryNode) { RepositoryNode rpNode = (RepositoryNode) obj; rpNode.login(); - // For the file provider to be able to browse the various - // repository. - // TODO : enhanced that. - jfp.setRepositoryNode(rpNode); nodesViewer.refresh(obj); - } else if (obj instanceof WorkspaceNode) { ((WorkspaceNode) obj).login(); nodesViewer.refresh(obj); @@ -133,9 +131,16 @@ public class GenericJcrBrowser extends ViewPart { // double clic on a file node triggers its opening try { - if (node.isNodeType("nt:file")) { + if (node.isNodeType(NodeType.NT_FILE)) { String name = node.getName(); String id = node.getIdentifier(); + // For the file provider to be able to browse the + // various + // repository. + // TODO : enhanced that. + jfp.setRootNodes((Object[]) nodeContentProvider + .getElements(null)); + fh.openFile(name, id); } } catch (RepositoryException re) {