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