From: <js...@us...> - 2006-11-27 16:52:33
|
Revision: 31 http://svn.sourceforge.net/jcontracts/?rev=31&view=rev Author: jstuyts Date: 2006-11-27 08:52:23 -0800 (Mon, 27 Nov 2006) Log Message: ----------- Formatted code. Modified Paths: -------------- trunk/source/java/net/sf/jcontracts/dependencyanalyzer/BooleanBlockWithNodeArg.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/DependencyAnalyzer.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Graph.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Node.java Modified: trunk/source/java/net/sf/jcontracts/dependencyanalyzer/BooleanBlockWithNodeArg.java =================================================================== --- trunk/source/java/net/sf/jcontracts/dependencyanalyzer/BooleanBlockWithNodeArg.java 2006-11-27 16:51:37 UTC (rev 30) +++ trunk/source/java/net/sf/jcontracts/dependencyanalyzer/BooleanBlockWithNodeArg.java 2006-11-27 16:52:23 UTC (rev 31) @@ -1,7 +1,7 @@ package net.sf.jcontracts.dependencyanalyzer; +public interface BooleanBlockWithNodeArg +{ -public interface BooleanBlockWithNodeArg { - - public abstract boolean eval(Node node); + public abstract boolean eval(Node node); } Modified: trunk/source/java/net/sf/jcontracts/dependencyanalyzer/DependencyAnalyzer.java =================================================================== --- trunk/source/java/net/sf/jcontracts/dependencyanalyzer/DependencyAnalyzer.java 2006-11-27 16:51:37 UTC (rev 30) +++ trunk/source/java/net/sf/jcontracts/dependencyanalyzer/DependencyAnalyzer.java 2006-11-27 16:52:23 UTC (rev 31) @@ -3,24 +3,30 @@ import java.util.Enumeration; import java.util.Vector; -public class DependencyAnalyzer { +public class DependencyAnalyzer +{ - private Graph dg_; + private Graph dg_; - public DependencyAnalyzer() { - dg_ = null; - dg_ = new Graph(); - } + public DependencyAnalyzer() + { + dg_ = null; + dg_ = new Graph(); + } - public Graph getGraph() { - return dg_; - } + public Graph getGraph() + { + return dg_; + } - public void process(Vector dependencies) { - Node keyNode; - for (Enumeration dependenciesenum = dependencies.elements(); dependenciesenum.hasMoreElements(); dg_.add(keyNode)) { - keyNode = (Node)dependenciesenum.nextElement(); - } + public void process(Vector dependencies) + { + Node keyNode; + for (Enumeration dependenciesenum = dependencies.elements(); dependenciesenum.hasMoreElements(); dg_ + .add(keyNode)) + { + keyNode = (Node) dependenciesenum.nextElement(); + } - } + } } Modified: trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Graph.java =================================================================== --- trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Graph.java 2006-11-27 16:51:37 UTC (rev 30) +++ trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Graph.java 2006-11-27 16:52:23 UTC (rev 31) @@ -4,359 +4,447 @@ import java.util.Hashtable; import java.util.Vector; -public class Graph { +public class Graph +{ - protected Vector nodes_; - protected int maxRank_; + protected Vector nodes_; - public Graph() { - this(new Vector()); - } + protected int maxRank_; - public Graph(Vector nodes) { - nodes_ = new Vector(); - maxRank_ = 0; - nodes_ = nodes; - } + public Graph() + { + this(new Vector()); + } - public void add(Node node) { - if (!containsNodeNamed(node.getName())) { - Node newnode = new Node(node.getName(), node.getPackagename(), node.getFilename(), new Vector()); - nodes_.addElement(newnode); - } - Node n = getNodeNamed(node.getName()); - if (n.getFilename().equals("???")) { - n.setFilename(node.getFilename()); - } - Node d; - Node parent; - for (Enumeration e = node.getUsedNodes().elements(); e.hasMoreElements(); parent.addUsedNode(getNodeNamed(d.getName()))) { - d = (Node)e.nextElement(); - if (!containsNodeNamed(d.getName())) { - Node newd = new Node(d.getName(), d.getPackagename(), d.getFilename(), new Vector()); - nodes_.addElement(newd); - } - parent = getNodeNamed(node.getName()); - } + public Graph(Vector nodes) + { + nodes_ = new Vector(); + maxRank_ = 0; + nodes_ = nodes; + } - } + public void add(Node node) + { + if (!containsNodeNamed(node.getName())) + { + Node newnode = new Node(node.getName(), node.getPackagename(), node.getFilename(), new Vector()); + nodes_.addElement(newnode); + } + Node n = getNodeNamed(node.getName()); + if (n.getFilename().equals("???")) + { + n.setFilename(node.getFilename()); + } + Node d; + Node parent; + for (Enumeration e = node.getUsedNodes().elements(); e.hasMoreElements(); parent.addUsedNode(getNodeNamed(d + .getName()))) + { + d = (Node) e.nextElement(); + if (!containsNodeNamed(d.getName())) + { + Node newd = new Node(d.getName(), d.getPackagename(), d.getFilename(), new Vector()); + nodes_.addElement(newd); + } + parent = getNodeNamed(node.getName()); + } - public boolean containsNodeNamed(String name) { - boolean result = false; - for (Enumeration e = nodes_.elements(); !result && e.hasMoreElements();) { - if (((Node)e.nextElement()).getName().equals(name)) { - result = true; - } - } + } - return result; - } + public boolean containsNodeNamed(String name) + { + boolean result = false; + for (Enumeration e = nodes_.elements(); !result && e.hasMoreElements();) + { + if (((Node) e.nextElement()).getName().equals(name)) + { + result = true; + } + } - public Vector getFileDependencyOrdering() { - rank(); - int level = 1; - Vector sortedList = new Vector(); - Vector sortedNodeList = new Vector(); - Hashtable dependencies = new Hashtable(); - for (; level <= maxRank_; level++) { - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.getRank() == level) { - if (!dependencies.containsKey(new Integer(level))) { - dependencies.put(new Integer(level), new Vector()); - } - ((Vector)dependencies.get(new Integer(level))).addElement(n.getFilename()); - sortedList.insertElementAt(n.getFilename(), 0); - sortedNodeList.insertElementAt(n, 0); + return result; + } + + public Vector getFileDependencyOrdering() + { + rank(); + int level = 1; + Vector sortedList = new Vector(); + Vector sortedNodeList = new Vector(); + Hashtable dependencies = new Hashtable(); + for (; level <= maxRank_; level++) + { + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.getRank() == level) + { + if (!dependencies.containsKey(new Integer(level))) + { + dependencies.put(new Integer(level), new Vector()); + } + ((Vector) dependencies.get(new Integer(level))).addElement(n.getFilename()); + sortedList.insertElementAt(n.getFilename(), 0); + sortedNodeList.insertElementAt(n, 0); + } } - } - } + } - Vector result = new Vector(); - for (Enumeration e = sortedList.elements(); e.hasMoreElements();) { - String s = (String)e.nextElement(); - if (!result.contains(s)) { - result.addElement(s); - } - } + Vector result = new Vector(); + for (Enumeration e = sortedList.elements(); e.hasMoreElements();) + { + String s = (String) e.nextElement(); + if (!result.contains(s)) + { + result.addElement(s); + } + } - return result; - } + return result; + } - public Hashtable getFileDependencyTable(BooleanBlockWithNodeArg block) { - Node node; - for (Enumeration e = getLeafs().elements(); e.hasMoreElements(); node.mark(block)) { - node = (Node)e.nextElement(); - } + public Hashtable getFileDependencyTable(BooleanBlockWithNodeArg block) + { + Node node; + for (Enumeration e = getLeafs().elements(); e.hasMoreElements(); node.mark(block)) + { + node = (Node) e.nextElement(); + } - rank(); - int level = maxRank_; - Hashtable dependencies = new Hashtable(); - for (; level > 0; level--) { - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.getRank() == level) { - if (!dependencies.containsKey(new Integer(level))) { - dependencies.put(new Integer(level), new Vector()); - } - Vector line = (Vector)dependencies.get(new Integer(level)); - if (!n.getFilename().equals("???") && !line.contains(n.getFilename()) && n.isMarked()) { - line.addElement(n.getFilename()); - } + rank(); + int level = maxRank_; + Hashtable dependencies = new Hashtable(); + for (; level > 0; level--) + { + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.getRank() == level) + { + if (!dependencies.containsKey(new Integer(level))) + { + dependencies.put(new Integer(level), new Vector()); + } + Vector line = (Vector) dependencies.get(new Integer(level)); + if (!n.getFilename().equals("???") && !line.contains(n.getFilename()) && n.isMarked()) + { + line.addElement(n.getFilename()); + } + } } - } - } + } - return dependencies; - } + return dependencies; + } - Vector getLeafs() { - Vector results = new Vector(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.isLeaf()) { - results.addElement(n); - } - } + Vector getLeafs() + { + Vector results = new Vector(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.isLeaf()) + { + results.addElement(n); + } + } - return results; - } + return results; + } - public int getMaxRank() { - return maxRank_; - } + public int getMaxRank() + { + return maxRank_; + } - public Node getNodeNamed(String name) { - Node result = null; - for (Enumeration e = nodes_.elements(); result == null && e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.getName().equals(name)) { - result = n; - } - } + public Node getNodeNamed(String name) + { + Node result = null; + for (Enumeration e = nodes_.elements(); result == null && e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.getName().equals(name)) + { + result = n; + } + } - return result; - } + return result; + } - public String getPackageForNodeWithFilename(String filename) { - Node result = null; - for (Enumeration e = nodes_.elements(); result == null && e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.getFilename().equals(filename)) { - result = n; - } - } + public String getPackageForNodeWithFilename(String filename) + { + Node result = null; + for (Enumeration e = nodes_.elements(); result == null && e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.getFilename().equals(filename)) + { + result = n; + } + } - return result.getPackagename(); - } + return result.getPackagename(); + } - Vector getRoots() { - Vector results = new Vector(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n.isRoot(nodes_)) { - results.addElement(n); - } - } + Vector getRoots() + { + Vector results = new Vector(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n.isRoot(nodes_)) + { + results.addElement(n); + } + } - return results; - } + return results; + } - public int getSize() { - return nodes_.size(); - } + public int getSize() + { + return nodes_.size(); + } - void rank() { - boolean debug = false; - Vector nodesLeft = new Vector(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (!n.getFilename().equals("???")) { - nodesLeft.addElement(n.getName()); - } - } + void rank() + { + boolean debug = false; + Vector nodesLeft = new Vector(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (!n.getFilename().equals("???")) + { + nodesLeft.addElement(n.getName()); + } + } - Vector newfirefront = getRoots(); - Vector previousNodesLeft = new Vector(); - boolean circRef = false; - boolean stop = false; - int stops = 1; - int level = 1; - while (!nodesLeft.isEmpty() && !circRef && !stop) { - if (debug) { - System.err.println("*** nodesLeft=" + nodesLeft); - System.err.println("*** level=" + level); - } - Vector firefront = newfirefront; - Vector tff = new Vector(); - Vector depclosure = new Vector(); - for (Enumeration e = firefront.elements(); e.hasMoreElements();) { - Node node = (Node)e.nextElement(); - for (Enumeration depenum = node.getUsedNodes().elements(); depenum.hasMoreElements();) { - Node depnode = (Node)depenum.nextElement(); - if (!depclosure.contains(depnode)) { - depclosure.addElement(depnode); - } + Vector newfirefront = getRoots(); + Vector previousNodesLeft = new Vector(); + boolean circRef = false; + boolean stop = false; + int stops = 1; + int level = 1; + while (!nodesLeft.isEmpty() && !circRef && !stop) + { + if (debug) + { + System.err.println("*** nodesLeft=" + nodesLeft); + System.err.println("*** level=" + level); } + Vector firefront = newfirefront; + Vector tff = new Vector(); + Vector depclosure = new Vector(); + for (Enumeration e = firefront.elements(); e.hasMoreElements();) + { + Node node = (Node) e.nextElement(); + for (Enumeration depenum = node.getUsedNodes().elements(); depenum.hasMoreElements();) + { + Node depnode = (Node) depenum.nextElement(); + if (!depclosure.contains(depnode)) + { + depclosure.addElement(depnode); + } + } - } + } - for (Enumeration e = firefront.elements(); e.hasMoreElements();) { - Node node = (Node)e.nextElement(); - if (!depclosure.contains(node)) { - tff.addElement(node); + for (Enumeration e = firefront.elements(); e.hasMoreElements();) + { + Node node = (Node) e.nextElement(); + if (!depclosure.contains(node)) + { + tff.addElement(node); + } } - } - if (debug) { - System.err.println("*** tff=" + tff); - } - firefront = tff; - newfirefront = new Vector(); - for (Enumeration e = firefront.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - n.setRank(level); - nodesLeft.removeElement(n.getName()); - for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements(); newfirefront.addElement(enum2.nextElement())) { } - } + if (debug) + { + System.err.println("*** tff=" + tff); + } + firefront = tff; + newfirefront = new Vector(); + for (Enumeration e = firefront.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + n.setRank(level); + nodesLeft.removeElement(n.getName()); + for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements(); newfirefront + .addElement(enum2.nextElement())) + { + } + } - level++; - if (debug) { - System.err.println("*** rank = " + level); - } - boolean all = true; - for (Enumeration e = newfirefront.elements(); all && e.hasMoreElements();) { - if (!firefront.contains(e.nextElement())) { - all = false; + level++; + if (debug) + { + System.err.println("*** rank = " + level); } - } + boolean all = true; + for (Enumeration e = newfirefront.elements(); all && e.hasMoreElements();) + { + if (!firefront.contains(e.nextElement())) + { + all = false; + } + } - circRef = all; - if (circRef && nodesLeft.size() > 0) { - System.err.println("Warning: circular reference among =" + nodesLeft + "."); - for (Enumeration e = nodesLeft.elements(); e.hasMoreElements(); System.err.println(" - " + getNodeNamed((String)e.nextElement()))) { } - } - if (previousNodesLeft.equals(nodesLeft) && ++stops > 10) { - StringBuffer sb = new StringBuffer(); - sb.append("algorthm problem: circular reference suspected among =" + nodesLeft + ".level=" + level); - for (Enumeration e = nodesLeft.elements(); e.hasMoreElements(); sb.append(" - " + getNodeNamed((String)e.nextElement()))) { } - throw new RuntimeException(sb.toString()); - } - previousNodesLeft = nodesLeft; - } - maxRank_ = level - 1; - if (debug) { - System.err.println("*** maxRank=" + maxRank_); - } - } + circRef = all; + if (circRef && nodesLeft.size() > 0) + { + System.err.println("Warning: circular reference among =" + nodesLeft + "."); + for (Enumeration e = nodesLeft.elements(); e.hasMoreElements(); System.err.println(" - " + + getNodeNamed((String) e.nextElement()))) + { + } + } + if (previousNodesLeft.equals(nodesLeft) && ++stops > 10) + { + StringBuffer sb = new StringBuffer(); + sb.append("algorthm problem: circular reference suspected among =" + nodesLeft + ".level=" + level); + for (Enumeration e = nodesLeft.elements(); e.hasMoreElements(); sb.append(" - " + + getNodeNamed((String) e.nextElement()))) + { + } + throw new RuntimeException(sb.toString()); + } + previousNodesLeft = nodesLeft; + } + maxRank_ = level - 1; + if (debug) + { + System.err.println("*** maxRank=" + maxRank_); + } + } - public String toDottyClasses() { - StringBuffer buf = new StringBuffer(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - buf.append("// node " + n.getName() + " \n"); - for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements();) { - if (!n.getFilename().equals("???")) { - Node m = (Node)enum2.nextElement(); - if (!m.getFilename().equals("???")) { - String name = n.getName(); - name = name.replace('.', '_'); - name = name.replace('$', '_'); - buf.append(name); - buf.append(" -> "); - name = m.getName(); - name = name.replace('.', '_'); - name = name.replace('$', '_'); - buf.append(name); - buf.append(";\n"); - } + public String toDottyClasses() + { + StringBuffer buf = new StringBuffer(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + buf.append("// node " + n.getName() + " \n"); + for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements();) + { + if (!n.getFilename().equals("???")) + { + Node m = (Node) enum2.nextElement(); + if (!m.getFilename().equals("???")) + { + String name = n.getName(); + name = name.replace('.', '_'); + name = name.replace('$', '_'); + buf.append(name); + buf.append(" -> "); + name = m.getName(); + name = name.replace('.', '_'); + name = name.replace('$', '_'); + buf.append(name); + buf.append(";\n"); + } + } } - } - } + } - buf.append("// LABELS\n"); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (!n.getFilename().equals("???")) { - String name = n.getName(); - name = name.replace('.', '_'); - name = name.replace('$', '_'); - buf.append(name); - buf.append(" [label=\"" + n.getName() + " (" + n.getRank() + ")\"];\n"); - } - } + buf.append("// LABELS\n"); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (!n.getFilename().equals("???")) + { + String name = n.getName(); + name = name.replace('.', '_'); + name = name.replace('$', '_'); + buf.append(name); + buf.append(" [label=\"" + n.getName() + " (" + n.getRank() + ")\"];\n"); + } + } - return buf.toString(); - } + return buf.toString(); + } - public String toDottyPackage() { - Vector depList = new Vector(); - StringBuffer outbuf = new StringBuffer(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - outbuf.append("// node (class) " + n.getName() + " \n"); - for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements();) { - if (!n.getFilename().equals("???")) { - Node m = (Node)enum2.nextElement(); - if (!m.getFilename().equals("???")) { - StringBuffer buf = new StringBuffer(); - String name = n.getName(); - int start = -1; - if ((start = name.lastIndexOf('.')) != -1) { - name = name.substring(0, start); - } - name = name.replace('.', '_'); - name = name.replace('$', '_'); - buf.append(name); - buf.append(" -> "); - name = m.getName(); - start = -1; - if ((start = name.lastIndexOf('.')) != -1) { - name = name.substring(0, start); - } - name = name.replace('.', '_'); - name = name.replace('$', '_'); - buf.append(name); - buf.append(";\n"); - if (!depList.contains(buf.toString())) { - outbuf.append(buf.toString()); - depList.addElement(buf.toString()); - } - } + public String toDottyPackage() + { + Vector depList = new Vector(); + StringBuffer outbuf = new StringBuffer(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + outbuf.append("// node (class) " + n.getName() + " \n"); + for (Enumeration enum2 = n.getUsedNodes().elements(); enum2.hasMoreElements();) + { + if (!n.getFilename().equals("???")) + { + Node m = (Node) enum2.nextElement(); + if (!m.getFilename().equals("???")) + { + StringBuffer buf = new StringBuffer(); + String name = n.getName(); + int start = -1; + if ((start = name.lastIndexOf('.')) != -1) + { + name = name.substring(0, start); + } + name = name.replace('.', '_'); + name = name.replace('$', '_'); + buf.append(name); + buf.append(" -> "); + name = m.getName(); + start = -1; + if ((start = name.lastIndexOf('.')) != -1) + { + name = name.substring(0, start); + } + name = name.replace('.', '_'); + name = name.replace('$', '_'); + buf.append(name); + buf.append(";\n"); + if (!depList.contains(buf.toString())) + { + outbuf.append(buf.toString()); + depList.addElement(buf.toString()); + } + } + } } - } - } + } - outbuf.append("// LABELS\n"); - Vector packageList = new Vector(); - for (Enumeration e = nodes_.elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (!n.getFilename().equals("???")) { - String name = n.getName(); - String displayName = name; - if (!packageList.contains(name)) { - packageList.addElement(name); - int start = -1; - if ((start = name.lastIndexOf('.')) != -1) { - name = name.substring(0, start); - displayName = name; - } - name = name.replace('.', '_'); - name = name.replace('$', '_'); - outbuf.append(name); - outbuf.append(" [label=\"" + displayName + "\"];\n"); + outbuf.append("// LABELS\n"); + Vector packageList = new Vector(); + for (Enumeration e = nodes_.elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (!n.getFilename().equals("???")) + { + String name = n.getName(); + String displayName = name; + if (!packageList.contains(name)) + { + packageList.addElement(name); + int start = -1; + if ((start = name.lastIndexOf('.')) != -1) + { + name = name.substring(0, start); + displayName = name; + } + name = name.replace('.', '_'); + name = name.replace('$', '_'); + outbuf.append(name); + outbuf.append(" [label=\"" + displayName + "\"];\n"); + } } - } - } + } - return outbuf.toString(); - } + return outbuf.toString(); + } - public String toString() { - return nodes_.toString(); - } + public String toString() + { + return nodes_.toString(); + } } Modified: trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Node.java =================================================================== --- trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Node.java 2006-11-27 16:51:37 UTC (rev 30) +++ trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Node.java 2006-11-27 16:52:23 UTC (rev 31) @@ -3,176 +3,226 @@ import java.util.Enumeration; import java.util.Vector; -public class Node { +public class Node +{ - protected String name_; - protected String packagename_; - protected String filename_; - protected Vector usedNodes_; - protected Vector dependentNodes_; - protected int rank_; - protected boolean marked_; - protected boolean visited4marked_; + protected String name_; - public Node(String name, String packagename, String filename, Vector usedNodes) { - name_ = null; - packagename_ = null; - filename_ = null; - usedNodes_ = new Vector(); - dependentNodes_ = new Vector(); - rank_ = 0; - marked_ = false; - visited4marked_ = false; - name_ = name; - packagename_ = packagename; - filename_ = filename; - usedNodes_ = usedNodes; - } + protected String packagename_; - void addAllUsedNodes(Vector moreUsedNodes) { - Node node; - for (Enumeration e = moreUsedNodes.elements(); e.hasMoreElements(); node.addDependentNode(this)) { - node = (Node)e.nextElement(); - usedNodes_.addElement(node); - } + protected String filename_; - } + protected Vector usedNodes_; - public void addDependentNode(Node dependentNode) { - dependentNodes_.addElement(dependentNode); - } + protected Vector dependentNodes_; - public void addUsedNode(Node usedNode) { - boolean notFound = true; - if (!usedNode.getName().equals(getName())) { - Node node; - for (Enumeration e = usedNodes_.elements(); e.hasMoreElements() && notFound; notFound = !node.getName().equals(usedNode.getName())) { - node = (Node)e.nextElement(); - } + protected int rank_; - if (notFound) { - usedNodes_.addElement(usedNode); - usedNode.addDependentNode(this); - } - } - } + protected boolean marked_; - Vector getDependentNodes() { - return dependentNodes_; - } + protected boolean visited4marked_; - public String getFilename() { - return filename_; - } + public Node(String name, String packagename, String filename, Vector usedNodes) + { + name_ = null; + packagename_ = null; + filename_ = null; + usedNodes_ = new Vector(); + dependentNodes_ = new Vector(); + rank_ = 0; + marked_ = false; + visited4marked_ = false; + name_ = name; + packagename_ = packagename; + filename_ = filename; + usedNodes_ = usedNodes; + } - public String getName() { - return name_; - } + void addAllUsedNodes(Vector moreUsedNodes) + { + Node node; + for (Enumeration e = moreUsedNodes.elements(); e.hasMoreElements(); node.addDependentNode(this)) + { + node = (Node) e.nextElement(); + usedNodes_.addElement(node); + } - public String getPackagename() { - return packagename_; - } + } - int getRank() { - return rank_; - } + public void addDependentNode(Node dependentNode) + { + dependentNodes_.addElement(dependentNode); + } - Vector getUsedNodes() { - return usedNodes_; - } + public void addUsedNode(Node usedNode) + { + boolean notFound = true; + if (!usedNode.getName().equals(getName())) + { + Node node; + for (Enumeration e = usedNodes_.elements(); e.hasMoreElements() && notFound; notFound = !node.getName() + .equals(usedNode.getName())) + { + node = (Node) e.nextElement(); + } - boolean isLeaf() { - return usedNodes_.isEmpty(); - } + if (notFound) + { + usedNodes_.addElement(usedNode); + usedNode.addDependentNode(this); + } + } + } - public boolean isMarked() { - return marked_; - } + Vector getDependentNodes() + { + return dependentNodes_; + } - boolean isRoot(Vector nodes_) { - boolean found = false; - for (Enumeration e = nodes_.elements(); !found && e.hasMoreElements();) { - Node probe = (Node)e.nextElement(); - for (Enumeration enum2 = probe.getUsedNodes().elements(); !found && enum2.hasMoreElements();) { - Node n = (Node)enum2.nextElement(); - if (getName().equals(n.getName())) { - found = true; + public String getFilename() + { + return filename_; + } + + public String getName() + { + return name_; + } + + public String getPackagename() + { + return packagename_; + } + + int getRank() + { + return rank_; + } + + Vector getUsedNodes() + { + return usedNodes_; + } + + boolean isLeaf() + { + return usedNodes_.isEmpty(); + } + + public boolean isMarked() + { + return marked_; + } + + boolean isRoot(Vector nodes_) + { + boolean found = false; + for (Enumeration e = nodes_.elements(); !found && e.hasMoreElements();) + { + Node probe = (Node) e.nextElement(); + for (Enumeration enum2 = probe.getUsedNodes().elements(); !found && enum2.hasMoreElements();) + { + Node n = (Node) enum2.nextElement(); + if (getName().equals(n.getName())) + { + found = true; + } } - } - } + } - return !found; - } + return !found; + } - private boolean isVisited() { - return visited4marked_; - } + private boolean isVisited() + { + return visited4marked_; + } - public void mark(BooleanBlockWithNodeArg block) { - if (!visited4marked_ && !marked_) { - markVisited(); - if (block.eval(this)) { - marked_ = true; - for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n != this) { - n.markUnconditional(block); - } + public void mark(BooleanBlockWithNodeArg block) + { + if (!visited4marked_ && !marked_) + { + markVisited(); + if (block.eval(this)) + { + marked_ = true; + for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n != this) + { + n.markUnconditional(block); + } + } + } + else + { + for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n != this && !n.isMarked()) + { + n.mark(block); + } + } - } else { - for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n != this && !n.isMarked()) { - n.mark(block); - } } + } + } - } - } - } - - public void markUnconditional(BooleanBlockWithNodeArg block) { - if (!marked_) { - marked_ = true; - for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) { - Node n = (Node)e.nextElement(); - if (n != this) { - n.markUnconditional(block); + public void markUnconditional(BooleanBlockWithNodeArg block) + { + if (!marked_) + { + marked_ = true; + for (Enumeration e = getDependentNodes().elements(); e.hasMoreElements();) + { + Node n = (Node) e.nextElement(); + if (n != this) + { + n.markUnconditional(block); + } } - } - } - } + } + } - private void markVisited() { - visited4marked_ = true; - } + private void markVisited() + { + visited4marked_ = true; + } - void setFilename(String filename) { - filename_ = filename; - } + void setFilename(String filename) + { + filename_ = filename; + } - void setPackagename(String packagename) { - packagename_ = packagename; - } + void setPackagename(String packagename) + { + packagename_ = packagename; + } - void setRank(int rank) { - rank_ = rank; - } + void setRank(int rank) + { + rank_ = rank; + } - public String toString() { - String str = "(NAME:" + name_ + " rank: " + rank_ + " packagename:" + packagename_ + ") -IT USES> ("; - for (Enumeration e = usedNodes_.elements(); e.hasMoreElements();) { - str = str + ((Node)e.nextElement()).getName() + " "; - } + public String toString() + { + String str = "(NAME:" + name_ + " rank: " + rank_ + " packagename:" + packagename_ + ") -IT USES> ("; + for (Enumeration e = usedNodes_.elements(); e.hasMoreElements();) + { + str = str + ((Node) e.nextElement()).getName() + " "; + } - str = str + ") -WHO DEPENDS ON IT> ("; - for (Enumeration e = dependentNodes_.elements(); e.hasMoreElements();) { - str = str + ((Node)e.nextElement()).getName() + " "; - } + str = str + ") -WHO DEPENDS ON IT> ("; + for (Enumeration e = dependentNodes_.elements(); e.hasMoreElements();) + { + str = str + ((Node) e.nextElement()).getName() + " "; + } - return str + ")"; - } + return str + ")"; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |