[jboss-svn-commits] JBL Code SVN: r32255 - labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Mar 27 11:24:19 EDT 2010


Author: ge0ffrey
Date: 2010-03-27 11:24:19 -0400 (Sat, 27 Mar 2010)
New Revision: 32255

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java
Log:
nurse rostering: maps as fields

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java	2010-03-27 15:04:37 UTC (rev 32254)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java	2010-03-27 15:24:19 UTC (rev 32255)
@@ -46,6 +46,13 @@
 
     public class NurseRosteringInputBuilder extends XmlInputBuilder {
 
+        protected Map<String, ShiftDate> shiftDateMap;
+        protected Map<String, Skill> skillMap;
+        protected Map<String, ShiftType> shiftTypeMap;
+        protected Map<String, ShiftPattern> shiftPatternMap;
+        protected Map<String, Contract> contractMap;
+        protected Map<String, Employee> employeeMap;
+
         public Solution readSolution() throws IOException, JDOMException {
             // Note: javax.xml is terrible. JDom is much much easier.
 
@@ -55,19 +62,14 @@
             nurseRoster.setId(0L);
             nurseRoster.setCode(schedulingPeriodElement.getAttribute("ID").getValue());
 
-            Map<String, ShiftDate> shiftDateMap = generateShiftDateList(nurseRoster,
+            generateShiftDateList(nurseRoster,
                     schedulingPeriodElement.getChild("StartDate"),
                     schedulingPeriodElement.getChild("EndDate"));
-            Map<String, Skill> skillMap = readSkillList(nurseRoster,
-                    schedulingPeriodElement.getChild("Skills"));
-            Map<String, ShiftType> shiftTypeMap = readShiftTypeList(nurseRoster, skillMap,
-                    schedulingPeriodElement.getChild("ShiftTypes"));
-            Map<String, ShiftPattern> shiftPatternMap = readShiftPatternList(nurseRoster, shiftTypeMap,
-                    schedulingPeriodElement.getChild("Patterns"));
-            Map<String, Contract> contractMap = readContractList(nurseRoster, shiftPatternMap,
-                    schedulingPeriodElement.getChild("Contracts"));
-            Map<String, Employee> employeeMap = readEmployeeList(nurseRoster, skillMap, contractMap,
-                    schedulingPeriodElement.getChild("Employees"));
+            readSkillList(nurseRoster, schedulingPeriodElement.getChild("Skills"));
+            readShiftTypeList(nurseRoster, schedulingPeriodElement.getChild("ShiftTypes"));
+            readShiftPatternList(nurseRoster, schedulingPeriodElement.getChild("Patterns"));
+            readContractList(nurseRoster, schedulingPeriodElement.getChild("Contracts"));
+            readEmployeeList(nurseRoster, schedulingPeriodElement.getChild("Employees"));
 
             logger.info("NurseRoster {} with TODO.",
                     new Object[]{nurseRoster.getCode()});
@@ -76,7 +78,7 @@
             return nurseRoster;
         }
 
-        private Map<String, ShiftDate> generateShiftDateList(NurseRoster nurseRoster,
+        private void generateShiftDateList(NurseRoster nurseRoster,
                 Element startDateElement, Element endDateElement) throws JDOMException {
             // Mimic JSR-310 LocalDate
             TimeZone LOCAL_TIMEZONE = TimeZone.getTimeZone("GMT");
@@ -118,7 +120,7 @@
             }
             int shiftDateSize = maxDayIndex + 1;
             List<ShiftDate> shiftDateList = new ArrayList<ShiftDate>(shiftDateSize);
-            Map<String, ShiftDate> shiftDateMap = new HashMap<String, ShiftDate>(shiftDateSize);
+            shiftDateMap = new HashMap<String, ShiftDate>(shiftDateSize);
             long id = 0L;
             int dayIndex = 0;
             calendar.setTime(startDate);
@@ -130,19 +132,18 @@
                 shiftDate.setDateString(dateString);
                 shiftDate.setDayOfWeek(DayOfWeek.valueOfCalendar(calendar.get(Calendar.DAY_OF_WEEK)));
                 shiftDateList.add(shiftDate);
-                shiftDateMap.put(dateString, shiftDate);
+                this.shiftDateMap.put(dateString, shiftDate);
                 id++;
                 dayIndex++;
                 calendar.add(Calendar.DAY_OF_YEAR, 1);
             }
             nurseRoster.setShiftDateList(shiftDateList);
-            return shiftDateMap;
         }
 
-        private Map<String, Skill> readSkillList(NurseRoster nurseRoster, Element skillsElement) throws JDOMException {
+        private void readSkillList(NurseRoster nurseRoster, Element skillsElement) throws JDOMException {
             List<Element> skillElementList = (List<Element>) skillsElement.getChildren();
             List<Skill> skillList = new ArrayList<Skill>(skillElementList.size());
-            Map<String, Skill> skillMap = new HashMap<String, Skill>(skillElementList.size());
+            skillMap = new HashMap<String, Skill>(skillElementList.size());
             long id = 0L;
             for (Element element : skillElementList) {
                 assertElementName(element, "Skill");
@@ -154,14 +155,12 @@
                 id++;
             }
             nurseRoster.setSkillList(skillList);
-            return skillMap;
         }
 
-        private Map<String, ShiftType> readShiftTypeList(NurseRoster nurseRoster, Map<String, Skill> skillMap,
-                Element shiftTypesElement) throws JDOMException {
+        private void readShiftTypeList(NurseRoster nurseRoster, Element shiftTypesElement) throws JDOMException {
             List<Element> shiftElementList = (List<Element>) shiftTypesElement.getChildren();
             List<ShiftType> shiftTypeList = new ArrayList<ShiftType>(shiftElementList.size());
-            Map<String, ShiftType> shiftTypeMap = new HashMap<String, ShiftType>(shiftElementList.size());
+            shiftTypeMap = new HashMap<String, ShiftType>(shiftElementList.size());
             long id = 0L;
             List<ShiftTypeSkillRequirement> shiftTypeSkillRequirementList
                     = new ArrayList<ShiftTypeSkillRequirement>(shiftElementList.size() * 2);
@@ -197,14 +196,12 @@
             }
             nurseRoster.setShiftTypeList(shiftTypeList);
             nurseRoster.setShiftTypeSkillRequirementList(shiftTypeSkillRequirementList);
-            return shiftTypeMap;
         }
 
-        private Map<String, ShiftPattern> readShiftPatternList(NurseRoster nurseRoster,
-                Map<String, ShiftType> shiftTypeMap, Element patternsElement) throws JDOMException {
+        private void readShiftPatternList(NurseRoster nurseRoster, Element patternsElement) throws JDOMException {
             List<Element> patternElementList = (List<Element>) patternsElement.getChildren();
             List<ShiftPattern> shiftPatternList = new ArrayList<ShiftPattern>(patternElementList.size());
-            Map<String, ShiftPattern> shiftPatternMap = new HashMap<String, ShiftPattern>(patternElementList.size());
+            shiftPatternMap = new HashMap<String, ShiftPattern>(patternElementList.size());
             long id = 0L;
             for (Element element : patternElementList) {
                 assertElementName(element, "Pattern");
@@ -255,14 +252,12 @@
                 id++;
             }
             nurseRoster.setShiftPatternList(shiftPatternList);
-            return shiftPatternMap;
         }
 
-        private Map<String, Contract> readContractList(NurseRoster nurseRoster,
-                Map<String, ShiftPattern> shiftPatternMap, Element contractsElement) throws JDOMException {
+        private void readContractList(NurseRoster nurseRoster, Element contractsElement) throws JDOMException {
             List<Element> contractElementList = (List<Element>) contractsElement.getChildren();
             List<Contract> contractList = new ArrayList<Contract>(contractElementList.size());
-            Map<String, Contract> contractMap = new HashMap<String, Contract>(contractElementList.size());
+            contractMap = new HashMap<String, Contract>(contractElementList.size());
             long id = 0L;
             for (Element element : contractElementList) {
                 assertElementName(element, "Contract");
@@ -312,14 +307,12 @@
                 id++;
             }
             nurseRoster.setContractList(contractList);
-            return contractMap;
         }
 
-        private Map<String, Employee> readEmployeeList(NurseRoster nurseRoster, Map<String, Skill> skillMap,
-                Map<String, Contract> contractMap, Element employeesElement) throws JDOMException {
+        private void readEmployeeList(NurseRoster nurseRoster, Element employeesElement) throws JDOMException {
             List<Element> employeeElementList = (List<Element>) employeesElement.getChildren();
             List<Employee> employeeList = new ArrayList<Employee>(employeeElementList.size());
-            Map<String, Employee> employeeMap = new HashMap<String, Employee>(employeeElementList.size());
+            employeeMap = new HashMap<String, Employee>(employeeElementList.size());
             long id = 0L;
             List<SkillProficiency> skillProficiencyList
                     = new ArrayList<SkillProficiency>(employeeElementList.size() * 2);
@@ -361,7 +354,6 @@
             }
             nurseRoster.setEmployeeList(employeeList);
             nurseRoster.setSkillProficiencyList(skillProficiencyList);
-            return employeeMap;
         }
 
     }



More information about the jboss-svn-commits mailing list