[jboss-svn-commits] JBL Code SVN: r19208 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main: java/org/drools/solver/examples/itc2007/curriculumcourse/persistence and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Mar 23 04:58:26 EDT 2008
Author: ge0ffrey
Date: 2008-03-23 04:58:25 -0400 (Sun, 23 Mar 2008)
New Revision: 19208
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Course.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/persistence/CurriculumCourseInputConvertor.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl
Log:
curriculumcourse fix multiple curriculum in course
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Course.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Course.java 2008-03-23 04:47:33 UTC (rev 19207)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Course.java 2008-03-23 08:58:25 UTC (rev 19208)
@@ -1,5 +1,7 @@
package org.drools.solver.examples.itc2007.curriculumcourse.domain;
+import java.util.List;
+
import org.apache.commons.lang.builder.CompareToBuilder;
import org.drools.solver.examples.common.domain.AbstractPersistable;
@@ -10,12 +12,13 @@
private String code;
- private Curriculum curriculum;
private Teacher teacher;
private int lectureSize;
- private int studentSize;
private int minWorkingDaySize;
+ private List<Curriculum> curriculumList;
+ private int studentSize;
+
public String getCode() {
return code;
}
@@ -24,14 +27,6 @@
this.code = code;
}
- public Curriculum getCurriculum() {
- return curriculum;
- }
-
- public void setCurriculum(Curriculum curriculum) {
- this.curriculum = curriculum;
- }
-
public Teacher getTeacher() {
return teacher;
}
@@ -48,6 +43,22 @@
this.lectureSize = lectureSize;
}
+ public int getMinWorkingDaySize() {
+ return minWorkingDaySize;
+ }
+
+ public void setMinWorkingDaySize(int minWorkingDaySize) {
+ this.minWorkingDaySize = minWorkingDaySize;
+ }
+
+ public List<Curriculum> getCurriculumList() {
+ return curriculumList;
+ }
+
+ public void setCurriculumList(List<Curriculum> curriculumList) {
+ this.curriculumList = curriculumList;
+ }
+
public int getStudentSize() {
return studentSize;
}
@@ -56,14 +67,6 @@
this.studentSize = studentSize;
}
- public int getMinWorkingDaySize() {
- return minWorkingDaySize;
- }
-
- public void setMinWorkingDaySize(int minWorkingDaySize) {
- this.minWorkingDaySize = minWorkingDaySize;
- }
-
public int compareTo(Course other) {
return new CompareToBuilder()
.append(code, other.code)
@@ -72,7 +75,7 @@
@Override
public String toString() {
- return code + "{" + curriculum + "," + teacher +"}";
+ return code + "{" + teacher +"}";
}
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java 2008-03-23 04:47:33 UTC (rev 19207)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/domain/Lecture.java 2008-03-23 08:58:25 UTC (rev 19208)
@@ -50,14 +50,6 @@
}
- public Curriculum getCurriculum() {
- return getCourse().getCurriculum();
- }
-
- public Teacher getTeacher() {
- return getCourse().getTeacher();
- }
-
public int compareTo(Lecture other) {
return new CompareToBuilder()
.append(period, other.period)
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/persistence/CurriculumCourseInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/persistence/CurriculumCourseInputConvertor.java 2008-03-23 04:47:33 UTC (rev 19207)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/curriculumcourse/persistence/CurriculumCourseInputConvertor.java 2008-03-23 08:58:25 UTC (rev 19208)
@@ -131,6 +131,7 @@
course.setTeacher(findOrCreateTeacher(teacherMap, lineTokens[1]));
course.setLectureSize(Integer.parseInt(lineTokens[2]));
course.setMinWorkingDaySize(Integer.parseInt(lineTokens[3]));
+ course.setCurriculumList(new ArrayList<Curriculum>());
course.setStudentSize(Integer.parseInt(lineTokens[4]));
courseList.add(course);
courseMap.put(course.getCode(), course);
@@ -230,7 +231,7 @@
}
for (int j = 2; j < lineTokens.length; j++) {
Course course = courseMap.get(lineTokens[j]);
- course.setCurriculum(curriculum);
+ course.getCurriculumList().add(curriculum);
}
curriculumList.add(curriculum);
}
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl 2008-03-23 04:47:33 UTC (rev 19207)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/curriculumcourse/solver/curriculumCourseScoreRules.drl 2008-03-23 08:58:25 UTC (rev 19208)
@@ -27,24 +27,20 @@
// Conflicts: Two conflicting lectures in the same period.
// Three conflicting lectures count as 3 violations: one for each pair.
-rule "curriculumConflictingLecturesInSamePeriod"
+rule "conflictingLecturesInSamePeriod"
when
- $leftLecture : Lecture($curriculum : curriculum, $period : period);
- $rightLecture : Lecture(curriculum == $curriculum, period == $period);
+ $leftCourse : Course($id : id, $leftTeacher : teacher, $leftCurriculumList : curriculumList);
+ $rightCourse : Course(id > $id, $rightTeacher : teacher, $rightCurriculumList : curriculumList);
+ eval($leftTeacher == $rightTeacher)
+ or exists Curriculum(this memberOf $leftCurriculumList, this memberOf $rightCurriculumList);
+
+ $leftLecture : Lecture(course == $leftCourse, $period : period);
+ $rightLecture : Lecture(course == $rightCourse, period == $period);
then
- insertLogical(new IntConstraintOccurrence("curriculumConflictingLecturesInSamePeriod",
+ insertLogical(new IntConstraintOccurrence("conflictingLecturesInSamePeriod",
ConstraintType.NEGATIVE_HARD, 1,
$leftLecture, $rightLecture));
end
-rule "teacherConflictingLecturesInSamePeriod"
- when
- $leftLecture : Lecture($teacher : teacher, $period : period);
- $rightLecture : Lecture(teacher == $teacher, period == $period);
- then
- insertLogical(new IntConstraintOccurrence("teacherConflictingLecturesInSamePeriod", ConstraintType.NEGATIVE_HARD,
- 1,
- $leftLecture, $rightLecture));
-end
// RoomOccupancy: Two lectures in the same room at the same period.
// Any extra lecture in the same period and room counts as one more violation.
More information about the jboss-svn-commits
mailing list