[jboss-svn-commits] JBL Code SVN: r33044 - labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon May 24 10:43:21 EDT 2010
Author: ge0ffrey
Date: 2010-05-24 10:43:21 -0400 (Mon, 24 May 2010)
New Revision: 33044
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringEvaluatorHelper.java
Log:
update to new evaluator
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringEvaluatorHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringEvaluatorHelper.java 2010-05-24 14:04:24 UTC (rev 33043)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringEvaluatorHelper.java 2010-05-24 14:43:21 UTC (rev 33044)
@@ -1,10 +1,8 @@
package org.drools.planner.examples.nurserostering.persistence;
import java.io.File;
-import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
@@ -59,7 +57,7 @@
private String lineContainsFilter;
private StringBuilder lineBuffer = new StringBuilder(120);
- private Map<String, int[]> excessMap = new TreeMap<String, int[]>();
+ private Map<String, int[]> costMap = new TreeMap<String, int[]>();
private String lastEmployeeCode = null;
private EvaluatorSummaryFilterOutputStream(String name, String lineContainsFilter) {
@@ -89,14 +87,15 @@
int excessIndex = line.indexOf("excess = ");
if (excessIndex >= 0) {
String key = line.substring(0, excessIndex);
- int value = Integer.parseInt(line.substring(excessIndex).replaceAll("excess = (\\d+) .*", "$1"));
- int[] excess = excessMap.get(key);
- if (excess == null) {
- excess = new int[]{1, value};
- excessMap.put(key, excess);
+ int costIndex = line.indexOf("cost = ");
+ int value = Integer.parseInt((line.substring(costIndex) + " ").replaceAll("cost = (\\d+) .*", "$1"));
+ int[] cost = costMap.get(key);
+ if (cost == null) {
+ cost = new int[]{1, value};
+ costMap.put(key, cost);
} else {
- excess[0]++;
- excess[1] += value;
+ cost[0]++;
+ cost[1] += value;
}
}
if (lastEmployeeCode != null) {
@@ -108,13 +107,16 @@
public void writeResults() {
System.out.println("EvaluatorHelper results for " + name);
+ int grandTotal = 0;
if (lineContainsFilter != null) {
System.out.println("with lineContainsFilter (" + lineContainsFilter + ")");
}
- for (Map.Entry<String, int[]> entry : excessMap.entrySet()) {
- int[] excess = entry.getValue();
- System.out.println(entry.getKey() + " count = " + excess[0] + " total = " + excess[1]);
+ for (Map.Entry<String, int[]> entry : costMap.entrySet()) {
+ int[] cost = entry.getValue();
+ grandTotal += cost[1];
+ System.out.println(entry.getKey() + " count = " + cost[0] + " total = " + cost[1]);
}
+ System.out.println("Grand total: " + grandTotal);
}
}
More information about the jboss-svn-commits
mailing list