diff options
Diffstat (limited to 'src/ri-planner/src/main/java/io/trygvis/acme/planning/machine/CloudBalance.java')
-rw-r--r-- | src/ri-planner/src/main/java/io/trygvis/acme/planning/machine/CloudBalance.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/ri-planner/src/main/java/io/trygvis/acme/planning/machine/CloudBalance.java b/src/ri-planner/src/main/java/io/trygvis/acme/planning/machine/CloudBalance.java new file mode 100644 index 0000000..7311918 --- /dev/null +++ b/src/ri-planner/src/main/java/io/trygvis/acme/planning/machine/CloudBalance.java @@ -0,0 +1,48 @@ +package io.trygvis.acme.planning.machine; + +import org.optaplanner.core.api.domain.solution.PlanningEntityCollectionProperty; +import org.optaplanner.core.api.domain.solution.PlanningScore; +import org.optaplanner.core.api.domain.solution.PlanningSolution; +import org.optaplanner.core.api.domain.solution.ProblemFactCollectionProperty; +import org.optaplanner.core.api.domain.valuerange.ValueRangeProvider; +import org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScore; + +import java.util.List; + +@PlanningSolution +public class CloudBalance { + + private List<CloudComputer> computerList; + + private List<CloudProcess> processList; + + private HardSoftScore score; + + public CloudBalance(List<CloudComputer> computerList, List<CloudProcess> processList) { + this.computerList = computerList; + this.processList = processList; + } + + public CloudBalance() { + } + + @ValueRangeProvider(id = "computerRange") + @ProblemFactCollectionProperty + public List<CloudComputer> getComputerList() { + return computerList; + } + + @PlanningEntityCollectionProperty + public List<CloudProcess> getProcessList() { + return processList; + } + + @PlanningScore + public HardSoftScore getScore() { + return score; + } + + public void setScore(HardSoftScore score) { + this.score = score; + } +} |