protected void apiObjectHotSelected0( DMConnection con, IDfPersistentObject[] parents2, IDfPersistentObject[] obj) throws Exception { if (!TREE_HOT_SELECT) return; if (obj == null || obj.length != 1) return; String path = ObjectTool.getPath(obj[0]); boolean flag = true; DefaultMutableTreeNode docbasetreenode = tree.getRootNode(); Vector vector = new Vector(); vector.addElement(tree.getRootNode()); for (StringTokenizer stringtokenizer = new StringTokenizer(path, "/"); stringtokenizer.hasMoreElements(); ) { String s1 = stringtokenizer.nextToken(); DefaultMutableTreeNode docbasetreenode1 = null; for (Enumeration enumeration = docbasetreenode.children(); enumeration.hasMoreElements(); ) { DefaultMutableTreeNode docbasetreenode2 = (DefaultMutableTreeNode) enumeration.nextElement(); Object uo = docbasetreenode2.getUserObject(); if (uo instanceof ContentTree.NodeValue) { if (stringtokenizer.hasMoreTokens()) { if (((ContentTree.NodeValue) uo).getName().equals(s1)) { docbasetreenode1 = docbasetreenode2; break; } } else { // find last element by id if (((ContentTree.NodeValue) uo).getId().equals(obj[0].getObjectId())) { docbasetreenode1 = docbasetreenode2; break; } } } } if (docbasetreenode1 != null) { tree.loadChilds(docbasetreenode1, false); vector.addElement(docbasetreenode1); docbasetreenode = docbasetreenode1; } else if (!stringtokenizer.hasMoreTokens()) flag = false; } TreePath treePath = vectorToPath(vector); tree.getTree().expandPath(treePath); tree.getTree().setSelectionPath(treePath); tree.getTree().scrollPathToVisible(treePath); }