[jboss-svn-commits] JBL Code SVN: r32732 - in labs/jbossrules/trunk/drools-planner: drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 5 04:30:23 EDT 2010


Author: ge0ffrey
Date: 2010-05-05 04:30:21 -0400 (Wed, 05 May 2010)
New Revision: 32732

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/move/CompositeMove.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml
Log:
CompositeMove should be TabuPropertyEnabled

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/move/CompositeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/move/CompositeMove.java	2010-05-05 08:14:17 UTC (rev 32731)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/move/CompositeMove.java	2010-05-05 08:30:21 UTC (rev 32732)
@@ -1,20 +1,25 @@
 package org.drools.planner.core.move;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Collections;
 import java.util.ArrayList;
+import java.util.Set;
 
 import org.drools.WorkingMemory;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
 
 /**
- * A CompositeMove is composided out of multiple other moves.
+ * A CompositeMove is composed out of multiple other moves.
  * <p/>
  * Warning: one of the moveList moves should not rely on the effect on of a previous moveList move
  * to create an uncorrupted undoMove. In other words, 
  * @see Move
  * @author Geoffrey De Smet
  */
-public class CompositeMove implements Move {
+public class CompositeMove implements Move, TabuPropertyEnabled {
 
     protected List<Move> moveList;
 
@@ -56,6 +61,14 @@
         }
     }
 
+    public Collection<? extends Object> getTabuProperties() {
+        Set<Object> tabuProperties = new HashSet<Object>(moveList.size() * 2);
+        for (Move move : moveList) {
+            tabuProperties.addAll(((TabuPropertyEnabled) move).getTabuProperties());
+        }
+        return tabuProperties;
+    }
+
     public boolean equals(Object o) {
         if (this == o) {
             return true;

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml	2010-05-05 08:14:17 UTC (rev 32731)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml	2010-05-05 08:30:21 UTC (rev 32732)
@@ -34,4 +34,3 @@
         <foragerType>MAX_SCORE_OF_ALL</foragerType>
     </forager>
 </localSearchSolver>
-        
\ No newline at end of file



More information about the jboss-svn-commits mailing list