From fa5cb198b87efd9d4f532395d0e072bcdf810706 Mon Sep 17 00:00:00 2001 From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de> Date: Thu, 11 Apr 2013 09:22:21 +0000 Subject: [PATCH] test for finding suitable containers git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11149 9e42b895-fcda-4063-8a3b-11be15eb1bbd --- .../model/dmm/util/DmmModelActionHelper.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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 ca4c7107..ea7338fe 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,12 +3,15 @@ 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; import edu.kit.ipd.descartes.core.AdaptableEntity; import edu.kit.ipd.descartes.core.NamedElement; +import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope; +import edu.kit.ipd.descartes.mm.containerrepository.ContainerTemplate; import edu.kit.ipd.descartes.mm.resourceconfiguration.ConfigurationSpecification; import edu.kit.ipd.descartes.mm.resourceconfiguration.ResourceconfigurationPackage; import edu.kit.ipd.descartes.mm.resourcelandscape.Container; @@ -184,4 +187,23 @@ public class DmmModelActionHelper { return result; } + /**Find a container that refers to the given {@link ContainerTemplate} and that suits the + * given {@link AdaptationScope}. + * + * @param containerTemplate + * @param adaptationScope + * @return + */ + public static Container findSuitableContainer(ContainerTemplate containerTemplate, AdaptationScope adaptationScope) { + List<Container> containers = containerTemplate.getReferringContainers(); + Random randomGenerator = new Random(); + + switch (adaptationScope) { + case RANDOM: + return containers.get(randomGenerator.nextInt(containers.size())); + default: + return null; + } + } + } -- GitLab