[jboss-svn-commits] JBL Code SVN: r32264 - labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Mar 28 13:54:32 EDT 2010


Author: ge0ffrey
Date: 2010-03-28 13:54:32 -0400 (Sun, 28 Mar 2010)
New Revision: 32264

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java
Log:
nurse rostering domain: result of analysis design choices

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-28 12:41:42 UTC (rev 32263)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java	2010-03-28 17:54:32 UTC (rev 32264)
@@ -12,29 +12,43 @@
 @XStreamAlias("EmployeeAssignment")
 public class EmployeeAssignment extends AbstractPersistable implements Comparable<EmployeeAssignment> {
 
-    private Shift shift;
+    private Employee employee;
+    private ShiftDate shiftDate;
 
     // Changed by moves, between score calculations.
-    private Employee employee;
+    // Can be null, if the employee is not working on the shiftDate
+    private Shift shift;
 
+    public Employee getEmployee() {
+        return employee;
+    }
+
+    public void setEmployee(Employee employee) {
+        this.employee = employee;
+    }
+
+    public ShiftDate getShiftDate() {
+        return shiftDate;
+    }
+
+    public void setShiftDate(ShiftDate shiftDate) {
+        this.shiftDate = shiftDate;
+    }
+
     public Shift getShift() {
         return shift;
     }
 
     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.");
+        }
         this.shift = shift;
     }
 
-    public Employee getEmployee() {
-        return employee;
-    }
-
-    public void setEmployee(Employee employee) {
-        this.employee = employee;
-    }
-
     public String getLabel() {
-        return shift + "_" + employee;
+        return employee + "(" + shiftDate + ")" + "->" + (shift == null ?  "FREE" : shift.getShiftType());
     }
 
     public int compareTo(EmployeeAssignment other) {
@@ -87,7 +101,7 @@
 
     @Override
     public String toString() {
-        return shift + "_" + employee;
+        return employee + "(" + shiftDate + ")" + "->" + shift;
     }
 
 }



More information about the jboss-svn-commits mailing list