| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package fr.jaquin.bdlg.planner.domain;
- import java.util.ArrayList;
- import org.optaplanner.core.api.score.buildin.hardmediumsoft.HardMediumSoftScore;
- public class PlanningSolution {
- private ArrayList<AssignementPair> assignements;
- private String message = "";
- private String explanation = "";
- private HardMediumSoftScore score;
- public PlanningSolution() {
- assignements = new ArrayList<AssignementPair>();
- }
- public static PlanningSolution from(Planning planning) {
- PlanningSolution output = new PlanningSolution();
- output.setScore(planning.getScore());
- for (Assignement assignement : planning.getAssignements()) {
- if (assignement.getVolonteer() == null) {
- output.message += "Error: No volunteer for slot " + assignement.getSlot().getId() + "\n";
- } else {
- output.assignements.add(
- new AssignementPair(assignement.getSlot().getId(), assignement.getVolonteer().getId()));
- }
- }
- for (MealAssignement assignement : planning.getMealAssignements()) {
- if (assignement.getMealSlot() == null) {
- output.message +=
- "Error: No meal for volunteer " + assignement.getVolonteer().getId().toString() + "\n";
- } else {
- output.assignements.add(new AssignementPair(assignement.getMealSlot().getId(),
- assignement.getVolonteer().getId()));
- }
- }
- return output;
- }
- public HardMediumSoftScore getScore() {
- return score;
- }
- public void setScore(HardMediumSoftScore score) {
- this.score = score;
- }
- public String getMessage() {
- return this.message;
- }
- public void setMessage(String msg) {
- this.message = msg;
- }
- public ArrayList<AssignementPair> getAssignements() {
- return this.assignements;
- }
- public void setExplanation(String explanation) {
- this.explanation = explanation;
- }
- public String getExplanation() {
- return this.explanation;
- }
- }
|