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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 14 16:05:47 EST 2008


Author: ge0ffrey
Date: 2008-01-14 16:05:46 -0500 (Mon, 14 Jan 2008)
New Revision: 17840

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java
Log:
new inputconverter spec guidelines for frontload

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java	2008-01-14 20:56:41 UTC (rev 17839)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/persistence/ExaminationInputConvertor.java	2008-01-14 21:05:46 UTC (rev 17840)
@@ -294,8 +294,8 @@
         Collections.sort(sortedTopicList, new Comparator<Topic>() {
             public int compare(Topic a, Topic b) {
                 return new CompareToBuilder()
-                        .append(a.getStudentListSize(), b.getStudentListSize())
-                        .append(a.getId(), b.getId())
+                        .append(a.getStudentListSize(), b.getStudentListSize()) // Ascending
+                        .append(b.getId(), a.getId()) // Descending (according to spec)
                         .toComparison();
             }
         });
@@ -303,12 +303,16 @@
         if (frontLoadLargeTopicSize == 0) {
             return;
         }
+        int minimumTopicId = sortedTopicList.size() - frontLoadLargeTopicSize;
+        if (minimumTopicId < 0) {
+            logger.warn("The frontLoadLargeTopicSize (" + frontLoadLargeTopicSize + ") is bigger than topicListSize ("
+                    + sortedTopicList.size() + "). Tagging all topic as frontLoadLarge...");
+            minimumTopicId = 0;
+        }
         int minimumStudentListSize = sortedTopicList.get(sortedTopicList.size() - frontLoadLargeTopicSize)
                 .getStudentListSize();
-        for (Topic topic : sortedTopicList) {
-            if (topic.getStudentListSize() >= minimumStudentListSize) {
-                topic.setFrontLoadLarge(true);
-            }
+        for (Topic topic : sortedTopicList.subList(minimumStudentListSize, sortedTopicList.size())) {
+            topic.setFrontLoadLarge(true);
         }
     }
 
@@ -321,7 +325,7 @@
         int minimumPeriodId = periodList.size() - frontLoadLastPeriodSize;
         if (minimumPeriodId < 0) {
             logger.warn("The frontLoadLastPeriodSize (" + frontLoadLastPeriodSize + ") is bigger than periodListSize ("
-                    + periodList.size() + "). Tagging all periods as large...");
+                    + periodList.size() + "). Tagging all periods as frontLoadLast...");
             minimumPeriodId = 0;
         }
         for (Period period : periodList.subList(minimumPeriodId, periodList.size())) {




More information about the jboss-svn-commits mailing list