[jboss-svn-commits] JBL Code SVN: r15842 - labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 15 12:41:33 EDT 2007


Author: ge0ffrey
Date: 2007-10-15 12:41:32 -0400 (Mon, 15 Oct 2007)
New Revision: 15842

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/InstitutionalWeighting.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraint.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraintType.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraint.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraintType.java
Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Examination.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Student.java
Log:
other domain objects

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Examination.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Examination.java	2007-10-15 13:12:14 UTC (rev 15841)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Examination.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -2,7 +2,9 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.drools.solver.core.solution.Solution;
 import org.drools.solver.examples.common.domain.AbstractPersistable;
@@ -18,6 +20,10 @@
 
     private List<Exam> examList;
 
+    private List<PeriodHardConstraint> periodHardConstraintList;
+    private List<RoomHardConstraint> roomHardConstraintList;
+    private InstitutionalWeighting institutionalWeighting;
+
     public List<Student> getStudentList() {
         return studentList;
     }
@@ -50,13 +56,40 @@
         this.examList = examList;
     }
 
+    public List<PeriodHardConstraint> getPeriodHardConstraintList() {
+        return periodHardConstraintList;
+    }
 
+    public void setPeriodHardConstraintList(List<PeriodHardConstraint> periodHardConstraintList) {
+        this.periodHardConstraintList = periodHardConstraintList;
+    }
+
+    public List<RoomHardConstraint> getRoomHardConstraintList() {
+        return roomHardConstraintList;
+    }
+
+    public void setRoomHardConstraintList(List<RoomHardConstraint> roomHardConstraintList) {
+        this.roomHardConstraintList = roomHardConstraintList;
+    }
+
+    public InstitutionalWeighting getInstitutionalWeighting() {
+        return institutionalWeighting;
+    }
+
+    public void setInstitutionalWeighting(InstitutionalWeighting institutionalWeighting) {
+        this.institutionalWeighting = institutionalWeighting;
+    }
+
+
     public Collection<? extends Object> getFacts() {
         List<Object> facts = new ArrayList<Object>();
         facts.addAll(studentList);
         facts.addAll(periodList);
         facts.addAll(roomList);
         facts.addAll(examList);
+        facts.addAll(periodHardConstraintList);
+        facts.addAll(roomHardConstraintList);
+        facts.add(institutionalWeighting);
         return facts;
     }
 
@@ -69,10 +102,26 @@
         clone.periodList = periodList;
         clone.roomList = roomList;
         List<Exam> clonedExamList = new ArrayList<Exam>(examList.size());
+        Map<Long, Exam> idToClonedExamMap = new HashMap<Long, Exam>(examList.size());
         for (Exam exam : examList) {
-            clonedExamList.add(exam.clone());
+            Exam clonedExam = exam.clone();
+            clonedExamList.add(clonedExam);
+            idToClonedExamMap.put(clonedExam.getId(), clonedExam);
         }
         clone.examList = clonedExamList;
