diff options
Diffstat (limited to 'module/acme/src/main/java/io/trygvis/acme/planning/machine/CloudProcess.java')
-rw-r--r-- | module/acme/src/main/java/io/trygvis/acme/planning/machine/CloudProcess.java | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/module/acme/src/main/java/io/trygvis/acme/planning/machine/CloudProcess.java b/module/acme/src/main/java/io/trygvis/acme/planning/machine/CloudProcess.java deleted file mode 100644 index 2002903..0000000 --- a/module/acme/src/main/java/io/trygvis/acme/planning/machine/CloudProcess.java +++ /dev/null @@ -1,48 +0,0 @@ -package io.trygvis.acme.planning.machine; - -import org.apache.commons.lang3.builder.CompareToBuilder; -import org.optaplanner.core.api.domain.entity.PlanningEntity; -import org.optaplanner.core.api.domain.variable.PlanningVariable; - -import java.util.Comparator; - -@PlanningEntity(difficultyComparatorClass = CloudProcessDifficultyComparator.class) -public class CloudProcess { - public String id; - public int requiredCpu; - public int requiredMemory; - public int requiredMultiplicand; - - @PlanningVariable( - valueRangeProviderRefs = "computerRange", - strengthComparatorClass = CloudComputerStrengthComparator.class) - public CloudComputer computer; - - public CloudProcess(String id, int requiredCpu, int requiredMemory) { - this.id = id; - this.requiredCpu = requiredCpu; - this.requiredMemory = requiredMemory; - - this.requiredMultiplicand = requiredCpu * requiredMemory; - } - - @SuppressWarnings("unused") - public CloudProcess() { - } - - public String toString() { - return id; - } - - public static class CloudComputerStrengthComparator implements Comparator<CloudComputer> { - public int compare(CloudComputer a, CloudComputer b) { - var x = a.instance; - var y = b.instance; - return new CompareToBuilder() - .append(x.multiplicand, y.multiplicand) - .append(y.cost, x.cost) // Descending (but this is debatable) - .append(x.kind, y.kind) - .toComparison(); - } - } -} |