[jboss-svn-commits] JBL Code SVN: r29026 - labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/benchmark/statistic.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 23 08:08:08 EDT 2009
Author: ge0ffrey
Date: 2009-08-23 08:08:07 -0400 (Sun, 23 Aug 2009)
New Revision: 29026
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/benchmark/statistic/BestSolutionStatistic.java
Log:
BestSolutionStatistic: output a standard compliant CSV file
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/benchmark/statistic/BestSolutionStatistic.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/benchmark/statistic/BestSolutionStatistic.java 2009-08-22 22:51:23 UTC (rev 29025)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/benchmark/statistic/BestSolutionStatistic.java 2009-08-23 12:08:07 UTC (rev 29026)
@@ -45,25 +45,38 @@
public void writeStatistic(File solverStatisticFilesDirectory, String baseName) {
Set<String> configNameSet = bestSolutionStatisticListenerMap.keySet();
List<TimeMillisSpendDetail> timeMillisSpendDetailList = extractTimeMillisSpendDetailList();
- File statisticFile = new File(solverStatisticFilesDirectory, baseName + "Statistic.txt");
+ File statisticFile = new File(solverStatisticFilesDirectory, baseName + "Statistic.csv");
Writer writer = null;
try {
writer = new OutputStreamWriter(new FileOutputStream(statisticFile), "utf-8");
+ writer.append("\"TimeMillisSpend\"");
+ for (String configName : configNameSet) {
+ writer.append(",\"").append(configName.replaceAll("\\\"","\\\"")).append("\"");
+ }
+ writer.append("\n");
for (TimeMillisSpendDetail timeMillisSpendDetail : timeMillisSpendDetailList) {
writer.write(Long.toString(timeMillisSpendDetail.getTimeMillisSpend()));
for (String configName : configNameSet) {
- writer.append(";");
+ writer.append(",");
Score score = timeMillisSpendDetail.getConfigNameToScoreMap().get(configName);
if (score != null) {
- int scoreAlias;
+ Integer scoreAlias;
if (score instanceof SimpleScore) {
- scoreAlias = ((SimpleScore) score).getScore();
+ SimpleScore simpleScore = (SimpleScore) score;
+ scoreAlias = simpleScore.getScore();
} else if (score instanceof HardAndSoftScore) {
- scoreAlias = ((HardAndSoftScore) score).getSoftScore();
+ HardAndSoftScore hardAndSoftScore = (HardAndSoftScore) score;
+ if (hardAndSoftScore.getHardScore() == 0) {
+ scoreAlias = hardAndSoftScore.getSoftScore();
+ } else {
+ scoreAlias = null;
+ }
} else {
throw new IllegalStateException("Score class (" + score.getClass() + ") not supported.");
}
- writer.append(Integer.toString(scoreAlias));
+ if (scoreAlias != null) {
+ writer.append(scoreAlias.toString());
+ }
}
}
writer.append("\n");
More information about the jboss-svn-commits
mailing list