+        List<PeriodHardConstraint> clonedPeriodHardConstraintList = new ArrayList<PeriodHardConstraint>(
+                periodHardConstraintList.size());
+        for (PeriodHardConstraint periodHardConstraint : periodHardConstraintList) {
+            clonedPeriodHardConstraintList.add(periodHardConstraint.clone(idToClonedExamMap));
+        }
+        clone.periodHardConstraintList = clonedPeriodHardConstraintList;
+        List<RoomHardConstraint> clonedRoomHardConstraintList = new ArrayList<RoomHardConstraint>(
+                roomHardConstraintList.size());
+        for (RoomHardConstraint roomHardConstraint : roomHardConstraintList) {
+            clonedRoomHardConstraintList.add(roomHardConstraint.clone(idToClonedExamMap));
+        }
+        clone.roomHardConstraintList = clonedRoomHardConstraintList;
+        clone.institutionalWeighting = institutionalWeighting;
         return clone;
     }
 

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/InstitutionalWeighting.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/InstitutionalWeighting.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/InstitutionalWeighting.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -0,0 +1,81 @@
+package org.drools.solver.examples.itc2007.examination.domain;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class InstitutionalWeighting extends AbstractPersistable implements Comparable<InstitutionalWeighting> {
+
+    private int twoInARowPenality;
+    private int twoInADayPenality;
+    private int periodSpreadPenality;
+    private int mixedDurationPenality;
+    private int frontLoadLargestExamSize;
+    private int frontLoadLastPeriodSize;
+    private int frontLoadPenality;
+
+    public int getTwoInARowPenality() {
+        return twoInARowPenality;
+    }
+
+    public void setTwoInARowPenality(int twoInARowPenality) {
+        this.twoInARowPenality = twoInARowPenality;
+    }
+
+    public int getTwoInADayPenality() {
+        return twoInADayPenality;
+    }
+
+    public void setTwoInADayPenality(int twoInADayPenality) {
+        this.twoInADayPenality = twoInADayPenality;
+    }
+
+    public int getPeriodSpreadPenality() {
+        return periodSpreadPenality;
+    }
+
+    public void setPeriodSpreadPenality(int periodSpreadPenality) {
+        this.periodSpreadPenality = periodSpreadPenality;
+    }
+
+    public int getMixedDurationPenality() {
+        return mixedDurationPenality;
+    }
+
+    public void setMixedDurationPenality(int mixedDurationPenality) {
+        this.mixedDurationPenality = mixedDurationPenality;
+    }
+
+    public int getFrontLoadLargestExamSize() {
+        return frontLoadLargestExamSize;
+    }
+
+    public void setFrontLoadLargestExamSize(int frontLoadLargestExamSize) {
+        this.frontLoadLargestExamSize = frontLoadLargestExamSize;
+    }
+
+    public int getFrontLoadLastPeriodSize() {
+        return frontLoadLastPeriodSize;
+    }
+
+    public void setFrontLoadLastPeriodSize(int frontLoadLastPeriodSize) {
+        this.frontLoadLastPeriodSize = frontLoadLastPeriodSize;
+    }
+
+    public int getFrontLoadPenality() {
+        return frontLoadPenality;
+    }
+
+    public void setFrontLoadPenality(int frontLoadPenality) {
+        this.frontLoadPenality = frontLoadPenality;
+    }
+
+    public int compareTo(InstitutionalWeighting other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraint.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraint.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -0,0 +1,61 @@
+package org.drools.solver.examples.itc2007.examination.domain;
+
+import java.util.Map;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class PeriodHardConstraint extends AbstractPersistable implements Comparable<PeriodHardConstraint> {
+
+    private Exam leftSideExam;
+    private PeriodHardConstraintType periodHardConstraintType;
+    private Exam rightSideExam;
+
+    public Exam getLeftSideExam() {
+        return leftSideExam;
+    }
+
+    public void setLeftSideExam(Exam leftSideExam) {
+        this.leftSideExam = leftSideExam;
+    }
+
+    public PeriodHardConstraintType getPeriodHardConstraintType() {
+        return periodHardConstraintType;
+    }
+
+    public void setPeriodHardConstraintType(PeriodHardConstraintType periodHardConstraintType) {
+        this.periodHardConstraintType = periodHardConstraintType;
+    }
+
+    public Exam getRightSideExam() {
+        return rightSideExam;
+    }
+
+    public void setRightSideExam(Exam rightSideExam) {
+        this.rightSideExam = rightSideExam;
+    }
+
+    public int compareTo(PeriodHardConstraint other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+    public PeriodHardConstraint clone(Map<Long, Exam> idToClonedExamMap) {
+        PeriodHardConstraint clone = new PeriodHardConstraint();
+        clone.id = id;
+        clone.leftSideExam = idToClonedExamMap.get(leftSideExam.getId());
+        clone.periodHardConstraintType = periodHardConstraintType;
+        clone.rightSideExam = idToClonedExamMap.get(rightSideExam.getId());
+        return clone;
+    }
+
+    @Override
+    public String toString() {
+        return super.toString() + " {" + leftSideExam.getId() + " " + periodHardConstraintType + " " + rightSideExam.getId() + "}";
+    }
+    
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraintType.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraintType.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/PeriodHardConstraintType.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -0,0 +1,10 @@
+package org.drools.solver.examples.itc2007.examination.domain;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public enum PeriodHardConstraintType {
+    EXAM_COINCIDENCE,
+    EXCLUSION,
+    AFTER
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraint.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraint.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -0,0 +1,51 @@
+package org.drools.solver.examples.itc2007.examination.domain;
+
+import java.util.Map;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class RoomHardConstraint extends AbstractPersistable implements Comparable<RoomHardConstraint> {
+
+    private Exam exam;
+    private RoomHardConstraintType roomHardConstraintType;
+
+    public Exam getExam() {
+        return exam;
+    }
+
+    public void setExam(Exam exam) {
+        this.exam = exam;
+    }
+
+    public RoomHardConstraintType getRoomHardConstraintType() {
+        return roomHardConstraintType;
+    }
+
+    public void setRoomHardConstraintType(RoomHardConstraintType roomHardConstraintType) {
+        this.roomHardConstraintType = roomHardConstraintType;
+    }
+
+    public int compareTo(RoomHardConstraint other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+    public RoomHardConstraint clone(Map<Long, Exam> idToClonedExamMap) {
+        RoomHardConstraint clone = new RoomHardConstraint();
+        clone.id = id;
+        clone.exam = idToClonedExamMap.get(exam.getId());
+        clone.roomHardConstraintType = roomHardConstraintType;
+        return clone;
+    }
+
+    @Override
+    public String toString() {
+        return super.toString() + " {" + exam.getId() + " " + roomHardConstraintType + "}";
+    }
+
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraintType.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraintType.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/RoomHardConstraintType.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -0,0 +1,8 @@
+package org.drools.solver.examples.itc2007.examination.domain;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public enum RoomHardConstraintType {
+    ROOM_EXCLUSIVE,
+}

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Student.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Student.java	2007-10-15 13:12:14 UTC (rev 15841)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Student.java	2007-10-15 16:41:32 UTC (rev 15842)
@@ -14,8 +14,4 @@
                 .toComparison();
     }
 
-//    public String toString() {
-//        return super.toString();
-//    }
-
 }




More information about the jboss-svn-commits mailing list