[jboss-svn-commits] JBL Code SVN: r32285 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering: solver/solution/initializer and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 29 14:43:46 EDT 2010
Author: ge0ffrey
Date: 2010-03-29 14:43:46 -0400 (Mon, 29 Mar 2010)
New Revision: 32285
Modified:
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/EmployeeAssignment.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/solver/solution/initializer/NurseRosteringStartingSolutionInitializer.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java
Log:
fix gui, fix clone
Modified: 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/DayOfWeek.java 2010-03-29 18:38:20 UTC (rev 32284)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOfWeek.java 2010-03-29 18:43:46 UTC (rev 32285)
@@ -54,4 +54,7 @@
return code;
}
+ public String toString() {
+ return code.substring(0, 3);
+ }
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java 2010-03-29 18:38:20 UTC (rev 32284)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java 2010-03-29 18:43:46 UTC (rev 32285)
@@ -42,27 +42,29 @@
public void setShift(Shift shift) {
if (shift != null && !shift.getShiftDate().equals(shiftDate)) {
throw new IllegalArgumentException("The EmployeeAssignment (" + this + ") cannot have a shift (" + shift
- + ") with a different shiftDate.");
+ + ") with a different shiftDate(" + shiftDate + ").");
}
this.shift = shift;
}
public String getLabel() {
- return employee + "(" + shiftDate + ")" + "->" + (shift == null ? "FREE" : shift.getShiftType());
+ return employee + "->" + (shift == null ? "FREE" : shift.getShiftType());
}
public int compareTo(EmployeeAssignment other) {
return new CompareToBuilder()
+ .append(employee, other.employee)
+ .append(shiftDate, other.shiftDate)
.append(shift, other.shift)
- .append(employee, other.employee)
.toComparison();
}
public EmployeeAssignment clone() {
EmployeeAssignment clone = new EmployeeAssignment();
clone.id = id;
+ clone.employee = employee;
+ clone.shiftDate = shiftDate;
clone.shift = shift;
- clone.employee = employee;
return clone;
}
@@ -78,8 +80,9 @@
EmployeeAssignment other = (EmployeeAssignment) o;
return new EqualsBuilder()
.append(id, other.id)
+ .append(employee, other.employee)
+ .append(shiftDate, other.shiftDate)
.append(shift, other.shift)
- .append(employee, other.employee)
.isEquals();
} else {
return false;
@@ -94,8 +97,9 @@
public int solutionHashCode() {
return new HashCodeBuilder()
.append(id)
+ .append(employee)
+ .append(shiftDate)
.append(shift)
- .append(employee)
.toHashCode();
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/solver/solution/initializer/NurseRosteringStartingSolutionInitializer.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/solver/solution/initializer/NurseRosteringStartingSolutionInitializer.java 2010-03-29 18:38:20 UTC (rev 32284)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/solver/solution/initializer/NurseRosteringStartingSolutionInitializer.java 2010-03-29 18:43:46 UTC (rev 32285)
@@ -3,6 +3,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Random;
import org.apache.commons.lang.builder.CompareToBuilder;
import org.drools.WorkingMemory;
@@ -141,6 +142,7 @@
// TODO tmp begin
List<ShiftDate> shiftDateList = nurseRoster.getShiftDateList();
int employeeAssignmentId = 0;
+ Random random = new Random(); // not seeded, tmp!
for (Employee employee : employeeList) {
for (ShiftDate shiftDate : shiftDateList) {
EmployeeAssignment employeeAssignment = new EmployeeAssignment();
@@ -148,6 +150,9 @@
employeeAssignmentId++;
employeeAssignment.setEmployee(employee);
employeeAssignment.setShiftDate(shiftDate);
+ List<Shift> shiftList = shiftDate.getShiftList();
+ int randomInt = random.nextInt(shiftList.size() + 1);
+ employeeAssignment.setShift(randomInt == shiftList.size() ? null : shiftList.get(randomInt));
employeeAssignmentList.add(employeeAssignment);
}
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java 2010-03-29 18:38:20 UTC (rev 32284)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java 2010-03-29 18:43:46 UTC (rev 32285)
@@ -45,7 +45,7 @@
removeAll();
NurseRoster schedule = getNurseRoster();
gridLayout.setColumns(schedule.getEmployeeList().size() + 1);
- JLabel headerCornerLabel = new JLabel("Shift \\ Employee");
+ JLabel headerCornerLabel = new JLabel("Shift \\ Employee");
headerCornerLabel.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.DARK_GRAY),
BorderFactory.createEmptyBorder(2, 2, 2, 2)));
@@ -99,17 +99,17 @@
}
public void addEmployeeAssignment(EmployeeAssignment employeeAssignment) {
- JButton button = new JButton(new ExamAction(employeeAssignment));
+ JButton button = new JButton(new EmployeeAssignmentAction(employeeAssignment));
add(button);
}
}
- private class ExamAction extends AbstractAction {
+ private class EmployeeAssignmentAction extends AbstractAction {
private EmployeeAssignment employeeAssignment;
- public ExamAction(EmployeeAssignment employeeAssignment) {
+ public EmployeeAssignmentAction(EmployeeAssignment employeeAssignment) {
super(employeeAssignment.getLabel());
this.employeeAssignment = employeeAssignment;
}
More information about the jboss-svn-commits
mailing list