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 computerList; private List processList; private HardSoftScore score; public CloudBalance(List computerList, List processList) { this.computerList = computerList; this.processList = processList; } public CloudBalance() { } @ValueRangeProvider(id = "computerRange") @ProblemFactCollectionProperty public List getComputerList() { return computerList; } @PlanningEntityCollectionProperty public List getProcessList() { return processList; } @PlanningScore public HardSoftScore getScore() { return score; } public void setScore(HardSoftScore score) { this.score = score; } }