package org.jactr.tools.experiment.actions.common; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.tools.experiment.IExperiment; import org.jactr.tools.experiment.actions.IAction; import org.jactr.tools.experiment.impl.IVariableContext; import org.jactr.tools.experiment.trial.ITrial; public class NextTrialAction implements IAction { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(NextTrialAction.class); private IExperiment _experiment; private String _trialName; public NextTrialAction(IExperiment experiment, String trialName) { _experiment = experiment; _trialName = trialName; } public void fire(IVariableContext context) { String trialName = _experiment.getVariableResolver().resolve(_trialName, context).toString(); for (ITrial trial : _experiment.getTrials()) if (trial.getId().equals(trialName)) { _experiment.setNextTrial(trial); return; } throw new IllegalArgumentException(String.format("Could not find trial %s", trialName)); } }