[jboss-svn-commits] JBL Code SVN: r27186 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling: persistence and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jun 27 08:58:46 EDT 2009


Author: ge0ffrey
Date: 2009-06-27 08:58:45 -0400 (Sat, 27 Jun 2009)
New Revision: 27186

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Bed.java
Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java
Log:
pas domain: beds

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Bed.java (from rev 27185, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Room.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Bed.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Bed.java	2009-06-27 12:58:45 UTC (rev 27186)
@@ -0,0 +1,41 @@
+package org.drools.solver.examples.patientadmissionscheduling.domain;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class Bed extends AbstractPersistable implements Comparable<Bed> {
+
+    private Room room;
+    private int indexInRoom;
+
+    public Room getRoom() {
+        return room;
+    }
+
+    public void setRoom(Room room) {
+        this.room = room;
+    }
+
+    public int getIndexInRoom() {
+        return indexInRoom;
+    }
+
+    public void setIndexInRoom(int indexInRoom) {
+        this.indexInRoom = indexInRoom;
+    }
+
+    public int compareTo(Bed other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return room + "_" + indexInRoom;
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java	2009-06-27 12:30:28 UTC (rev 27185)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java	2009-06-27 12:58:45 UTC (rev 27186)
@@ -22,6 +22,7 @@
     private List<Room> roomList;
     private List<RoomSpecialism> roomSpecialismList;
     private List<RoomEquipment> roomEquipmentList;
+    private List<Bed> bedList;
 
     private List<Exam> examList;
 
@@ -85,6 +86,14 @@
         this.roomEquipmentList = roomEquipmentList;
     }
 
+    public List<Bed> getBedList() {
+        return bedList;
+    }
+
+    public void setBedList(List<Bed> bedList) {
+        this.bedList = bedList;
+    }
+
     public Collection<? extends Object> getFacts() {
         List<Object> facts = new ArrayList<Object>();
         facts.addAll(specialismList);
@@ -94,6 +103,7 @@
         facts.addAll(roomList);
         facts.addAll(roomSpecialismList);
         facts.addAll(roomEquipmentList);
+        facts.addAll(bedList);
 
 
 //        facts.addAll(roomList);
@@ -118,6 +128,7 @@
         clone.roomList = roomList;
         clone.roomSpecialismList = roomSpecialismList;
         clone.roomEquipmentList = roomEquipmentList;
+        clone.bedList = bedList;
 
         
 //        clone.roomList = roomList;

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java	2009-06-27 12:30:28 UTC (rev 27185)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java	2009-06-27 12:58:45 UTC (rev 27186)
@@ -16,6 +16,7 @@
 import org.drools.solver.examples.patientadmissionscheduling.domain.RoomSpecialism;
 import org.drools.solver.examples.patientadmissionscheduling.domain.GenderLimitation;
 import org.drools.solver.examples.patientadmissionscheduling.domain.RoomEquipment;
+import org.drools.solver.examples.patientadmissionscheduling.domain.Bed;
 import org.drools.solver.core.solution.Solution;
 
 /**
@@ -66,8 +67,10 @@
             readEmptyLine();
             readRoomListAndRoomSpecialismListAndRoomEquipmentList();
             readEmptyLine();
-            
+            readBedList();
+            readEmptyLine();
 
+
             return patientAdmissionSchedule;
         }
 
@@ -222,7 +225,31 @@
             patientAdmissionSchedule.setRoomEquipmentList(roomEquipmentList);
         }
 
+        private void readBedList() throws IOException {
+            readConstantLine("BEDS:");
+            List<Bed> bedList = new ArrayList<Bed>(bedListSize);
+            Map<Room, Integer> roomToLastIndexInRoomMap = new HashMap<Room, Integer>(roomListSize);
+            for (int i = 0; i < bedListSize; i++) {
+                String line = bufferedReader.readLine();
+                String[] lineTokens = splitBySpace(line, 2);
+                Bed bed = new Bed();
+                bed.setId(Long.parseLong(lineTokens[0]));
+                Room room = idToRoomMap.get(Long.parseLong(lineTokens[1]));
+                bed.setRoom(room);
+                Integer indexInRoom = roomToLastIndexInRoomMap.get(room);
+                if (indexInRoom == null) {
+                    indexInRoom = 0;
+                } else {
+                    indexInRoom++;
+                }
+                bed.setIndexInRoom(indexInRoom);
+                roomToLastIndexInRoomMap.put(room, indexInRoom);
+                bedList.add(bed);
+            }
+            patientAdmissionSchedule.setBedList(bedList);
+        }
 
+
         // ************************************************************************
         // Helper methods
         // ************************************************************************




More information about the jboss-svn-commits mailing list