diff --git a/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingManager.java b/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingManager.java index d1e0e7026..4c6f99435 100644 --- a/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingManager.java +++ b/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingManager.java @@ -16,6 +16,7 @@ package cz.cuni.mff.d3s.jdeeco.adaptation.modeswitching; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -77,11 +78,14 @@ public class NonDeterministicModeSwitchingManager { - public NonDeterministicModeSwitchingManager(long startTime) { + public NonDeterministicModeSwitchingManager(long startTime, Class evalClass) { this.startTime = startTime; + this.evalClass = evalClass; currentNonDeterminismLevel = NonDetModeSwitchAnnealStateSpace.startingNondeterminism; stateSpace = new NonDetModeSwitchAnnealStateSpace(); + evaluators = new HashMap<>(); + energies = new HashMap<>(); } @Process diff --git a/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingPlugin.java b/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingPlugin.java index 3f694ab7e..07e6ea92a 100644 --- a/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingPlugin.java +++ b/jdeeco-adaptation-plugin/src/cz/cuni/mff/d3s/jdeeco/adaptation/modeswitching/NonDeterministicModeSwitchingPlugin.java @@ -34,14 +34,16 @@ public class NonDeterministicModeSwitchingPlugin implements DEECoPlugin { private long startTime = 0; + Class evalClass = null; /** Plugin dependencies. */ @SuppressWarnings("unchecked") static private final List> DEPENDENCIES = Arrays.asList(new Class[]{ModeSwitchingPlugin.class}); - public NonDeterministicModeSwitchingPlugin startAt(long startTime) { + public NonDeterministicModeSwitchingPlugin startAt(long startTime, Class evalClass) { this.startTime = startTime; + this.evalClass = evalClass; return this; } @@ -62,7 +64,7 @@ public void init(DEECoContainer container) throws PluginInitFailedException { container.getProcessor().addExtension(nonDetModeAwareAnnotationProcessor); try { - final NonDeterministicModeSwitchingManager manager = new NonDeterministicModeSwitchingManager(startTime); + final NonDeterministicModeSwitchingManager manager = new NonDeterministicModeSwitchingManager(startTime, evalClass); container.deployComponent(manager); } catch (AnnotationProcessorException e) {