Some more DynEMC work - lots still to do!
This commit is contained in:
parent
e2b9869c0e
commit
27fab71f64
3 changed files with 78 additions and 20 deletions
|
@ -56,6 +56,7 @@ public class DynEMC {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populateItemList() {
|
private void populateItemList() {
|
||||||
|
|
||||||
ArrayList<ItemStack> subItems = new ArrayList<ItemStack>();
|
ArrayList<ItemStack> subItems = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -192,11 +193,59 @@ public class DynEMC {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public int size() {
|
||||||
// TODO Make this an actual toString and take out the logging into a debug method
|
|
||||||
public String toString() {
|
|
||||||
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
return graph.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<CustomWrappedStack> getAllNodes() {
|
||||||
|
|
||||||
|
ArrayList<CustomWrappedStack> allNodes = new ArrayList<CustomWrappedStack>();
|
||||||
|
|
||||||
|
Iterator<CustomWrappedStack> nodeIter = graph.iterator();
|
||||||
|
|
||||||
|
while (nodeIter.hasNext()) {
|
||||||
|
allNodes.add(nodeIter.next());
|
||||||
|
}
|
||||||
|
|
||||||
|
return allNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<CustomWrappedStack> getCriticalNodes() {
|
||||||
|
|
||||||
|
ArrayList<CustomWrappedStack> criticalNodes = new ArrayList<CustomWrappedStack>();
|
||||||
|
|
||||||
|
Iterator<CustomWrappedStack> nodeIter = graph.iterator();
|
||||||
|
|
||||||
|
while (nodeIter.hasNext()) {
|
||||||
|
CustomWrappedStack currentNode = nodeIter.next();
|
||||||
|
|
||||||
|
if (graph.edgesFrom(currentNode).size() == 0) {
|
||||||
|
criticalNodes.add(currentNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return criticalNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<CustomWrappedStack> getOrphanNodes() {
|
||||||
|
|
||||||
|
ArrayList<CustomWrappedStack> criticalNodes = new ArrayList<CustomWrappedStack>();
|
||||||
|
|
||||||
|
Iterator<CustomWrappedStack> nodeIter = graph.iterator();
|
||||||
|
|
||||||
|
while (nodeIter.hasNext()) {
|
||||||
|
CustomWrappedStack currentNode = nodeIter.next();
|
||||||
|
|
||||||
|
if ((graph.edgesFrom(currentNode).size() == 0) && (graph.edgesTo(currentNode).size() == 0)) {
|
||||||
|
criticalNodes.add(currentNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return criticalNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void printDebugDump() {
|
||||||
|
|
||||||
LogHelper.log(Level.INFO, "***** START NODES *****");
|
LogHelper.log(Level.INFO, "***** START NODES *****");
|
||||||
Iterator<CustomWrappedStack> nodeIter = graph.iterator();
|
Iterator<CustomWrappedStack> nodeIter = graph.iterator();
|
||||||
|
@ -235,6 +284,14 @@ public class DynEMC {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LogHelper.log(Level.INFO, "***** END EDGES TO *****");
|
LogHelper.log(Level.INFO, "***** END EDGES TO *****");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
stringBuilder.append(String.format("DynEMC Node Count: %s", graph.size()));
|
||||||
|
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,6 +119,7 @@ public class WeightedDirectedGraph<T> implements Iterable<T> {
|
||||||
Set<WeightedEdge<T>> edgesTo = new TreeSet<WeightedEdge<T>>(new Comparator<WeightedEdge<T>>() {
|
Set<WeightedEdge<T>> edgesTo = new TreeSet<WeightedEdge<T>>(new Comparator<WeightedEdge<T>>() {
|
||||||
|
|
||||||
public int compare(WeightedEdge<T> o1, WeightedEdge<T> o2) {
|
public int compare(WeightedEdge<T> o1, WeightedEdge<T> o2) {
|
||||||
|
|
||||||
return o1.hashCode() - o2.hashCode();
|
return o1.hashCode() - o2.hashCode();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue