/** * Build a tree path to the given node. * * @param desc The node. * @return The path items. */ public List<ITreeNode> buildTreePath(ITreeNode node) { List<ITreeNode> path = new LinkedList<ITreeNode>(); ITreeNode pnode = node; while (pnode != null) { path.add(0, pnode); pnode = pnode.getParent(); } return path; }
/** * Create a resource identifier. */ public IFuture<IResourceIdentifier> createResourceIdentifier(IFileNode node) { // Get the first child of selection path as url // TreePath selpath = mpanel.getTree().getSelectionModel().getSelectionPath(); ITreeNode root = node; while(root.getParent()!=null && root.getParent().getParent()!=null) root = root.getParent(); final String filepath = ((IFileNode)root).getFilePath(); return ModelTreePanel.createResourceIdentifier(jcc.getPlatformAccess(), filepath); // final Future<IResourceIdentifier> ret = new Future<IResourceIdentifier>(); // SServiceProvider.getService(jcc.getPlatformAccess().getServiceProvider(), ILibraryService.class, RequiredServiceInfo.SCOPE_PLATFORM) // .addResultListener(new ExceptionDelegationResultListener<ILibraryService, IResourceIdentifier>(ret) // { // public void customResultAvailable(ILibraryService ls) // { // // Must be done on remote site as SUtil.toURL() uses new File() // final URL url = SUtil.toURL(filepath); // // ls.getResourceIdentifier(url).addResultListener(new DelegationResultListener<IResourceIdentifier>(ret)); // } // }); // // return ret; } }
/** * Create a resource identifier. */ public IFuture<IResourceIdentifier> createResourceIdentifier(IFileNode node) { // Get the first child of selection path as url // TreePath selpath = mpanel.getTree().getSelectionModel().getSelectionPath(); ITreeNode root = node; while(root.getParent()!=null && root.getParent().getParent()!=null) root = root.getParent(); final String filepath = ((IFileNode)root).getFilePath(); return ModelTreePanel.createResourceIdentifier(jcc.getPlatformAccess(), filepath); // final Future<IResourceIdentifier> ret = new Future<IResourceIdentifier>(); // SServiceProvider.getService(jcc.getPlatformAccess().getServiceProvider(), ILibraryService.class, RequiredServiceInfo.SCOPE_PLATFORM) // .addResultListener(new ExceptionDelegationResultListener<ILibraryService, IResourceIdentifier>(ret) // { // public void customResultAvailable(ILibraryService ls) // { // // Must be done on remote site as SUtil.toURL() uses new File() // final URL url = SUtil.toURL(filepath); // // ls.getResourceIdentifier(url).addResultListener(new DelegationResultListener<IResourceIdentifier>(ret)); // } // }); // // return ret; } }
protected String getLabel(ITreeNode node) { String ret = null; if(getModel().getRoot().equals(node.getParent()) && node instanceof IFileNode) { // URL url = SUtil.toURL(((IFileNode)node).getFilePath()); // IResourceIdentifier rid = rootentries.get(url); IResourceIdentifier rid = getRootEntry(((IFileNode)node).getFilePath()); ret = rid!=null && rid.getGlobalIdentifier()!=null ? rid.getGlobalIdentifier().toString() : null; if(ret!=null && ret.indexOf(':')!=-1) ret = ret.substring(ret.indexOf(':')+1); } return ret!=null ? ret : node.toString(); } });
changed.add(node.getParent(), node);