[jboss-svn-commits] JBL Code SVN: r27183 - 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 07:38:51 EDT 2009
Author: ge0ffrey
Date: 2009-06-27 07:38:51 -0400 (Sat, 27 Jun 2009)
New Revision: 27183
Added:
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Equipment.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: equipment
Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Equipment.java (from rev 27156, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Specialism.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Equipment.java (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Equipment.java 2009-06-27 11:38:51 UTC (rev 27183)
@@ -0,0 +1,33 @@
+package org.drools.solver.examples.patientadmissionscheduling.domain;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+
+/**
+ * AKA roomproperty
+ * @author Geoffrey De Smet
+ */
+public class Equipment extends AbstractPersistable implements Comparable<Equipment> {
+
+ private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int compareTo(Equipment other) {
+ return new CompareToBuilder()
+ .append(id, other.id)
+ .toComparison();
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+
+}
\ 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 11:08:37 UTC (rev 27182)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java 2009-06-27 11:38:51 UTC (rev 27183)
@@ -19,6 +19,7 @@
private List<Specialism> specialismList;
private List<Department> departmentList;
private List<DepartmentSpecialism> departmentSpecialismList;
+ private List<Equipment> equipmentList;
private List<Exam> examList;
@@ -50,11 +51,20 @@
this.departmentSpecialismList = departmentSpecialismList;
}
+ public List<Equipment> getEquipmentList() {
+ return equipmentList;
+ }
+
+ public void setEquipmentList(List<Equipment> equipmentList) {
+ this.equipmentList = equipmentList;
+ }
+
public Collection<? extends Object> getFacts() {
List<Object> facts = new ArrayList<Object>();
facts.addAll(specialismList);
facts.addAll(departmentList);
facts.addAll(departmentSpecialismList);
+ facts.addAll(equipmentList);
// facts.addAll(roomList);
@@ -75,6 +85,7 @@
clone.specialismList = specialismList;
clone.departmentList = departmentList;
clone.departmentSpecialismList = departmentSpecialismList;
+ clone.equipmentList = equipmentList;
// 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 11:08:37 UTC (rev 27182)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java 2009-06-27 11:38:51 UTC (rev 27183)
@@ -11,6 +11,7 @@
import org.drools.solver.examples.patientadmissionscheduling.domain.Specialism;
import org.drools.solver.examples.patientadmissionscheduling.domain.Department;
import org.drools.solver.examples.patientadmissionscheduling.domain.DepartmentSpecialism;
+import org.drools.solver.examples.patientadmissionscheduling.domain.Equipment;
import org.drools.solver.core.solution.Solution;
/**
@@ -32,36 +33,52 @@
public class PatientAdmissionSchedulingInputBuilder extends InputBuilder {
- private Map<Long, Specialism> specialismMap = null;
+ private PatientAdmissionSchedule patientAdmissionSchedule;
+ private int specialismListSize;
+ private int departmentListSize;
+ private int equipmentListSize;
+ private int roomListSize;
+ private int bedListSize;
+ private int patientListSize;
+ private int nightListSize;
+
+ private Map<Long, Specialism> idToSpecialismMap = null;
+ private Map<Integer, Equipment> indexToEquipmentMap = null;
+
public Solution readSolution() throws IOException {
- PatientAdmissionSchedule patientAdmissionSchedule = new PatientAdmissionSchedule();
+ patientAdmissionSchedule = new PatientAdmissionSchedule();
patientAdmissionSchedule.setId(0L);
-
- readConstantLine("ARTICLE BENCHMARK DATA SET");
- int roomListSize = readIntegerValue("Rooms:");
- int roomPropertyListSize = readIntegerValue("Roomproperties:");
- int bedListSize = readIntegerValue("Beds:");
- int departmentListSize = readIntegerValue("Departments:");
- int specialismListSize = readIntegerValue("Specialisms:");
- int patientListSize = readIntegerValue("Patients:");
- int nightListSize = readIntegerValue("Planning horizon:");
+ readSizes();
readEmptyLine();
readEmptyLine();
+ readSpecialismList();
+ readEmptyLine();
+ readDepartmentListAndDepartmentSpecialismList();
+ readEmptyLine();
+ readEquipmentList();
+ readEmptyLine();
- readSpecialismList(patientAdmissionSchedule, specialismListSize);
+
- readDepartmentListAndDepartmentSpecialismList(patientAdmissionSchedule, departmentListSize);
-
-
return patientAdmissionSchedule;
}
- private void readSpecialismList(PatientAdmissionSchedule patientAdmissionSchedule,
- int specialismListSize) throws IOException {
+ private void readSizes() throws IOException {
+ readConstantLine("ARTICLE BENCHMARK DATA SET");
+ roomListSize = readIntegerValue("Rooms:");
+ equipmentListSize = readIntegerValue("Roomproperties:");
+ bedListSize = readIntegerValue("Beds:");
+ departmentListSize = readIntegerValue("Departments:");
+ specialismListSize = readIntegerValue("Specialisms:");
+ patientListSize = readIntegerValue("Patients:");
+ nightListSize = readIntegerValue("Planning horizon:");
+ }
+
+ private void readSpecialismList() throws IOException {
readConstantLine("SPECIALISMS:");
List<Specialism> specialismList = new ArrayList<Specialism>(specialismListSize);
- specialismMap = new HashMap<Long, Specialism>(specialismListSize);
+ idToSpecialismMap = new HashMap<Long, Specialism>(specialismListSize);
for (int i = 0; i < specialismListSize; i++) {
String line = bufferedReader.readLine();
String[] lineTokens = splitBySpace(line, 2);
@@ -69,13 +86,12 @@
specialism.setId(Long.parseLong(lineTokens[0]));
specialism.setName(lineTokens[1]);
specialismList.add(specialism);
- specialismMap.put(specialism.getId(), specialism);
+ idToSpecialismMap.put(specialism.getId(), specialism);
}
patientAdmissionSchedule.setSpecialismList(specialismList);
- readEmptyLine();
}
- private void readDepartmentListAndDepartmentSpecialismList(PatientAdmissionSchedule patientAdmissionSchedule, int departmentListSize) throws IOException {
+ private void readDepartmentListAndDepartmentSpecialismList() throws IOException {
readConstantLine("DEPARTMENTS:");
List<Department> departmentList = new ArrayList<Department>(departmentListSize);
List<DepartmentSpecialism> departmentSpecialismList = new ArrayList<DepartmentSpecialism>(
@@ -110,16 +126,35 @@
DepartmentSpecialism departmentSpecialism = new DepartmentSpecialism();
departmentSpecialism.setId((long) j / 2);
departmentSpecialism.setDepartment(department);
- departmentSpecialism.setSpecialism(specialismMap.get(specialismId));
+ departmentSpecialism.setSpecialism(idToSpecialismMap.get(specialismId));
departmentSpecialism.setPriority(priority);
departmentSpecialismList.add(departmentSpecialism);
}
}
patientAdmissionSchedule.setDepartmentList(departmentList);
patientAdmissionSchedule.setDepartmentSpecialismList(departmentSpecialismList);
- readEmptyLine();
}
+ private void readEquipmentList() throws IOException {
+ readConstantLine("ROOMPROPERTIES:");
+ List<Equipment> equipmentList = new ArrayList<Equipment>(equipmentListSize);
+ indexToEquipmentMap = new HashMap<Integer, Equipment>(equipmentListSize);
+ for (int i = 0; i < equipmentListSize; i++) {
+ String line = bufferedReader.readLine();
+ String[] lineTokens = splitBySpace(line, 2);
+ Equipment equipment = new Equipment();
+ equipment.setId(Long.parseLong(lineTokens[0]));
+ equipment.setName(lineTokens[1]);
+ equipmentList.add(equipment);
+ indexToEquipmentMap.put(i, equipment);
+ }
+ patientAdmissionSchedule.setEquipmentList(equipmentList);
+ }
+
+ // ************************************************************************
+ // Helper methods
+ // ************************************************************************
+
private String[] splitBySpace(String line) {
String[] lineTokens = line.trim().split("\\ ");
return lineTokens;
More information about the jboss-svn-commits
mailing list