[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