Skip to content
Snippets Groups Projects
Commit 71a6a8e9 authored by Nikolaus Huber's avatar Nikolaus Huber
Browse files

migration implemented for container templates

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@11151 9e42b895-fcda-4063-8a3b-11be15eb1bbd
parent fa5cb198
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@ import edu.kit.ipd.descartes.adaptation.model.dmm.util.OclEvaluationHelper;
import edu.kit.ipd.descartes.core.AdaptableEntity;
import edu.kit.ipd.descartes.core.Entity;
import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation;
import edu.kit.ipd.descartes.mm.adaptation.AdaptationScope;
import edu.kit.ipd.descartes.mm.adaptationpoints.AdaptationPoint;
import edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange;
import edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange;
......@@ -111,7 +112,7 @@ public class DmmModelActionHandler implements IActionHandler {
break;
case MIGRATE:
logger.debug("Executing MIGRATE operation");
migrate(adaptableEntity, range);
migrate(adaptableEntity, range, operation.getAdaptationOperationScope());
break;
default:
throw new OperationNotPerformedException("Operation " + operation + " on adaptation point "
......@@ -164,9 +165,10 @@ public class DmmModelActionHandler implements IActionHandler {
return invariant;
}
private void migrate(Entity adaptableEntity, VariationType targets) {
private void migrate(Entity adaptableEntity, VariationType targets, AdaptationScope adaptationScope) {
switch (adaptableEntity.eClass().getClassifierID()) {
case ResourcelandscapePackage.RUNTIME_ENVIRONMENT:
logger.debug("Starting migration of a runtime environment referring to container template " + adaptableEntity.getName() + " (ID: " + adaptableEntity.getId() + ")");
/*
* 1. Copy RE 2. Attach copy to a target specified in the Adaptation Point 3. Delete
* origin
......@@ -192,8 +194,10 @@ public class DmmModelActionHandler implements IActionHandler {
parent.getContains().remove(migratedEntity);
break;
case ContainerrepositoryPackage.CONTAINER_TEMPLATE:
logger.debug("Migration a container referring to container template " + adaptableEntity);
//TODO: Implement ContainerTemplate Migration
logger.debug("Starting migration of a container referring to container template " + adaptableEntity.getName() + " (ID: " + adaptableEntity.getId() + ")");
ContainerTemplate ct = (ContainerTemplate) adaptableEntity;
Container c = DmmModelActionHelper.findSuitableContainer(ct, adaptationScope);
migrate(c, targets, adaptationScope);
break;
default:
throw new IllegalArgumentException("No implemented migrate operation for " + adaptableEntity);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment