[jboss-svn-commits] JBL Code SVN: r32222 - 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
Thu Mar 25 16:16:25 EDT 2010


Author: ge0ffrey
Date: 2010-03-25 16:16:24 -0400 (Thu, 25 Mar 2010)
New Revision: 32222

Added:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOffRequest.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOnRequest.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Shift.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOffRequest.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOnRequest.java
Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseAssignment.java
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java
Log:
nurse rostering: shift, requests, nurseAssignment

Copied: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOffRequest.java (from rev 32200, labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftDate.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOffRequest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOffRequest.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -0,0 +1,44 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("DayOffRequest")
+public class DayOffRequest extends AbstractPersistable implements Comparable<DayOffRequest> {
+
+    private Employee employee;
+    private ShiftDate shiftDate;
+
+    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 int compareTo(DayOffRequest other) {
+        return new CompareToBuilder()
+                .append(employee, other.employee)
+                .append(shiftDate, other.shiftDate)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return shiftDate + "_OFF_" + employee;
+    }
+
+}

Added: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOnRequest.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOnRequest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/DayOnRequest.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -0,0 +1,44 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("DayOnRequest")
+public class DayOnRequest extends AbstractPersistable implements Comparable<DayOnRequest> {
+
+    private Employee employee;
+    private ShiftDate shiftDate;
+
+    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 int compareTo(DayOnRequest other) {
+        return new CompareToBuilder()
+                .append(employee, other.employee)
+                .append(shiftDate, other.shiftDate)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return shiftDate + "_ON_" + employee;
+    }
+
+}

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseAssignment.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseAssignment.java	2010-03-25 19:39:44 UTC (rev 32221)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseAssignment.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -7,11 +7,6 @@
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.drools.planner.examples.common.domain.AbstractPersistable;
-import org.drools.planner.examples.curriculumcourse.domain.Course;
-import org.drools.planner.examples.curriculumcourse.domain.Curriculum;
-import org.drools.planner.examples.curriculumcourse.domain.Day;
-import org.drools.planner.examples.curriculumcourse.domain.Period;
-import org.drools.planner.examples.curriculumcourse.domain.Room;
 
 /**
  * @author Geoffrey De Smet
@@ -19,81 +14,43 @@
 @XStreamAlias("NurseAssignment")
 public class NurseAssignment extends AbstractPersistable implements Comparable<NurseAssignment> {
 
-//    private Course course;
-//    private int lectureIndexInCourse;
-//
-//    // Changed by moves, between score calculations.
-//    private Period period;
-//    private Room room;
-//
-//    public Course getCourse() {
-//        return course;
-//    }
-//
-//    public void setCourse(Course course) {
-//        this.course = course;
-//    }
-//
-//    public int getLectureIndexInCourse() {
-//        return lectureIndexInCourse;
-//    }
-//
-//    public void setLectureIndexInCourse(int lectureIndexInCourse) {
-//        this.lectureIndexInCourse = lectureIndexInCourse;
-//    }
-//
-//    public Period getPeriod() {
-//        return period;
-//    }
-//
-//    public void setPeriod(Period period) {
-//        this.period = period;
-//    }
-//
-//    public Room getRoom() {
-//        return room;
-//    }
-//
-//    public void setRoom(Room room) {
-//        this.room = room;
-//    }
-//
-//
-//    public String getLabel() {
-//        return course + "-" + lectureIndexInCourse;
-//    }
-//
-//    public int getStudentSize() {
-//        return course.getStudentSize();
-//    }
-//
-//    public List<Curriculum> getCurriculumList() {
-//        return course.getCurriculumList();
-//    }
-//
-//    public Day getDay() {
-//        return period.getDay();
-//    }
-//
-//    public int getTimeslotIndex() {
-//        return period.getTimeslot().getTimeslotIndex();
-//    }
+    private Shift shift;
 
+    // Changed by moves, between score calculations.
+    private Employee employee;
+
+    public Shift getShift() {
+        return shift;
+    }
+
+    public void setShift(Shift shift) {
+        this.shift = shift;
+    }
+
+    public Employee getEmployee() {
+        return employee;
+    }
+
+    public void setEmployee(Employee employee) {
+        this.employee = employee;
+    }
+
+    public String getLabel() {
+        return shift + "_" + employee;
+    }
+
     public int compareTo(NurseAssignment other) {
         return new CompareToBuilder()
-//                .append(period, other.period)
-//                .append(room, other.room)
-//                .append(course, other.course)
+                .append(shift, other.shift)
+                .append(employee, other.employee)
                 .toComparison();
     }
 
     public NurseAssignment clone() {
         NurseAssignment clone = new NurseAssignment();
         clone.id = id;
-//        clone.course = course;
-//        clone.lectureIndexInCourse = lectureIndexInCourse;
-//        clone.period = period;
-//        clone.room = room;
+        clone.shift = shift;
+        clone.employee = employee;
         return clone;
     }
 
@@ -109,9 +66,8 @@
             NurseAssignment other = (NurseAssignment) o;
             return new EqualsBuilder()
                     .append(id, other.id)
-//                    .append(course, other.course)
-//                    .append(period, other.period)
-//                    .append(room, other.room)
+                    .append(shift, other.shift)
+                    .append(employee, other.employee)
                     .isEquals();
         } else {
             return false;
@@ -126,16 +82,14 @@
     public int solutionHashCode() {
         return new HashCodeBuilder()
                 .append(id)
-//                .append(course)
-//                .append(period)
-//                .append(room)
+                .append(shift)
+                .append(employee)
                 .toHashCode();
     }
 
     @Override
     public String toString() {
-        return id.toString();
-//        return course + "-" + lectureIndexInCourse + " @ " + period + " + " + room;
+        return shift + "_" + employee;
     }
 
 }

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java	2010-03-25 19:39:44 UTC (rev 32221)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -28,6 +28,11 @@
     private List<Employee> employeeList;
     private List<SkillProficiency> skillProficiencyList;
     private List<ShiftDate> shiftDateList;
+    private List<Shift> shiftList;
+    private List<DayOffRequest> dayOffRequestList;
+    private List<DayOnRequest> dayOnRequestList;
+    private List<ShiftOffRequest> shiftOffRequestList;
+    private List<ShiftOnRequest> shiftOnRequestList;
 
     private List<NurseAssignment> nurseAssignmentList;
 
@@ -105,6 +110,46 @@
         this.shiftDateList = shiftDateList;
     }
 
+    public List<Shift> getShiftList() {
+        return shiftList;
+    }
+
+    public void setShiftList(List<Shift> shiftList) {
+        this.shiftList = shiftList;
+    }
+
+    public List<DayOffRequest> getDayOffRequestList() {
+        return dayOffRequestList;
+    }
+
+    public void setDayOffRequestList(List<DayOffRequest> dayOffRequestList) {
+        this.dayOffRequestList = dayOffRequestList;
+    }
+
+    public List<DayOnRequest> getDayOnRequestList() {
+        return dayOnRequestList;
+    }
+
+    public void setDayOnRequestList(List<DayOnRequest> dayOnRequestList) {
+        this.dayOnRequestList = dayOnRequestList;
+    }
+
+    public List<ShiftOffRequest> getShiftOffRequestList() {
+        return shiftOffRequestList;
+    }
+
+    public void setShiftOffRequestList(List<ShiftOffRequest> shiftOffRequestList) {
+        this.shiftOffRequestList = shiftOffRequestList;
+    }
+
+    public List<ShiftOnRequest> getShiftOnRequestList() {
+        return shiftOnRequestList;
+    }
+
+    public void setShiftOnRequestList(List<ShiftOnRequest> shiftOnRequestList) {
+        this.shiftOnRequestList = shiftOnRequestList;
+    }
+
     public List<NurseAssignment> getNurseAssignmentList() {
         return nurseAssignmentList;
     }
@@ -128,7 +173,7 @@
 
     public Collection<? extends Object> getFacts() {
         List<Object> facts = new ArrayList<Object>();
-        facts.add(skillList);
+        facts.addAll(skillList);
         facts.addAll(shiftTypeList);
         facts.addAll(shiftTypeSkillRequirementList);
         facts.addAll(shiftPatternList);
@@ -136,6 +181,11 @@
         facts.addAll(employeeList);
         facts.addAll(skillProficiencyList);
         facts.addAll(shiftDateList);
+        facts.addAll(shiftList);
+        facts.addAll(dayOffRequestList);
+        facts.addAll(dayOnRequestList);
+        facts.addAll(shiftOffRequestList);
+        facts.addAll(shiftOnRequestList);
         // TODO add more properties
 
 
@@ -160,6 +210,11 @@
         clone.employeeList = employeeList;
         clone.skillProficiencyList = skillProficiencyList;
         clone.shiftDateList = shiftDateList;
+        clone.shiftList = shiftList;
+        clone.dayOffRequestList = dayOffRequestList;
+        clone.dayOnRequestList = dayOnRequestList;
+        clone.shiftOffRequestList = shiftOffRequestList;
+        clone.shiftOnRequestList = shiftOnRequestList;
         // TODO add more properties
 
 

Added: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Shift.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Shift.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Shift.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -0,0 +1,44 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("Shift")
+public class Shift extends AbstractPersistable implements Comparable<Shift> {
+
+    private ShiftDate shiftDate;
+    private ShiftType shiftType;
+
+    public ShiftDate getShiftDate() {
+        return shiftDate;
+    }
+
+    public void setShiftDate(ShiftDate shiftDate) {
+        this.shiftDate = shiftDate;
+    }
+
+    public ShiftType getShiftType() {
+        return shiftType;
+    }
+
+    public void setShiftType(ShiftType shiftType) {
+        this.shiftType = shiftType;
+    }
+
+    public int compareTo(Shift other) {
+        return new CompareToBuilder()
+                .append(shiftDate, other.shiftDate)
+                .append(shiftType, other.shiftType)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return shiftDate + "_" + shiftType;
+    }
+
+}

Added: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOffRequest.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOffRequest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOffRequest.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -0,0 +1,44 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("ShiftOffRequest")
+public class ShiftOffRequest extends AbstractPersistable implements Comparable<ShiftOffRequest> {
+
+    private Employee employee;
+    private Shift shift;
+
+    public Employee getEmployee() {
+        return employee;
+    }
+
+    public void setEmployee(Employee employee) {
+        this.employee = employee;
+    }
+
+    public Shift getShift() {
+        return shift;
+    }
+
+    public void setShift(Shift shift) {
+        this.shift = shift;
+    }
+
+    public int compareTo(ShiftOffRequest other) {
+        return new CompareToBuilder()
+                .append(employee, other.employee)
+                .append(shift, other.shift)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return shift + "_OFF_" + employee;
+    }
+
+}

Added: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOnRequest.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOnRequest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftOnRequest.java	2010-03-25 20:16:24 UTC (rev 32222)
@@ -0,0 +1,44 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("ShiftOnRequest")
+public class ShiftOnRequest extends AbstractPersistable implements Comparable<ShiftOnRequest> {
+
+    private Employee employee;
+    private Shift shift;
+
+    public Employee getEmployee() {
+        return employee;
+    }
+
+    public void setEmployee(Employee employee) {
+        this.employee = employee;
+    }
+
+    public Shift getShift() {
+        return shift;
+    }
+
+    public void setShift(Shift shift) {
+        this.shift = shift;
+    }
+
+    public int compareTo(ShiftOnRequest other) {
+        return new CompareToBuilder()
+                .append(employee, other.employee)
+                .append(shift, other.shift)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return shift + "_ON_" + employee;
+    }
+
+}



More information about the jboss-svn-commits mailing list