Skip to content

Commit

Permalink
Energy evaluation class added to the non-deterministic mode switching
Browse files Browse the repository at this point in the history
plugin in constructor.
  • Loading branch information
iridin committed Feb 29, 2016
1 parent dd3d108 commit 02e3fa5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -77,11 +78,14 @@ public class NonDeterministicModeSwitchingManager {



public NonDeterministicModeSwitchingManager(long startTime) {
public NonDeterministicModeSwitchingManager(long startTime, Class<? extends NonDetModeSwitchEval> evalClass) {
this.startTime = startTime;
this.evalClass = evalClass;

currentNonDeterminismLevel = NonDetModeSwitchAnnealStateSpace.startingNondeterminism;
stateSpace = new NonDetModeSwitchAnnealStateSpace();
evaluators = new HashMap<>();
energies = new HashMap<>();
}

@Process
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,16 @@
public class NonDeterministicModeSwitchingPlugin implements DEECoPlugin {

private long startTime = 0;
Class<? extends NonDetModeSwitchEval> evalClass = null;

/** Plugin dependencies. */
@SuppressWarnings("unchecked")
static private final List<Class<? extends DEECoPlugin>> DEPENDENCIES =
Arrays.asList(new Class[]{ModeSwitchingPlugin.class});

public NonDeterministicModeSwitchingPlugin startAt(long startTime) {
public NonDeterministicModeSwitchingPlugin startAt(long startTime, Class<? extends NonDetModeSwitchEval> evalClass) {
this.startTime = startTime;
this.evalClass = evalClass;
return this;
}

Expand All @@ -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) {
Expand Down

0 comments on commit 02e3fa5

Please sign in to comment.