[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