[jboss-svn-commits] JBL Code SVN: r33351 - labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 4 10:04:20 EDT 2010


Author: ge0ffrey
Date: 2010-06-04 10:04:19 -0400 (Fri, 04 Jun 2010)
New Revision: 33351

Added:
   labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/MillisecondsSpendNumberFormat.java
Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java
Log:
MillisecondsSpendNumberFormat

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-06-04 13:30:07 UTC (rev 33350)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/BestScoreStatistic.java	2010-06-04 14:04:19 UTC (rev 33351)
@@ -17,21 +17,16 @@
 
 import org.drools.planner.core.Solver;
 import org.drools.planner.core.score.Score;
-import org.drools.planner.core.score.SimpleScore;
-import org.drools.planner.core.score.HardAndSoftScore;
 import org.apache.commons.io.IOUtils;
 import org.drools.planner.core.score.definition.ScoreDefinition;
-import org.jfree.chart.ChartFactory;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.axis.NumberAxis;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.xy.XYItemRenderer;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
 import org.jfree.chart.renderer.xy.XYStepRenderer;
 import org.jfree.data.xy.XYSeries;
 import org.jfree.data.xy.XYSeriesCollection;
-import org.jfree.ui.RectangleInsets;
 
 /**
  * @author Geoffrey De Smet
@@ -173,6 +168,7 @@
         }
         NumberAxis xAxis = new NumberAxis("Time millis spend");
         xAxis.setAutoRangeIncludesZero(false);
+        xAxis.setNumberFormatOverride(new MillisecondsSpendNumberFormat());
         NumberAxis yAxis = new NumberAxis("Score");
         yAxis.setAutoRangeIncludesZero(false);
         XYItemRenderer renderer = new XYStepRenderer();

Added: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/MillisecondsSpendNumberFormat.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/MillisecondsSpendNumberFormat.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/statistic/MillisecondsSpendNumberFormat.java	2010-06-04 14:04:19 UTC (rev 33351)
@@ -0,0 +1,56 @@
+package org.drools.planner.benchmark.statistic;
+
+import java.text.FieldPosition;
+import java.text.NumberFormat;
+import java.text.ParsePosition;
+
+/**
+ * @author Geoffrey De Smet
+ */
+class MillisecondsSpendNumberFormat extends NumberFormat {
+
+    private final static long DAY_MILLIS = 3600000L * 24L;
+    private final static long HOUR_MILLIS = 3600000L;
+    private final static long MINUTE_MILLIS = 60000L;
+    private final static long SECOND_MILLIS = 1000L; 
+
+    public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
+        return format((long) number, toAppendTo, pos);
+    }
+
+    public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {
+        if (number == 0L) {
+            toAppendTo.append("0");
+        }
+        long rest = number;
+        long days = rest / DAY_MILLIS;
+        if (days > 0) {
+            toAppendTo.append(days).append("d");
+            rest %= DAY_MILLIS;
+        }
+        long hours = rest / HOUR_MILLIS;
+        if (hours > 0) {
+            toAppendTo.append(hours).append("h");
+            rest %= HOUR_MILLIS;
+        }
+        long minutes = rest / MINUTE_MILLIS;
+        if (minutes > 0) {
+            toAppendTo.append(minutes).append("m");
+            rest %= MINUTE_MILLIS;
+        }
+        long seconds = rest / SECOND_MILLIS;
+        if (seconds > 0) {
+            toAppendTo.append(seconds).append("s");
+            rest %= SECOND_MILLIS;
+        }
+        if (rest > 0) {
+            toAppendTo.append(rest).append("ms");
+        }
+        return toAppendTo;
+    }
+
+    public Number parse(String source, ParsePosition parsePosition) {
+        throw new UnsupportedOperationException();
+    }
+
+}



More information about the jboss-svn-commits mailing list