[jboss-svn-commits] JBL Code SVN: r32388 - in labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering: swingui and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Apr 4 08:46:52 EDT 2010
Author: ge0ffrey
Date: 2010-04-04 08:46:51 -0400 (Sun, 04 Apr 2010)
New Revision: 32388
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Employee.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java
Log:
nurse rostering: GUI cosmetics
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Employee.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Employee.java 2010-04-04 11:23:09 UTC (rev 32387)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/Employee.java 2010-04-04 12:46:51 UTC (rev 32388)
@@ -47,7 +47,7 @@
@Override
public String toString() {
- return code + ": " + name;
+ return code + "(" + name + ")";
}
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java 2010-04-04 11:23:09 UTC (rev 32387)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/domain/EmployeeAssignment.java 2010-04-04 12:46:51 UTC (rev 32388)
@@ -34,7 +34,7 @@
}
public String getLabel() {
- return shift + "->" + employee;
+ return shift.getShiftType().getCode();
}
public int compareTo(EmployeeAssignment other) {
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java 2010-04-04 11:23:09 UTC (rev 32387)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nurserostering/swingui/NurseRosteringPanel.java 2010-04-04 12:46:51 UTC (rev 32388)
@@ -16,10 +16,11 @@
import javax.swing.JPanel;
import org.drools.planner.examples.common.swingui.SolutionPanel;
-import org.drools.planner.examples.nurserostering.domain.Employee;
+import org.drools.planner.examples.nurserostering.domain.DayOfWeek;
+import org.drools.planner.examples.nurserostering.domain.ShiftDate;
import org.drools.planner.examples.nurserostering.domain.EmployeeAssignment;
import org.drools.planner.examples.nurserostering.domain.NurseRoster;
-import org.drools.planner.examples.nurserostering.domain.Shift;
+import org.drools.planner.examples.nurserostering.domain.Employee;
import org.drools.planner.examples.nurserostering.solver.move.EmployeeChangeMove;
/**
@@ -44,14 +45,24 @@
public void resetPanel() {
removeAll();
NurseRoster schedule = getNurseRoster();
- gridLayout.setColumns(schedule.getEmployeeList().size() + 1);
- JLabel headerCornerLabel = new JLabel("Shift \\ Employee");
+ gridLayout.setColumns(schedule.getShiftDateList().size() + 1);
+ JLabel headerCornerLabel = new JLabel("Employee \\ ShiftDate");
headerCornerLabel.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.DARK_GRAY),
BorderFactory.createEmptyBorder(2, 2, 2, 2)));
headerCornerLabel.setBackground(HEADER_COLOR);
headerCornerLabel.setOpaque(true);
add(headerCornerLabel);
+ for (ShiftDate shiftDate : schedule.getShiftDateList()) {
+ JLabel shiftDateLabel = new JLabel(shiftDate.toString());
+ shiftDateLabel.setBorder(BorderFactory.createCompoundBorder(
+ BorderFactory.createLineBorder(Color.DARK_GRAY),
+ BorderFactory.createEmptyBorder(2, 2, 2, 2)));
+ shiftDateLabel.setBackground(HEADER_COLOR);
+ shiftDateLabel.setOpaque(true);
+ add(shiftDateLabel);
+ }
+ Map<Employee, Map<ShiftDate, EmployeeShiftDatePanel>> employeeShiftDatePanelMap = new HashMap<Employee, Map<ShiftDate, EmployeeShiftDatePanel>>();
for (Employee employee : schedule.getEmployeeList()) {
JLabel employeeLabel = new JLabel(employee.toString());
employeeLabel.setBorder(BorderFactory.createCompoundBorder(
@@ -60,36 +71,29 @@
employeeLabel.setBackground(HEADER_COLOR);
employeeLabel.setOpaque(true);
add(employeeLabel);
- }
- Map<Shift, Map<Employee, ShiftEmployeePanel>> shiftEmployeePanelMap = new HashMap<Shift, Map<Employee, ShiftEmployeePanel>>();
- for (Shift shift : schedule.getShiftList()) {
- JLabel shiftLabel = new JLabel(shift.toString());
- shiftLabel.setBorder(BorderFactory.createCompoundBorder(
- BorderFactory.createLineBorder(Color.DARK_GRAY),
- BorderFactory.createEmptyBorder(2, 2, 2, 2)));
- shiftLabel.setBackground(HEADER_COLOR);
- shiftLabel.setOpaque(true);
- add(shiftLabel);
- Map<Employee, ShiftEmployeePanel> employeePanelMap = new HashMap<Employee, ShiftEmployeePanel>();
- shiftEmployeePanelMap.put(shift, employeePanelMap);
- for (Employee employee : schedule.getEmployeeList()) {
- ShiftEmployeePanel shiftEmployeePanel = new ShiftEmployeePanel();
- add(shiftEmployeePanel);
- employeePanelMap.put(employee, shiftEmployeePanel);
+ Map<ShiftDate, EmployeeShiftDatePanel> shiftDatePanelMap = new HashMap<ShiftDate, EmployeeShiftDatePanel>();
+ employeeShiftDatePanelMap.put(employee, shiftDatePanelMap);
+ for (ShiftDate shiftDate : schedule.getShiftDateList()) {
+ EmployeeShiftDatePanel employeeShiftDatePanel = new EmployeeShiftDatePanel();
+ if (shiftDate.getDayOfWeek() == DayOfWeek.SATURDAY || shiftDate.getDayOfWeek() == DayOfWeek.SUNDAY) {
+ employeeShiftDatePanel.setBackground(Color.LIGHT_GRAY);
+ }
+ add(employeeShiftDatePanel);
+ shiftDatePanelMap.put(shiftDate, employeeShiftDatePanel);
}
}
if (schedule.isInitialized()) {
for (EmployeeAssignment employeeAssignment : schedule.getEmployeeAssignmentList()) {
- Shift shift = employeeAssignment.getShift();
- ShiftEmployeePanel shiftEmployeePanel = shiftEmployeePanelMap.get(shift).get(employeeAssignment.getEmployee());
- shiftEmployeePanel.addEmployeeAssignment(employeeAssignment);
+ Employee employee = employeeAssignment.getEmployee();
+ EmployeeShiftDatePanel employeeShiftDatePanel = employeeShiftDatePanelMap.get(employee).get(employeeAssignment.getShiftDate());
+ employeeShiftDatePanel.addEmployeeAssignment(employeeAssignment);
}
}
}
- private class ShiftEmployeePanel extends JPanel {
+ private class EmployeeShiftDatePanel extends JPanel {
- public ShiftEmployeePanel() {
+ public EmployeeShiftDatePanel() {
super(new GridLayout(0, 1));
setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.DARK_GRAY),
@@ -115,7 +119,7 @@
public void actionPerformed(ActionEvent e) {
List<Employee> employeeList = getNurseRoster().getEmployeeList();
JComboBox employeeListField = new JComboBox(employeeList.toArray());
- employeeListField.setSelectedItem(employeeAssignment.getShift());
+ employeeListField.setSelectedItem(employeeAssignment.getEmployee());
int result = JOptionPane.showConfirmDialog(NurseRosteringPanel.this.getRootPane(), employeeListField,
"Select employee", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
More information about the jboss-svn-commits
mailing list