[jboss-svn-commits] JBL Code SVN: r29014 - in labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core: event and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 21 10:11:01 EDT 2009
Author: ge0ffrey
Date: 2009-08-21 10:11:01 -0400 (Fri, 21 Aug 2009)
New Revision: 29014
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/Solver.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/BestSolutionChangedEvent.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/SolverEventSupport.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/bestsolution/BestSolutionRecaller.java
Log:
javadocs + add timeMillisSpend to BestSolutionChangedEvent
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/Solver.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/Solver.java 2009-08-21 13:40:47 UTC (rev 29013)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/Solver.java 2009-08-21 14:11:01 UTC (rev 29014)
@@ -22,6 +22,7 @@
Solution getBestSolution();
/**
+ * TODO timeMillisSpend should not continue to increase after the solver has been terminated
* @return the amount of millis spend since this solver started
*/
long getTimeMillisSpend();
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/BestSolutionChangedEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/BestSolutionChangedEvent.java 2009-08-21 13:40:47 UTC (rev 29013)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/BestSolutionChangedEvent.java 2009-08-21 14:11:01 UTC (rev 29014)
@@ -3,6 +3,7 @@
import java.util.EventObject;
import org.drools.solver.core.solution.Solution;
+import org.drools.solver.core.Solver;
/**
* Delivered when the best solution changes during solving.
@@ -10,18 +11,27 @@
*/
public class BestSolutionChangedEvent extends EventObject {
- public final Solution newBestSolution;
+ private final long timeMillisSpend;
+ private final Solution newBestSolution;
/**
* Internal API.
* @param newBestSolution never null
*/
- public BestSolutionChangedEvent(Solution newBestSolution) {
- super(newBestSolution); // TODO is this really the source of this event?
+ public BestSolutionChangedEvent(Solver source, long timeMillisSpend, Solution newBestSolution) {
+ super(source);
+ this.timeMillisSpend = timeMillisSpend;
this.newBestSolution = newBestSolution;
}
/**
+ * @return the amount of millis spend since the solver started untill that best solution was found
+ */
+ public long getTimeMillisSpend() {
+ return timeMillisSpend;
+ }
+
+ /**
* @return never null
*/
public Solution getNewBestSolution() {
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/SolverEventSupport.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/SolverEventSupport.java 2009-08-21 13:40:47 UTC (rev 29013)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/event/SolverEventSupport.java 2009-08-21 14:11:01 UTC (rev 29014)
@@ -3,6 +3,7 @@
import java.util.Iterator;
import org.drools.solver.core.solution.Solution;
+import org.drools.solver.core.Solver;
import org.drools.event.AbstractEventSupport;
import org.drools.event.RuleBaseEventListener;
import org.drools.event.BeforePackageAddedEvent;
@@ -13,10 +14,11 @@
*/
public class SolverEventSupport extends AbstractEventSupport<SolverEventListener> {
- public void fireBestSolutionChanged(Solution newBestSolution) {
+ public void fireBestSolutionChanged(Solver source, long timeMillisSpend, Solution newBestSolution) {
final Iterator<SolverEventListener> iter = getEventListenersIterator();
if (iter.hasNext()) {
- final BestSolutionChangedEvent event = new BestSolutionChangedEvent(newBestSolution);
+ final BestSolutionChangedEvent event = new BestSolutionChangedEvent(
+ source, timeMillisSpend, newBestSolution);
do {
iter.next().bestSolutionChanged(event);
} while (iter.hasNext());
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/bestsolution/BestSolutionRecaller.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/bestsolution/BestSolutionRecaller.java 2009-08-21 13:40:47 UTC (rev 29013)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/bestsolution/BestSolutionRecaller.java 2009-08-21 14:11:01 UTC (rev 29014)
@@ -60,7 +60,8 @@
Solution newBestSolution = stepScope.createOrGetClonedSolution();
localSearchSolverScope.setBestSolution(newBestSolution);
localSearchSolverScope.setBestScore(newBestSolution.getScore());
- solverEventSupport.fireBestSolutionChanged(newBestSolution);
+ solverEventSupport.fireBestSolutionChanged(localSearchSolver,
+ localSearchSolverScope.calculateTimeMillisSpend(), newBestSolution);
} else {
logger.info("New score ({}) is not better then last best score ({}).", newScore, bestScore);
}
More information about the jboss-svn-commits
mailing list