[jboss-svn-commits] JBL Code SVN: r33037 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main: java/org/drools/planner/examples/nurserostering/domain/contract and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 24 08:44:15 EDT 2010


Author: ge0ffrey
Date: 2010-05-24 08:44:15 -0400 (Mon, 24 May 2010)
New Revision: 33037

Added:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/WeekendDefinition.java
Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/contract/Contract.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/benchmark/nurseRosteringStepLimitSolverBenchmarkConfig.xml
Log:
introduce WeekendDefinition

Copied: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/WeekendDefinition.java (from rev 32994, labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOfWeek.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/WeekendDefinition.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/WeekendDefinition.java	2010-05-24 12:44:15 UTC (rev 33037)
@@ -0,0 +1,35 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public enum WeekendDefinition {
+    SATURDAY_SUNDAY("SaturdaySunday"),
+    FRIDAY_SATURDAY_SUNDAY("FridaySaturdaySunday"),
+    FRIDAY_SATURDAY_SUNDAY_MONDAY("FridaySaturdaySundayMonday"),
+    SATURDAY_SUNDAY_MONDAY("SaturdaySundayMonday");
+
+
+    public static WeekendDefinition valueOfCode(String code) {
+        for (WeekendDefinition weekendDefinition : values()) {
+            if (code.equalsIgnoreCase(weekendDefinition.getCode())) {
+                return weekendDefinition;
+            }
+        }
+        return null;
+    }
+
+    private String code;
+
+    private WeekendDefinition(String code) {
+        this.code = code;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String toString() {
+        return code;
+    }
+}

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/contract/Contract.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/contract/Contract.java	2010-05-24 12:36:45 UTC (rev 33036)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/contract/Contract.java	2010-05-24 12:44:15 UTC (rev 33037)
@@ -5,6 +5,7 @@
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import org.apache.commons.lang.builder.CompareToBuilder;
 import org.drools.planner.examples.common.domain.AbstractPersistable;
+import org.drools.planner.examples.nurserostering.domain.WeekendDefinition;
 
 /**
  * @author Geoffrey De Smet
@@ -14,6 +15,7 @@
 
     private String code;
     private String description;
+    private WeekendDefinition weekendDefinition;
 
     private List<ContractLine> contractLineList;
 
@@ -33,6 +35,14 @@
         this.description = description;
     }
 
+    public WeekendDefinition getWeekendDefinition() {
+        return weekendDefinition;
+    }
+
+    public void setWeekendDefinition(WeekendDefinition weekendDefinition) {
+        this.weekendDefinition = weekendDefinition;
+    }
+
     public List<ContractLine> getContractLineList() {
         return contractLineList;
     }

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java	2010-05-24 12:36:45 UTC (rev 33036)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringSolutionImporter.java	2010-05-24 12:44:15 UTC (rev 33037)
@@ -26,6 +26,7 @@
 import org.drools.planner.examples.nurserostering.domain.ShiftTypeSkillRequirement;
 import org.drools.planner.examples.nurserostering.domain.Skill;
 import org.drools.planner.examples.nurserostering.domain.SkillProficiency;
+import org.drools.planner.examples.nurserostering.domain.WeekendDefinition;
 import org.drools.planner.examples.nurserostering.domain.contract.BooleanContractLine;
 import org.drools.planner.examples.nurserostering.domain.contract.Contract;
 import org.drools.planner.examples.nurserostering.domain.contract.ContractLine;
@@ -391,8 +392,9 @@
                         contractLineId, null,
                         element.getChild("MaxWorkingWeekendsInFourWeeks"),
                         ContractLineType.TOTAL_WORKING_WEEKENDS_IN_FOUR_WEEKS);
-// TODO
-//      <WeekendDefinition>SaturdaySunday</WeekendDefinition>
+                WeekendDefinition weekendDefinition = WeekendDefinition.valueOfCode(
+                        element.getChild("WeekendDefinition").getText());
+                contract.setWeekendDefinition(weekendDefinition);
                 contractLineId = readBooleanContractLine(contract, contractLineList, contractLineListOfContract,
                         contractLineId, element.getChild("CompleteWeekends"),
                         ContractLineType.COMPLETE_WEEKENDS);
@@ -528,10 +530,10 @@
                 contractLine.setMaximumEnabled(maximumEnabled);
                 if (maximumEnabled) {
                     int maximumValue = Integer.parseInt(maxElement.getText());
-                    if (maximumValue < 1) {
+                    if (maximumValue < 0) {
                         throw new IllegalArgumentException("The maximumValue (" + maximumValue
                                 + ") of contract (" + contract.getCode() + ") and contractLineType ("
-                                + contractLineType + ") should be at least 1.");
+                                + contractLineType + ") should be at least 0.");
                     }
                     contractLine.setMaximumValue(maximumValue);
                     contractLine.setMaximumWeight(maximumWeight);

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/benchmark/nurseRosteringStepLimitSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/benchmark/nurseRosteringStepLimitSolverBenchmarkConfig.xml	2010-05-24 12:36:45 UTC (rev 33036)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nurserostering/benchmark/nurseRosteringStepLimitSolverBenchmarkConfig.xml	2010-05-24 12:44:15 UTC (rev 33037)
@@ -4,7 +4,7 @@
     <solverStatisticType>BEST_SOLUTION_CHANGED</solverStatisticType>
     <solverStatisticFilesDirectory>local/data/nurserostering/statistic</solverStatisticFilesDirectory>
     
-    <inheritedUnsolvedSolutionFile>data/nurserostering/unsolved/medium01_initialized.xml</inheritedUnsolvedSolutionFile>
+    <inheritedUnsolvedSolutionFile>data/nurserostering/unsolved/medium_late01_initialized.xml</inheritedUnsolvedSolutionFile>
 
     <inheritedLocalSearchSolver>
         <!--<environmentMode>DEBUG</environmentMode>-->



More information about the jboss-svn-commits mailing list