[jboss-svn-commits] JBL Code SVN: r32262 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering: persistence and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Mar 28 08:37:41 EDT 2010
Author: ge0ffrey
Date: 2010-03-28 08:37:40 -0400 (Sun, 28 Mar 2010)
New Revision: 32262
Added:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Pattern.java
Removed:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftPattern.java
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java
Log:
nurse rostering input converter: log problem size and no null lists + rename shiftpattern to pattern
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java 2010-03-28 09:30:28 UTC (rev 32261)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/NurseRoster.java 2010-03-28 12:37:40 UTC (rev 32262)
@@ -23,7 +23,7 @@
private List<Skill> skillList;
private List<ShiftType> shiftTypeList;
private List<ShiftTypeSkillRequirement> shiftTypeSkillRequirementList;
- private List<ShiftPattern> shiftPatternList;
+ private List<Pattern> patternList;
private List<Contract> contractList;
private List<Employee> employeeList;
private List<SkillProficiency> skillProficiencyList;
@@ -70,12 +70,12 @@
this.shiftTypeSkillRequirementList = shiftTypeSkillRequirementList;
}
- public List<ShiftPattern> getShiftPatternList() {
- return shiftPatternList;
+ public List<Pattern> getPatternList() {
+ return patternList;
}
- public void setShiftPatternList(List<ShiftPattern> shiftPatternList) {
- this.shiftPatternList = shiftPatternList;
+ public void setPatternList(List<Pattern> patternList) {
+ this.patternList = patternList;
}
public List<Contract> getContractList() {
@@ -176,7 +176,7 @@
facts.addAll(skillList);
facts.addAll(shiftTypeList);
facts.addAll(shiftTypeSkillRequirementList);
- facts.addAll(shiftPatternList);
+ facts.addAll(patternList);
facts.addAll(contractList);
facts.addAll(employeeList);
facts.addAll(skillProficiencyList);
@@ -205,7 +205,7 @@
clone.skillList = skillList;
clone.shiftTypeList = shiftTypeList;
clone.shiftTypeSkillRequirementList = shiftTypeSkillRequirementList;
- clone.shiftPatternList = shiftPatternList;
+ clone.patternList = patternList;
clone.contractList = contractList;
clone.employeeList = employeeList;
clone.skillProficiencyList = skillProficiencyList;
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Pattern.java (from rev 32249, labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftPattern.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Pattern.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Pattern.java 2010-03-28 12:37:40 UTC (rev 32262)
@@ -0,0 +1,43 @@
+package org.drools.planner.examples.nurserostering.domain;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.examples.common.domain.AbstractPersistable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("Pattern")
+public class Pattern extends AbstractPersistable implements Comparable<Pattern> {
+
+ private String code;
+ private int weight;
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public int getWeight() {
+ return weight;
+ }
+
+ public void setWeight(int weight) {
+ this.weight = weight;
+ }
+
+ public int compareTo(Pattern other) {
+ return new CompareToBuilder()
+ .append(id, other.id)
+ .toComparison();
+ }
+
+ @Override
+ public String toString() {
+ return code;
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftPattern.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftPattern.java 2010-03-28 09:30:28 UTC (rev 32261)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/ShiftPattern.java 2010-03-28 12:37:40 UTC (rev 32262)
@@ -1,43 +0,0 @@
-package org.drools.planner.examples.nurserostering.domain;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import org.apache.commons.lang.builder.CompareToBuilder;
-import org.drools.planner.examples.common.domain.AbstractPersistable;
-
-/**
- * @author Geoffrey De Smet
- */
- at XStreamAlias("ShiftPattern")
-public class ShiftPattern extends AbstractPersistable implements Comparable<ShiftPattern> {
-
- private String code;
- private int weight;
-
- public String getCode() {
- return code;
- }
-
- public void setCode(String code) {
- this.code = code;
- }
-
- public int getWeight() {
- return weight;
- }
-
- public void setWeight(int weight) {
- this.weight = weight;
- }
-
- public int compareTo(ShiftPattern other) {
- return new CompareToBuilder()
- .append(id, other.id)
- .toComparison();
- }
-
- @Override
- public String toString() {
- return code;
- }
-
-}
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-28 09:30:28 UTC (rev 32261)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/persistence/NurseRosteringInputConverter.java 2010-03-28 12:37:40 UTC (rev 32262)
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -21,11 +22,11 @@
import org.drools.planner.examples.nurserostering.domain.DayOnRequest;
import org.drools.planner.examples.nurserostering.domain.Employee;
import org.drools.planner.examples.nurserostering.domain.NurseRoster;
+import org.drools.planner.examples.nurserostering.domain.Pattern;
import org.drools.planner.examples.nurserostering.domain.Shift;
import org.drools.planner.examples.nurserostering.domain.ShiftDate;
import org.drools.planner.examples.nurserostering.domain.ShiftOffRequest;
import org.drools.planner.examples.nurserostering.domain.ShiftOnRequest;
-import org.drools.planner.examples.nurserostering.domain.ShiftPattern;
import org.drools.planner.examples.nurserostering.domain.ShiftType;
import org.drools.planner.examples.nurserostering.domain.ShiftTypeSkillRequirement;
import org.drools.planner.examples.nurserostering.domain.Skill;
@@ -57,7 +58,7 @@
protected Map<String, ShiftType> shiftTypeMap;
protected Map<List<String>, Shift> dateAndShiftTypeToShiftMap;
protected Map<List<Object>, List<Shift>> dayOfWeekAndShiftTypeToShiftListMap;
- protected Map<String, ShiftPattern> shiftPatternMap;
+ protected Map<String, Pattern> patternMap;
protected Map<String, Contract> contractMap;
protected Map<String, Employee> employeeMap;
@@ -75,7 +76,7 @@
schedulingPeriodElement.getChild("EndDate"));
readSkillList(nurseRoster, schedulingPeriodElement.getChild("Skills"));
readShiftTypeList(nurseRoster, schedulingPeriodElement.getChild("ShiftTypes"));
- readShiftPatternList(nurseRoster, schedulingPeriodElement.getChild("Patterns"));
+ readPatternList(nurseRoster, schedulingPeriodElement.getChild("Patterns"));
readContractList(nurseRoster, schedulingPeriodElement.getChild("Contracts"));
readEmployeeList(nurseRoster, schedulingPeriodElement.getChild("Employees"));
readRequiredEmployeeSizes(nurseRoster, schedulingPeriodElement.getChild("CoverRequirements"));
@@ -84,9 +85,19 @@
readShiftOffRequestList(nurseRoster, schedulingPeriodElement.getChild("ShiftOffRequests"));
readShiftOnRequestList(nurseRoster, schedulingPeriodElement.getChild("ShiftOnRequests"));
- logger.info("NurseRoster {} with TODO.",
- new Object[]{nurseRoster.getCode()});
- // TODO log other stats
+ logger.info("NurseRoster {} with {} skills, {} shiftTypes, {} patterns, {} contracts, {} employees," +
+ " {} shiftDates, {} shifts and {} requests.",
+ new Object[]{nurseRoster.getCode(),
+ nurseRoster.getSkillList().size(),
+ nurseRoster.getShiftTypeList().size(),
+ nurseRoster.getPatternList().size(),
+ nurseRoster.getContractList().size(),
+ nurseRoster.getEmployeeList().size(),
+ nurseRoster.getShiftDateList().size(),
+ nurseRoster.getShiftList().size(),
+ nurseRoster.getDayOffRequestList().size() + nurseRoster.getDayOnRequestList().size()
+ + nurseRoster.getShiftOffRequestList().size() + nurseRoster.getShiftOnRequestList().size()
+ });
return nurseRoster;
}
@@ -154,22 +165,24 @@
}
private void readSkillList(NurseRoster nurseRoster, Element skillsElement) throws JDOMException {
+ List<Skill> skillList;
if (skillsElement == null) {
- return;
+ skillList = Collections.emptyList();
+ } else {
+ List<Element> skillElementList = (List<Element>) skillsElement.getChildren();
+ skillList = new ArrayList<Skill>(skillElementList.size());
+ skillMap = new HashMap<String, Skill>(skillElementList.size());
+ long id = 0L;
+ for (Element element : skillElementList) {
+ assertElementName(element, "Skill");
+ Skill skill = new Skill();
+ skill.setId(id);
+ skill.setCode(element.getText());
+ skillList.add(skill);
+ skillMap.put(skill.getCode(), skill);
+ id++;
+ }
}
- List<Element> skillElementList = (List<Element>) skillsElement.getChildren();
- List<Skill> skillList = new ArrayList<Skill>(skillElementList.size());
- skillMap = new HashMap<String, Skill>(skillElementList.size());
- long id = 0L;
- for (Element element : skillElementList) {
- assertElementName(element, "Skill");
- Skill skill = new Skill();
- skill.setId(id);
- skill.setCode(element.getText());
- skillList.add(skill);
- skillMap.put(skill.getCode(), skill);
- id++;
- }
nurseRoster.setSkillList(skillList);
}
@@ -247,63 +260,65 @@
dayOfWeekAndShiftTypeToShiftList.add(shift);
}
- private void readShiftPatternList(NurseRoster nurseRoster, Element patternsElement) throws JDOMException {
+ private void readPatternList(NurseRoster nurseRoster, Element patternsElement) throws JDOMException {
+ List<Pattern> patternList;
if (patternsElement == null) {
- return;
- }
- List<Element> patternElementList = (List<Element>) patternsElement.getChildren();
- List<ShiftPattern> shiftPatternList = new ArrayList<ShiftPattern>(patternElementList.size());
- shiftPatternMap = new HashMap<String, ShiftPattern>(patternElementList.size());
- long id = 0L;
- for (Element element : patternElementList) {
- assertElementName(element, "Pattern");
- ShiftPattern shiftPattern = new ShiftPattern();
- shiftPattern.setId(id);
- shiftPattern.setCode(element.getAttribute("ID").getValue());
- shiftPattern.setWeight(element.getAttribute("weight").getIntValue());
+ patternList = Collections.emptyList();
+ } else {
+ List<Element> patternElementList = (List<Element>) patternsElement.getChildren();
+ patternList = new ArrayList<Pattern>(patternElementList.size());
+ patternMap = new HashMap<String, Pattern>(patternElementList.size());
+ long id = 0L;
+ for (Element element : patternElementList) {
+ assertElementName(element, "Pattern");
+ Pattern pattern = new Pattern();
+ pattern.setId(id);
+ pattern.setCode(element.getAttribute("ID").getValue());
+ pattern.setWeight(element.getAttribute("weight").getIntValue());
- List<Element> patternEntryElementList = (List<Element>) element.getChild("PatternEntries")
- .getChildren();
- for (Element patternEntryElement : patternEntryElementList) {
- assertElementName(patternEntryElement, "PatternEntry");
- Element shiftTypeElement = patternEntryElement.getChild("ShiftType");
- ShiftType shiftType = shiftTypeMap.get(shiftTypeElement.getText());
- if (shiftType == null) {
- if (shiftTypeElement.getText().equals("Any")) {
- // TODO
+ List<Element> patternEntryElementList = (List<Element>) element.getChild("PatternEntries")
+ .getChildren();
+ for (Element patternEntryElement : patternEntryElementList) {
+ assertElementName(patternEntryElement, "PatternEntry");
+ Element shiftTypeElement = patternEntryElement.getChild("ShiftType");
+ ShiftType shiftType = shiftTypeMap.get(shiftTypeElement.getText());
+ if (shiftType == null) {
+ if (shiftTypeElement.getText().equals("Any")) {
+ // TODO
- } else if (shiftTypeElement.getText().equals("None")) {
- // TODO
+ } else if (shiftTypeElement.getText().equals("None")) {
+ // TODO
-
- } else {
- throw new IllegalArgumentException("The shiftType (" + shiftTypeElement.getText()
- + ") of shiftPattern (" + shiftPattern.getCode() + ") does not exist.");
+
+ } else {
+ throw new IllegalArgumentException("The shiftType (" + shiftTypeElement.getText()
+ + ") of pattern (" + pattern.getCode() + ") does not exist.");
+ }
}
- }
- // TODO shiftType & day etc
+ // TODO shiftType & day etc
-// <PatternEntry index="0">
-// <ShiftType>None</ShiftType>
-// <Day>Friday</Day>
-// </PatternEntry>
-// <PatternEntry index="1">
-// <ShiftType>Any</ShiftType>
-// <Day>Saturday</Day>
-// </PatternEntry>
-// <PatternEntry index="2">
-// <ShiftType>Any</ShiftType>
-// <Day>Sunday</Day>
-// </PatternEntry>
+ // <PatternEntry index="0">
+ // <ShiftType>None</ShiftType>
+ // <Day>Friday</Day>
+ // </PatternEntry>
+ // <PatternEntry index="1">
+ // <ShiftType>Any</ShiftType>
+ // <Day>Saturday</Day>
+ // </PatternEntry>
+ // <PatternEntry index="2">
+ // <ShiftType>Any</ShiftType>
+ // <Day>Sunday</Day>
+ // </PatternEntry>
- }
+ }
- shiftPatternList.add(shiftPattern);
- shiftPatternMap.put(shiftPattern.getCode(), shiftPattern);
- id++;
+ patternList.add(pattern);
+ patternMap.put(pattern.getCode(), pattern);
+ id++;
+ }
}
- nurseRoster.setShiftPatternList(shiftPatternList);
+ nurseRoster.setPatternList(patternList);
}
private void readContractList(NurseRoster nurseRoster, Element contractsElement) throws JDOMException {
@@ -339,12 +354,12 @@
.getChildren();
for (Element patternElement : unwantedPatternElementList) {
assertElementName(patternElement, "Pattern");
- ShiftPattern shiftPattern = shiftPatternMap.get(patternElement.getText());
- if (shiftPattern == null) {
- throw new IllegalArgumentException("The shiftPattern (" + patternElement.getText()
+ Pattern pattern = patternMap.get(patternElement.getText());
+ if (pattern == null) {
+ throw new IllegalArgumentException("The pattern (" + patternElement.getText()
+ ") of contract (" + contract.getCode() + ") does not exist.");
}
- // TODO unwanted shiftPattern
+ // TODO unwanted pattern
// <UnwantedPatterns>
// <Pattern>0</Pattern>
// <Pattern>1</Pattern>
@@ -410,30 +425,6 @@
nurseRoster.setSkillProficiencyList(skillProficiencyList);
}
-// <CoverRequirements>
-// <DayOfWeekCover>
-// <Day>Monday</Day>
-// <Cover>
-// <Shift>E</Shift>
-// <Preferred>8</Preferred>
-// </Cover>
-// <Cover>
-// <Shift>L</Shift>
-// <Preferred>8</Preferred>
-// </Cover>
-// <Cover>
-// <Shift>D</Shift>
-// <Preferred>5</Preferred>
-// </Cover>
-// <Cover>
-// <Shift>N</Shift>
-// <Preferred>6</Preferred>
-// </Cover>
-// <Cover>
-// <Shift>DH</Shift>
-// <Preferred>2</Preferred>
-// </Cover>
-// </DayOfWeekCover>
private void readRequiredEmployeeSizes(NurseRoster nurseRoster, Element coverRequirementsElement) {
List<Element> coverRequirementElementList = (List<Element>) coverRequirementsElement.getChildren();
for (Element element : coverRequirementElementList) {
@@ -492,149 +483,157 @@
}
private void readDayOffRequestList(NurseRoster nurseRoster, Element dayOffRequestsElement) throws JDOMException {
+ List<DayOffRequest> dayOffRequestList;
if (dayOffRequestsElement == null) {
- return;
- }
- List<Element> dayOffElementList = (List<Element>) dayOffRequestsElement.getChildren();
- List<DayOffRequest> dayOffRequestList = new ArrayList<DayOffRequest>(dayOffElementList.size());
- long id = 0L;
- for (Element element : dayOffElementList) {
- assertElementName(element, "DayOff");
- DayOffRequest dayOffRequest = new DayOffRequest();
- dayOffRequest.setId(id);
-
- Element employeeElement = element.getChild("EmployeeID");
- Employee employee = employeeMap.get(employeeElement.getText());
- if (employee == null) {
- throw new IllegalArgumentException("The shiftDate (" + employeeElement.getText()
- + ") of dayOffRequest (" + dayOffRequest + ") does not exist.");
- }
- dayOffRequest.setEmployee(employee);
+ dayOffRequestList = Collections.emptyList();
+ } else {
+ List<Element> dayOffElementList = (List<Element>) dayOffRequestsElement.getChildren();
+ dayOffRequestList = new ArrayList<DayOffRequest>(dayOffElementList.size());
+ long id = 0L;
+ for (Element element : dayOffElementList) {
+ assertElementName(element, "DayOff");
+ DayOffRequest dayOffRequest = new DayOffRequest();
+ dayOffRequest.setId(id);
- Element dateElement = element.getChild("Date");
- ShiftDate shiftDate = shiftDateMap.get(dateElement.getText());
- if (shiftDate == null) {
- throw new IllegalArgumentException("The date (" + dateElement.getText()
- + ") of dayOffRequest (" + dayOffRequest + ") does not exist.");
- }
- dayOffRequest.setShiftDate(shiftDate);
+ Element employeeElement = element.getChild("EmployeeID");
+ Employee employee = employeeMap.get(employeeElement.getText());
+ if (employee == null) {
+ throw new IllegalArgumentException("The shiftDate (" + employeeElement.getText()
+ + ") of dayOffRequest (" + dayOffRequest + ") does not exist.");
+ }
+ dayOffRequest.setEmployee(employee);
- dayOffRequest.setWeight(element.getAttribute("weight").getIntValue());
+ Element dateElement = element.getChild("Date");
+ ShiftDate shiftDate = shiftDateMap.get(dateElement.getText());
+ if (shiftDate == null) {
+ throw new IllegalArgumentException("The date (" + dateElement.getText()
+ + ") of dayOffRequest (" + dayOffRequest + ") does not exist.");
+ }
+ dayOffRequest.setShiftDate(shiftDate);
- dayOffRequestList.add(dayOffRequest);
- id++;
+ dayOffRequest.setWeight(element.getAttribute("weight").getIntValue());
+
+ dayOffRequestList.add(dayOffRequest);
+ id++;
+ }
}
nurseRoster.setDayOffRequestList(dayOffRequestList);
}
private void readDayOnRequestList(NurseRoster nurseRoster, Element dayOnRequestsElement) throws JDOMException {
+ List<DayOnRequest> dayOnRequestList;
if (dayOnRequestsElement == null) {
- return;
- }
- List<Element> dayOnElementList = (List<Element>) dayOnRequestsElement.getChildren();
- List<DayOnRequest> dayOnRequestList = new ArrayList<DayOnRequest>(dayOnElementList.size());
- long id = 0L;
- for (Element element : dayOnElementList) {
- assertElementName(element, "DayOn");
- DayOnRequest dayOnRequest = new DayOnRequest();
- dayOnRequest.setId(id);
+ dayOnRequestList = Collections.emptyList();
+ } else {
+ List<Element> dayOnElementList = (List<Element>) dayOnRequestsElement.getChildren();
+ dayOnRequestList = new ArrayList<DayOnRequest>(dayOnElementList.size());
+ long id = 0L;
+ for (Element element : dayOnElementList) {
+ assertElementName(element, "DayOn");
+ DayOnRequest dayOnRequest = new DayOnRequest();
+ dayOnRequest.setId(id);
- Element employeeElement = element.getChild("EmployeeID");
- Employee employee = employeeMap.get(employeeElement.getText());
- if (employee == null) {
- throw new IllegalArgumentException("The shiftDate (" + employeeElement.getText()
- + ") of dayOnRequest (" + dayOnRequest + ") does not exist.");
- }
- dayOnRequest.setEmployee(employee);
+ Element employeeElement = element.getChild("EmployeeID");
+ Employee employee = employeeMap.get(employeeElement.getText());
+ if (employee == null) {
+ throw new IllegalArgumentException("The shiftDate (" + employeeElement.getText()
+ + ") of dayOnRequest (" + dayOnRequest + ") does not exist.");
+ }
+ dayOnRequest.setEmployee(employee);
- Element dateElement = element.getChild("Date");
- ShiftDate shiftDate = shiftDateMap.get(dateElement.getText());
- if (shiftDate == null) {
- throw new IllegalArgumentException("The date (" + dateElement.getText()
- + ") of dayOnRequest (" + dayOnRequest + ") does not exist.");
- }
- dayOnRequest.setShiftDate(shiftDate);
+ Element dateElement = element.getChild("Date");
+ ShiftDate shiftDate = shiftDateMap.get(dateElement.getText());
+ if (shiftDate == null) {
+ throw new IllegalArgumentException("The date (" + dateElement.getText()
+ + ") of dayOnRequest (" + dayOnRequest + ") does not exist.");
+ }
+ dayOnRequest.setShiftDate(shiftDate);
- dayOnRequest.setWeight(element.getAttribute("weight").getIntValue());
+ dayOnRequest.setWeight(element.getAttribute("weight").getIntValue());
- dayOnRequestList.add(dayOnRequest);
- id++;
+ dayOnRequestList.add(dayOnRequest);
+ id++;
+ }
}
nurseRoster.setDayOnRequestList(dayOnRequestList);
}
private void readShiftOffRequestList(NurseRoster nurseRoster, Element shiftOffRequestsElement) throws JDOMException {
+ List<ShiftOffRequest> shiftOffRequestList;
if (shiftOffRequestsElement == null) {
- return;
- }
- List<Element> shiftOffElementList = (List<Element>) shiftOffRequestsElement.getChildren();
- List<ShiftOffRequest> shiftOffRequestList = new ArrayList<ShiftOffRequest>(shiftOffElementList.size());
- long id = 0L;
- for (Element element : shiftOffElementList) {
- assertElementName(element, "ShiftOff");
- ShiftOffRequest shiftOffRequest = new ShiftOffRequest();
- shiftOffRequest.setId(id);
+ shiftOffRequestList = Collections.emptyList();
+ } else {
+ List<Element> shiftOffElementList = (List<Element>) shiftOffRequestsElement.getChildren();
+ shiftOffRequestList = new ArrayList<ShiftOffRequest>(shiftOffElementList.size());
+ long id = 0L;
+ for (Element element : shiftOffElementList) {
+ assertElementName(element, "ShiftOff");
+ ShiftOffRequest shiftOffRequest = new ShiftOffRequest();
+ shiftOffRequest.setId(id);
- Element employeeElement = element.getChild("EmployeeID");
- Employee employee = employeeMap.get(employeeElement.getText());
- if (employee == null) {
- throw new IllegalArgumentException("The shift (" + employeeElement.getText()
- + ") of shiftOffRequest (" + shiftOffRequest + ") does not exist.");
- }
- shiftOffRequest.setEmployee(employee);
+ Element employeeElement = element.getChild("EmployeeID");
+ Employee employee = employeeMap.get(employeeElement.getText());
+ if (employee == null) {
+ throw new IllegalArgumentException("The shift (" + employeeElement.getText()
+ + ") of shiftOffRequest (" + shiftOffRequest + ") does not exist.");
+ }
+ shiftOffRequest.setEmployee(employee);
- Element dateElement = element.getChild("Date");
- Element shiftTypeElement = element.getChild("ShiftTypeID");
- Shift shift = dateAndShiftTypeToShiftMap.get(Arrays.asList(dateElement.getText(), shiftTypeElement.getText()));
- if (shift == null) {
- throw new IllegalArgumentException("The date (" + dateElement.getText()
- + ") or the shiftType (" + shiftTypeElement.getText()
- + ") of shiftOffRequest (" + shiftOffRequest + ") does not exist.");
- }
- shiftOffRequest.setShift(shift);
+ Element dateElement = element.getChild("Date");
+ Element shiftTypeElement = element.getChild("ShiftTypeID");
+ Shift shift = dateAndShiftTypeToShiftMap.get(Arrays.asList(dateElement.getText(), shiftTypeElement.getText()));
+ if (shift == null) {
+ throw new IllegalArgumentException("The date (" + dateElement.getText()
+ + ") or the shiftType (" + shiftTypeElement.getText()
+ + ") of shiftOffRequest (" + shiftOffRequest + ") does not exist.");
+ }
+ shiftOffRequest.setShift(shift);
- shiftOffRequest.setWeight(element.getAttribute("weight").getIntValue());
+ shiftOffRequest.setWeight(element.getAttribute("weight").getIntValue());
- shiftOffRequestList.add(shiftOffRequest);
- id++;
+ shiftOffRequestList.add(shiftOffRequest);
+ id++;
+ }
}
nurseRoster.setShiftOffRequestList(shiftOffRequestList);
}
private void readShiftOnRequestList(NurseRoster nurseRoster, Element shiftOnRequestsElement) throws JDOMException {
+ List<ShiftOnRequest> shiftOnRequestList;
if (shiftOnRequestsElement == null) {
- return;
- }
- List<Element> shiftOnElementList = (List<Element>) shiftOnRequestsElement.getChildren();
- List<ShiftOnRequest> shiftOnRequestList = new ArrayList<ShiftOnRequest>(shiftOnElementList.size());
- long id = 0L;
- for (Element element : shiftOnElementList) {
- assertElementName(element, "ShiftOn");
- ShiftOnRequest shiftOnRequest = new ShiftOnRequest();
- shiftOnRequest.setId(id);
+ shiftOnRequestList = Collections.emptyList();
+ } else {
+ List<Element> shiftOnElementList = (List<Element>) shiftOnRequestsElement.getChildren();
+ shiftOnRequestList = new ArrayList<ShiftOnRequest>(shiftOnElementList.size());
+ long id = 0L;
+ for (Element element : shiftOnElementList) {
+ assertElementName(element, "ShiftOn");
+ ShiftOnRequest shiftOnRequest = new ShiftOnRequest();
+ shiftOnRequest.setId(id);
- Element employeeElement = element.getChild("EmployeeID");
- Employee employee = employeeMap.get(employeeElement.getText());
- if (employee == null) {
- throw new IllegalArgumentException("The shift (" + employeeElement.getText()
- + ") of shiftOnRequest (" + shiftOnRequest + ") does not exist.");
- }
- shiftOnRequest.setEmployee(employee);
+ Element employeeElement = element.getChild("EmployeeID");
+ Employee employee = employeeMap.get(employeeElement.getText());
+ if (employee == null) {
+ throw new IllegalArgumentException("The shift (" + employeeElement.getText()
+ + ") of shiftOnRequest (" + shiftOnRequest + ") does not exist.");
+ }
+ shiftOnRequest.setEmployee(employee);
- Element dateElement = element.getChild("Date");
- Element shiftTypeElement = element.getChild("ShiftTypeID");
- Shift shift = dateAndShiftTypeToShiftMap.get(Arrays.asList(dateElement.getText(), shiftTypeElement.getText()));
- if (shift == null) {
- throw new IllegalArgumentException("The date (" + dateElement.getText()
- + ") or the shiftType (" + shiftTypeElement.getText()
- + ") of shiftOnRequest (" + shiftOnRequest + ") does not exist.");
- }
- shiftOnRequest.setShift(shift);
+ Element dateElement = element.getChild("Date");
+ Element shiftTypeElement = element.getChild("ShiftTypeID");
+ Shift shift = dateAndShiftTypeToShiftMap.get(Arrays.asList(dateElement.getText(), shiftTypeElement.getText()));
+ if (shift == null) {
+ throw new IllegalArgumentException("The date (" + dateElement.getText()
+ + ") or the shiftType (" + shiftTypeElement.getText()
+ + ") of shiftOnRequest (" + shiftOnRequest + ") does not exist.");
+ }
+ shiftOnRequest.setShift(shift);
- shiftOnRequest.setWeight(element.getAttribute("weight").getIntValue());
+ shiftOnRequest.setWeight(element.getAttribute("weight").getIntValue());
- shiftOnRequestList.add(shiftOnRequest);
- id++;
+ shiftOnRequestList.add(shiftOnRequest);
+ id++;
+ }
}
nurseRoster.setShiftOnRequestList(shiftOnRequestList);
}
More information about the jboss-svn-commits
mailing list