[jboss-svn-commits] JBL Code SVN: r27156 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples: src/main/java/org/drools/solver/examples/common/persistence and 8 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 26 13:16:39 EDT 2009


Author: ge0ffrey
Date: 2009-06-26 13:16:39 -0400 (Fri, 26 Jun 2009)
New Revision: 27156

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata01.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata02.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata03.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata04.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata05.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata06.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata07.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata08.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata09.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata10.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata11.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata12.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata13.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/app/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/
   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/Room.java
   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/persistence/
   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/solver/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/solver/move/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/sover/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/sover/solution/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/sover/solution/initializer/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/swingui/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionscheduling/benchmark/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/patientadmissionscheduling/solver/
Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/AbstractInputConvertor.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java
Log:
pas: starting to parse input file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata01.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata01.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata01.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata02.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata02.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata02.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,29 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="8">
+      <id>6</id>
+      <name>Specialism6</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata03.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata03.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata03.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,25 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata04.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata04.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata04.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,29 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="8">
+      <id>6</id>
+      <name>Specialism6</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata05.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata05.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata05.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata06.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata06.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata06.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata07.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata07.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata07.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,29 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="8">
+      <id>6</id>
+      <name>Specialism6</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata08.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata08.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata08.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,29 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="8">
+      <id>6</id>
+      <name>Specialism6</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata09.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata09.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata09.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata10.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata10.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata10.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata11.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata11.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata11.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata12.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata12.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata12.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,21 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata13.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata13.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/patientadmissionscheduling/unsolved/testdata13.xml	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,25 @@
+<org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule id="1">
+  <id>0</id>
+  <specialismList id="2">
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="3">
+      <id>1</id>
+      <name>Specialism1</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="4">
+      <id>2</id>
+      <name>Specialism2</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="5">
+      <id>3</id>
+      <name>Specialism3</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="6">
+      <id>4</id>
+      <name>Specialism4</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+    <org.drools.solver.examples.patientadmissionscheduling.domain.Specialism id="7">
+      <id>5</id>
+      <name>Specialism5</name>
+    </org.drools.solver.examples.patientadmissionscheduling.domain.Specialism>
+  </specialismList>
+</org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/AbstractInputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/AbstractInputConvertor.java	2009-06-26 16:33:08 UTC (rev 27155)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/common/persistence/AbstractInputConvertor.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -71,5 +71,52 @@
     }
 
     public abstract Solution readSolution(BufferedReader bufferedReader) throws IOException;
