[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