[jboss-svn-commits] JBL Code SVN: r27802 - labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/pas/solver/solution/initializer.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 9 15:44:17 EDT 2009


Author: ge0ffrey
Date: 2009-07-09 15:44:17 -0400 (Thu, 09 Jul 2009)
New Revision: 27802

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/pas/solver/solution/initializer/PatientAdmissionScheduleStartingSolutionInitializer.java
Log:
pas: initializer weight sorting yet another improvement 2

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/pas/solver/solution/initializer/PatientAdmissionScheduleStartingSolutionInitializer.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/pas/solver/solution/initializer/PatientAdmissionScheduleStartingSolutionInitializer.java	2009-07-09 19:36:45 UTC (rev 27801)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/pas/solver/solution/initializer/PatientAdmissionScheduleStartingSolutionInitializer.java	2009-07-09 19:44:17 UTC (rev 27802)
@@ -110,13 +110,12 @@
             BedDesignation bedDesignation = new BedDesignation();
             bedDesignation.setId(admissionPart.getId());
             bedDesignation.setAdmissionPart(admissionPart);
-            int weight = 0;
+            int disallowedCount = 0;
             for (Room room : patientAdmissionSchedule.getRoomList()) {
-                weight += (room.getCapacity() * room.countDisallowedAdmissionPart(admissionPart));
+                disallowedCount += (room.getCapacity() * room.countDisallowedAdmissionPart(admissionPart));
             }
-            weight *= 1000;
-            weight += bedDesignation.getAdmissionPart().getNightCount();
-            initializationWeightList.add(new BedDesignationInitializationWeight(bedDesignation, weight));
+            initializationWeightList.add(new BedDesignationInitializationWeight(bedDesignation,
+                    disallowedCount, bedDesignation.getAdmissionPart().getNightCount()));
         }
         Collections.sort(initializationWeightList);
         List<BedDesignation> bedDesignationList = new ArrayList<BedDesignation>(
@@ -130,11 +129,13 @@
     private class BedDesignationInitializationWeight implements Comparable<BedDesignationInitializationWeight> {
 
         private BedDesignation bedDesignation;
-        private int weight;
+        private int disallowedCount;
+        private int nightCount;
 
-        private BedDesignationInitializationWeight(BedDesignation bedDesignation, int weight) {
+        private BedDesignationInitializationWeight(BedDesignation bedDesignation, int disallowedCount, int nightCount) {
             this.bedDesignation = bedDesignation;
-            this.weight = weight;
+            this.disallowedCount = disallowedCount;
+            this.nightCount = nightCount;
         }
 
         public BedDesignation getBedDesignation() {
@@ -143,7 +144,8 @@
 
         public int compareTo(BedDesignationInitializationWeight other) {
             return -new CompareToBuilder()
-                    .append(weight, other.weight)
+                    .append(disallowedCount, other.disallowedCount)
+                    .append(nightCount, other.nightCount)
                     .toComparison();
         }
 




More information about the jboss-svn-commits mailing list