[jboss-svn-commits] JBL Code SVN: r31863 - in labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark: statistic and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Feb 27 14:04:44 EST 2010
Author: ge0ffrey
Date: 2010-02-27 14:04:44 -0500 (Sat, 27 Feb 2010)
New Revision: 31863
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/SolverStatistic.java
Log:
JBRULES-2440 index file
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java 2010-02-27 17:46:23 UTC (rev 31862)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java 2010-02-27 19:04:44 UTC (rev 31863)
@@ -9,6 +9,7 @@
import java.io.Reader;
import java.io.Writer;
import java.text.NumberFormat;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -26,6 +27,7 @@
import org.apache.commons.io.IOUtils;
import org.drools.planner.config.localsearch.LocalSearchSolverConfig;
import org.drools.planner.core.Solver;
+import org.drools.planner.core.score.Score;
import org.drools.planner.core.solution.Solution;
import org.drools.planner.benchmark.statistic.BestScoreStatistic;
import org.drools.planner.benchmark.statistic.SolverStatistic;
@@ -203,16 +205,44 @@
}
}
if (solverStatisticType != SolverStatisticType.NONE) {
+ List<CharSequence> htmlFragments = new ArrayList<CharSequence>(unsolvedSolutionFileToStatisticMap.size());
for (Map.Entry<File, SolverStatistic> entry : unsolvedSolutionFileToStatisticMap.entrySet()) {
File unsolvedSolutionFile = entry.getKey();
SolverStatistic statistic = entry.getValue();
String baseName = FilenameUtils.getBaseName(unsolvedSolutionFile.getName());
- statistic.writeStatistic(solverStatisticFilesDirectory, baseName);
+ StringBuilder htmlFragment = new StringBuilder();
+ htmlFragment.append(" <h2>").append(baseName).append("</h2>");
+ htmlFragment.append(statistic.writeStatistic(solverStatisticFilesDirectory, baseName));
+ htmlFragments.add(htmlFragment);
}
+ writeHtmlOverview(htmlFragments);
}
benchmarkingEnded();
}
+ private void writeHtmlOverview(List<CharSequence> htmlFragments) {
+ File htmlOverviewFile = new File(solverStatisticFilesDirectory, "index.html");
+ Writer writer = null;
+ try {
+ writer = new OutputStreamWriter(new FileOutputStream(htmlOverviewFile), "utf-8");
+ writer.append("<html>\n");
+ writer.append("<head>\n");
+ writer.append(" <title>Statistic</title>\n");
+ writer.append("</head>\n");
+ writer.append("<body>\n");
+ writer.append(" <h1>Statistic ").append(solverStatisticType.toString()).append("</h1>\n");
+ for (CharSequence htmlFragment : htmlFragments) {
+ writer.append(htmlFragment);
+ }
+ writer.append("</body>\n");
+ writer.append("</html>\n");
+ } catch (IOException e) {
+ throw new IllegalArgumentException("Problem writing htmlOverviewFile: " + htmlOverviewFile, e);
+ } finally {
+ IOUtils.closeQuietly(writer);
+ }
+ }
+
private Solution readUnsolvedSolution(XStream xStream, File unsolvedSolutionFile) {
Solution unsolvedSolution;
Reader reader = null;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java 2010-02-27 17:46:23 UTC (rev 31862)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java 2010-02-27 19:04:44 UTC (rev 31863)
@@ -57,9 +57,11 @@
solver.removeEventListener(bestScoreStatisticListener);
}
- public void writeStatistic(File solverStatisticFilesDirectory, String baseName) {
- writeCsvStatistic(solverStatisticFilesDirectory, baseName);
- writeGraphStatistic(solverStatisticFilesDirectory, baseName);
+ public CharSequence writeStatistic(File solverStatisticFilesDirectory, String baseName) {
+ StringBuilder htmlFragment = new StringBuilder();
+ htmlFragment.append(writeCsvStatistic(solverStatisticFilesDirectory, baseName));
+ htmlFragment.append(writeGraphStatistic(solverStatisticFilesDirectory, baseName));
+ return htmlFragment;
}
private List<TimeToBestScoresLine> extractTimeToBestScoresLineList() {
@@ -108,7 +110,7 @@
}
- private void writeCsvStatistic(File solverStatisticFilesDirectory, String baseName) {
+ private CharSequence writeCsvStatistic(File solverStatisticFilesDirectory, String baseName) {
List<TimeToBestScoresLine> timeToBestScoresLineList = extractTimeToBestScoresLineList();
File csvStatisticFile = new File(solverStatisticFilesDirectory, baseName + "Statistic.csv");
Writer writer = null;
@@ -138,9 +140,10 @@
} finally {
IOUtils.closeQuietly(writer);
}
+ return " <p><a href=\"" + csvStatisticFile.getName() + "\">CVS file</a></p>";
}
- private void writeGraphStatistic(File solverStatisticFilesDirectory, String baseName) {
+ private CharSequence writeGraphStatistic(File solverStatisticFilesDirectory, String baseName) {
XYSeriesCollection seriesCollection = new XYSeriesCollection();
for (Map.Entry<String, BestScoreStatisticListener> listenerEntry : bestScoreStatisticListenerMap.entrySet()) {
String configName = listenerEntry.getKey();
@@ -177,6 +180,7 @@
} finally {
IOUtils.closeQuietly(out);
}
+ return " <img src=\"" + graphStatisticFile.getName() + "\"/>";
}
private Integer extractScoreAlias(Score score) {
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/SolverStatistic.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/SolverStatistic.java 2010-02-27 17:46:23 UTC (rev 31862)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/SolverStatistic.java 2010-02-27 19:04:44 UTC (rev 31863)
@@ -14,6 +14,6 @@
void removeListener(Solver solver, String configName);
- void writeStatistic(File solverStatisticFilesDirectory, String baseName);
+ CharSequence writeStatistic(File solverStatisticFilesDirectory, String baseName);
}
More information about the jboss-svn-commits
mailing list