-    
+
+    // ************************************************************************
+    // Helper methods
+    // ************************************************************************
+
+    public void readEmptyLine(BufferedReader bufferedReader) throws IOException {
+        readConstantLine(bufferedReader, "");
+    }
+
+    public void readConstantLine(BufferedReader bufferedReader, String constantValue) throws IOException {
+        String line = bufferedReader.readLine();
+        String value = line.trim();
+        if (!value.equals(constantValue)) {
+            throw new IllegalArgumentException("Read line (" + line + ") is expected to be a constant value ("
+                    + constantValue + ").");
+        }
+    }
+
+    public int readIntegerValue(BufferedReader bufferedReader) throws IOException {
+        return readIntegerValue(bufferedReader, "");
+    }
+
+    public int readIntegerValue(BufferedReader bufferedReader, String prefix) throws IOException {
+        return readIntegerValue(bufferedReader, prefix, "");
+    }
+
+    public int readIntegerValue(BufferedReader bufferedReader, String prefix, String suffix) throws IOException {
+        String line = bufferedReader.readLine();
+        String value = line.trim();
+        if (!value.startsWith(prefix)) {
+            throw new IllegalArgumentException("Read line (" + line + ") is expected to start with prefix ("
+                    + prefix + ").");
+        }
+        value = value.substring(prefix.length());
+        if (!value.endsWith(suffix)) {
+            throw new IllegalArgumentException("Read line (" + line + ") is expected to end with suffix ("
+                    + suffix + ").");
+        }
+        value = value.substring(0, value.length() - suffix.length());
+        value = value.trim();
+        try {
+            return Integer.parseInt(value);
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("Read line (" + line + ") is expected to contain an integer value ("
+                    + value + ").", e);
+        }
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java	2009-06-26 16:33:08 UTC (rev 27155)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -1,17 +1,12 @@
 package org.drools.solver.examples.manners2009.persistence;
 
 import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.io.IOUtils;
-import org.drools.solver.examples.common.app.LoggingMain;
-import org.drools.solver.examples.common.persistence.XstreamSolutionDaoImpl;
 import org.drools.solver.examples.common.persistence.AbstractInputConvertor;
 import org.drools.solver.examples.manners2009.domain.Gender;
 import org.drools.solver.examples.manners2009.domain.Guest;
@@ -56,8 +51,8 @@
 
     private void readTableListAndSeatList(BufferedReader bufferedReader, Manners2009 manners2009)
             throws IOException {
-        int tableListSize = Integer.parseInt(readParam(bufferedReader, "Tables:"));
-        int seatsPerTable = Integer.parseInt(readParam(bufferedReader, "SeatsPerTable:"));
+        int tableListSize = readIntegerValue(bufferedReader, "Tables:");
+        int seatsPerTable = readIntegerValue(bufferedReader, "SeatsPerTable:");
         List<Table> tableList = new ArrayList<Table>(tableListSize);
         List<Seat> seatList = new ArrayList<Seat>(tableListSize * seatsPerTable);
         for (int i = 0; i < tableListSize; i++) {
@@ -94,8 +89,8 @@
 
     private void readJobListGuestListAndHobbyPracticianList(BufferedReader bufferedReader, Manners2009 manners2009)
             throws IOException {
-        readHeader(bufferedReader, "Num,Profession,SubProf,Gender,Spt1,Spt2,Spt3");
-        readHeader(bufferedReader, "-------------------------------------------");
+        readConstantLine(bufferedReader, "Num,Profession,SubProf,Gender,Spt1,Spt2,Spt3");
+        readConstantLine(bufferedReader, "-------------------------------------------");
         int guestSize = manners2009.getSeatList().size();
 
         List<Guest> guestList = new ArrayList<Guest>(guestSize);
@@ -145,21 +140,4 @@
         manners2009.setHobbyPracticianList(hobbyPracticianList);
     }
 
-    private String readParam(BufferedReader bufferedReader, String key) throws IOException {
-        String line = bufferedReader.readLine();
-        String[] lineTokens = line.split("[\\ \\t]+");
-        if (lineTokens.length != 2 || !lineTokens[0].equals(key)) {
-            throw new IllegalArgumentException("Read line (" + line + ") is expected to contain 2 tokens"
-                    + " and start with \"" + key + "\".");
-        }
-        return lineTokens[1];
-    }
-
-    private void readHeader(BufferedReader bufferedReader, String header) throws IOException {
-        String line = bufferedReader.readLine();
-        if (!line.equals(header)) {
-            throw new IllegalArgumentException("Read line (" + line + ") is expected to be \"" + header + "\".");
-        }
-    }
-
 }
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java (from rev 27147, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Examination.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/PatientAdmissionSchedule.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,106 @@
+package org.drools.solver.examples.patientadmissionscheduling.domain;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.drools.solver.core.solution.Solution;
+import org.drools.solver.examples.common.domain.AbstractPersistable;
+import org.drools.solver.examples.itc2007.examination.domain.*;
+import org.drools.solver.examples.itc2007.examination.domain.Room;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class PatientAdmissionSchedule extends AbstractPersistable implements Solution {
+
+    private List<Specialism> specialismList;
+    private List<Period> periodList;
+    private List<Room> roomList;
+
+    private List<PeriodHardConstraint> periodHardConstraintList;
+    private List<RoomHardConstraint> roomHardConstraintList;
+
+    private List<Exam> examList;
+
+    public List<Specialism> getSpecialismList() {
+        return specialismList;
+    }
+
+    public void setSpecialismList(List<Specialism> specialismList) {
+        this.specialismList = specialismList;
+    }
+
+    public boolean isInitialized() {
+        return (examList != null);
+    }
+
+    public Collection<? extends Object> getFacts() {
+        List<Object> facts = new ArrayList<Object>();
+        facts.addAll(specialismList);
+        facts.addAll(periodList);
+        facts.addAll(roomList);
+        facts.addAll(periodHardConstraintList);
+        facts.addAll(roomHardConstraintList);
+        if (isInitialized()) {
+            facts.addAll(examList);
+        }
+        return facts;
+    }
+
+    /**
+     * Clone will only deep copy the exams
+     */
+    public PatientAdmissionSchedule cloneSolution() {
+        PatientAdmissionSchedule clone = new PatientAdmissionSchedule();
+        clone.id = id;
+        clone.specialismList = specialismList;
+        clone.periodList = periodList;
+        clone.roomList = roomList;
+        clone.periodHardConstraintList = periodHardConstraintList;
+        clone.roomHardConstraintList = roomHardConstraintList;
+        // deep clone exams
+        List<Exam> clonedExamList = new ArrayList<Exam>(examList.size());
+        for (Exam exam : examList) {
+            Exam clonedExam = exam.clone();
+            clonedExamList.add(clonedExam);
+        }
+        clone.examList = clonedExamList;
+        return clone;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (id == null || !(o instanceof PatientAdmissionSchedule)) {
+            return false;
+        } else {
+            PatientAdmissionSchedule other = (PatientAdmissionSchedule) o;
+            if (examList.size() != other.examList.size()) {
+                return false;
+            }
+            for (Iterator<Exam> it = examList.iterator(), otherIt = other.examList.iterator(); it.hasNext();) {
+                Exam exam = it.next();
+                Exam otherExam = otherIt.next();
+                // Notice: we don't use equals()
+                if (!exam.solutionEquals(otherExam)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    public int hashCode() {
+        HashCodeBuilder hashCodeBuilder = new HashCodeBuilder();
+        for (Exam exam : examList) {
+            // Notice: we don't use hashCode()
+            hashCodeBuilder.append(exam.solutionHashCode());
+        }
+        return hashCodeBuilder.toHashCode();
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Room.java (from rev 27147, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/domain/Room.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Room.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Room.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -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 Room extends AbstractPersistable implements Comparable<Room> {
+
+    private int capacity; // TODO clean me up
+    private int penalty;
+
+    public int getCapacity() {
+        return capacity;
+    }
+
+    public void setCapacity(int capacity) {
+        this.capacity = capacity;
+    }
+
+    public int getPenalty() {
+        return penalty;
+    }
+
+    public void setPenalty(int penalty) {
+        this.penalty = penalty;
+    }
+
+    public int compareTo(Room other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return id + " {C" + capacity + "}";
+    }
+
+}
\ No newline at end of file

Added: 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/Specialism.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/domain/Specialism.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,32 @@
+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 Specialism extends AbstractPersistable implements Comparable<Specialism> {
+
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int compareTo(Specialism other) {
+        return new CompareToBuilder()
+                .append(id, other.id)
+                .toComparison();
+    }
+
+    @Override
+    public String toString() {
+        return name;
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java (from rev 27147, 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/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/patientadmissionscheduling/persistence/PatientAdmissionSchedulingInputConvertor.java	2009-06-26 17:16:39 UTC (rev 27156)
@@ -0,0 +1,65 @@
+package org.drools.solver.examples.patientadmissionscheduling.persistence;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.solver.examples.common.persistence.AbstractInputConvertor;
+import org.drools.solver.examples.patientadmissionscheduling.domain.PatientAdmissionSchedule;
+import org.drools.solver.examples.patientadmissionscheduling.domain.Specialism;
+import org.drools.solver.core.solution.Solution;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class PatientAdmissionSchedulingInputConvertor extends AbstractInputConvertor {
+
+    public static void main(String[] args) {
+        new PatientAdmissionSchedulingInputConvertor().convert();
+    }
+
+    protected String getExampleDirName() {
+        return "patientadmissionscheduling";
+    }
+
+    public Solution readSolution(BufferedReader bufferedReader) throws IOException {
+        PatientAdmissionSchedule patientAdmissionSchedule = new PatientAdmissionSchedule();
+        patientAdmissionSchedule.setId(0L);
+
+        readConstantLine(bufferedReader, "ARTICLE BENCHMARK DATA SET");
+        int roomListSize = readIntegerValue(bufferedReader, "Rooms:");
+        int roomPropertyListSize = readIntegerValue(bufferedReader, "Roomproperties:");
+        int bedListSize = readIntegerValue(bufferedReader, "Beds:");
+        int departmentListSize = readIntegerValue(bufferedReader, "Departments:");
+        int specialismListSize = readIntegerValue(bufferedReader, "Specialisms:");
+        int patientListSize = readIntegerValue(bufferedReader, "Patients:");
+        int nightListSize = readIntegerValue(bufferedReader, "Planning horizon:");
+        readEmptyLine(bufferedReader);
+        readEmptyLine(bufferedReader);
+
+        readConstantLine(bufferedReader, "SPECIALISMS:");
+        List<Specialism> specialismList = new ArrayList<Specialism>(specialismListSize);
+        for (int i = 0; i < specialismListSize; i++) {
+            Specialism specialism = new Specialism();
+
+            String line = bufferedReader.readLine();
+            String[] lineTokens = line.split("\\ ");
+            if (lineTokens.length != 2) {
+                throw new IllegalArgumentException("Read line (" + line
+                        + ") is expected to contain 2 tokens.");
+            }
+            specialism.setId(Long.parseLong(lineTokens[0]));
+            specialism.setName(lineTokens[1]);
+            specialismList.add(specialism);
+        }
+        patientAdmissionSchedule.setSpecialismList(specialismList);
+        readEmptyLine(bufferedReader);
+
+        // TODO
+
+        
+        return patientAdmissionSchedule;
+    }
+
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list