private void getNewNodes() { Vector levelNodes = new Vector(); Vector nextLevelNodes = new Vector(); Vector passedNodes = new Vector(); levelNodes.add(centerNode.name); for (int level = 0; level <= Config.navigationDepth; level++) { for (Enumeration e = levelNodes.elements(); e.hasMoreElements(); ) { String nodeName = (String) e.nextElement(); if (!passedNodes.contains(nodeName)) { passedNodes.add(nodeName); Node node = graph.nodeFromName(nodeName); if (node == null) { node = xmlReader.getNode(nodeName); graph.add(node); } node.passed = true; Set linkSet = node.links.keySet(); for (Iterator it = linkSet.iterator(); it.hasNext(); ) { String neighbourName = (String) it.next(); if (!passedNodes.contains(neighbourName) && !levelNodes.contains(neighbourName)) { nextLevelNodes.add(neighbourName); } } } } levelNodes = nextLevelNodes; nextLevelNodes = new Vector(); } }
public void navigateFirst(String nodeName) { Node node = xmlReader.getNode(nodeName); graph.add(node); navigateTo(node); }