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; ...@@ -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.AdaptableEntity;
import edu.kit.ipd.descartes.core.Entity; import edu.kit.ipd.descartes.core.Entity;
import edu.kit.ipd.descartes.mm.adaptation.AdaptationActionOperation; 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.AdaptationPoint;
import edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange; import edu.kit.ipd.descartes.mm.adaptationpoints.ModelEntityConfigurationRange;
import edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange; import edu.kit.ipd.descartes.mm.adaptationpoints.ModelVariableConfigurationRange;
...@@ -111,7 +112,7 @@ public class DmmModelActionHandler implements IActionHandler { ...@@ -111,7 +112,7 @@ public class DmmModelActionHandler implements IActionHandler {
break; break;
case MIGRATE: case MIGRATE:
logger.debug("Executing MIGRATE operation"); logger.debug("Executing MIGRATE operation");
migrate(adaptableEntity, range); migrate(adaptableEntity, range, operation.getAdaptationOperationScope());
break; break;
default: default:
throw new OperationNotPerformedException("Operation " + operation + " on adaptation point " throw new OperationNotPerformedException("Operation " + operation + " on adaptation point "
...@@ -164,9 +165,10 @@ public class DmmModelActionHandler implements IActionHandler { ...@@ -164,9 +165,10 @@ public class DmmModelActionHandler implements IActionHandler {
return invariant; return invariant;
} }
private void migrate(Entity adaptableEntity, VariationType targets) { private void migrate(Entity adaptableEntity, VariationType targets, AdaptationScope adaptationScope) {
switch (adaptableEntity.eClass().getClassifierID()) { switch (adaptableEntity.eClass().getClassifierID()) {
case ResourcelandscapePackage.RUNTIME_ENVIRONMENT: 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 * 1. Copy RE 2. Attach copy to a target specified in the Adaptation Point 3. Delete
* origin * origin
...@@ -192,8 +194,10 @@ public class DmmModelActionHandler implements IActionHandler { ...@@ -192,8 +194,10 @@ public class DmmModelActionHandler implements IActionHandler {
parent.getContains().remove(migratedEntity); parent.getContains().remove(migratedEntity);
break; break;
case ContainerrepositoryPackage.CONTAINER_TEMPLATE: case ContainerrepositoryPackage.CONTAINER_TEMPLATE:
logger.debug("Migration a container referring to container template " + adaptableEntity); logger.debug("Starting migration of a container referring to container template " + adaptableEntity.getName() + " (ID: " + adaptableEntity.getId() + ")");
//TODO: Implement ContainerTemplate Migration ContainerTemplate ct = (ContainerTemplate) adaptableEntity;
Container c = DmmModelActionHelper.findSuitableContainer(ct, adaptationScope);
migrate(c, targets, adaptationScope);
break; break;
default: default:
throw new IllegalArgumentException("No implemented migrate operation for " + adaptableEntity); 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