|
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.
|