[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