[jboss-svn-commits] JBL Code SVN: r28966 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common: swingui and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Aug 17 11:14:53 EDT 2009
Author: ge0ffrey
Date: 2009-08-17 11:14:53 -0400 (Mon, 17 Aug 2009)
New Revision: 28966
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/WorkflowFrame.java
Log:
JBRULES-2250 BestSolutionChangedEvent: use it in the examples to update the label
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java 2009-08-17 15:11:13 UTC (rev 28965)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/business/SolutionBusiness.java 2009-08-17 15:14:53 UTC (rev 28966)
@@ -13,6 +13,7 @@
import org.drools.ClassObjectFilter;
import org.drools.WorkingMemory;
import org.drools.solver.core.Solver;
+import org.drools.solver.core.event.SolverEventListener;
import org.drools.solver.core.localsearch.DefaultLocalSearchSolver;
import org.drools.solver.core.localsearch.LocalSearchSolverScope;
import org.drools.solver.core.move.Move;
@@ -93,6 +94,10 @@
return localSearchSolverScope.calculateScoreFromWorkingMemory();
}
+ public void addSolverEventLister(SolverEventListener eventListener) {
+ solver.addEventListener(eventListener);
+ }
+
public List<ScoreDetail> getScoreDetailList() {
Map<String, ScoreDetail> scoreDetailMap = new HashMap<String, ScoreDetail>();
WorkingMemory workingMemory = localSearchSolverScope.getWorkingMemory();
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/WorkflowFrame.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/WorkflowFrame.java 2009-08-17 15:11:13 UTC (rev 28965)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/swingui/WorkflowFrame.java 2009-08-17 15:14:53 UTC (rev 28966)
@@ -29,6 +29,9 @@
import javax.swing.filechooser.FileFilter;
import org.drools.solver.examples.common.business.SolutionBusiness;
+import org.drools.solver.core.event.SolverEventListener;
+import org.drools.solver.core.event.BestSolutionChangedEvent;
+import org.drools.solver.core.solution.Solution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -60,11 +63,25 @@
this.solutionPanel = solutionPanel;
solutionPanel.setSolutionBusiness(solutionBusiness);
solutionPanel.setWorkflowFrame(this);
+ registerSolverEventListener();
constraintScoreMapDialog = new ConstraintScoreMapDialog(this);
constraintScoreMapDialog.setSolutionBusiness(solutionBusiness);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
+ private void registerSolverEventListener() {
+ solutionBusiness.addSolverEventLister(new SolverEventListener() {
+ public void bestSolutionChanged(BestSolutionChangedEvent event) {
+ final Solution bestSolution = event.getNewBestSolution();
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ resultLabel.setText("Latest best score: " + bestSolution.getScore());
+ }
+ });
+ }
+ });
+ }
+
public void init() {
setContentPane(createContentPane());
pack();
@@ -262,7 +279,7 @@
public void updateScreen() {
solutionPanel.resetPanel();
validate();
- resultLabel.setText("Score = " + solutionBusiness.getScore());
+ resultLabel.setText("Score: " + solutionBusiness.getScore());
}
}
More information about the jboss-svn-commits
mailing list