diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/event/EventTypeEnum.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/event/EventTypeEnum.java index efec696cb2ed92212b21df962732c0b1dafa655e..e774ceb8d1fa545fe215a0725c41433c8e0dad47 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/event/EventTypeEnum.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/event/EventTypeEnum.java @@ -7,7 +7,9 @@ public enum EventTypeEnum { BOTTLENECK_FOUND("BottleneckFoundEvent", "_VvZEwKEoEeKDl52Xojo4CQ"), CUSTOMER_WORKLOAD_UPDATE("CustomerWorkloadUpdate", "_XvZEwKEoEeKDl52Xojo4KQ"), OPTIMIZATION_PERIOD("OptimizationPeriod","_E6I-wMwxEeKRorfNQMmH1Q"), - CUSTOMER_REDUCES_WORKLOAD("CustomerReducesWorkload","_NkFRcN_4EeKStv3brthjgQ"); + CUSTOMER_REDUCES_WORKLOAD("CustomerReducesWorkload","_NkFRcN_4EeKStv3brthjgQ"), + WORKLOAD_UPDATE_CUSTOMBER_B("WorkloadUpdate-CustomerB","_-oOCkOesEeK-n49tvUhS6w"), + SLA_VIOLATED_CUSTOMBER_A("SLAviolated-CustomerA","_Az4tQOfLEeK-n49tvUhS6w"); private final String name; private final String id; @@ -38,6 +40,10 @@ public enum EventTypeEnum { return OPTIMIZATION_PERIOD; if (eventTypeName.equals(CUSTOMER_REDUCES_WORKLOAD.name)) return CUSTOMER_REDUCES_WORKLOAD; + if (eventTypeName.equals(WORKLOAD_UPDATE_CUSTOMBER_B.name)) + return WORKLOAD_UPDATE_CUSTOMBER_B; + if (eventTypeName.equals(SLA_VIOLATED_CUSTOMBER_A.name)) + return SLA_VIOLATED_CUSTOMBER_A; return null; } } diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/util/DmmModelActionHelper.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/util/DmmModelActionHelper.java index 78b415ba2d7161193571d4a7746cfcac081e7ecb..8059813d51882cc58d774e911f206dc504bba4ab 100644 --- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/util/DmmModelActionHelper.java +++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/dmm/util/DmmModelActionHelper.java @@ -3,6 +3,7 @@ package edu.kit.ipd.descartes.adaptation.model.dmm.util; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Random; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.util.EcoreUtil; @@ -216,7 +217,7 @@ public class DmmModelActionHelper { /** * Find a container that refers to the given {@link ContainerTemplate} and that suits the given - * {@link AdaptationScope}. + * {@link AdaptationScope}. This is the new target. * * @param containerTemplate * @param adaptationScope @@ -245,7 +246,9 @@ public class DmmModelActionHelper { if (migrationTargetCandidates.size() > 0) { switch (adaptationScope) { case RANDOM: - return container; + Random generator = new Random(); + int next = generator.nextInt(containers.size()); + return containers.get(next); default: return null; }