package org.jactr.tools.experiment.misc; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.model.IModel; import org.jactr.core.runtime.ACTRRuntime; import org.jactr.tools.experiment.IExperiment; import org.jactr.tools.experiment.bootstrap.StartModelExperiments; import org.jactr.tools.experiment.impl.IVariableContext; import org.jactr.tools.experiment.impl.VariableResolver; public class ExperimentUtilities { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(ExperimentUtilities.class); static public IExperiment getModelsExperiment(IModel model) { IExperiment exp = (IExperiment) model .getMetaData(StartModelExperiments.MODELS_EXPERIMENT); if (exp == null) // stored in ACTRRuntime? by StartExperiment exp = (IExperiment) ACTRRuntime.getRuntime().getApplicationData(); return exp; } static public IModel getExperimentsModel(IExperiment experiment) { VariableResolver resolver = experiment.getVariableResolver(); IVariableContext context = experiment.getVariableContext(); Object resolved = resolver .resolve( String.format("${%s}", StartModelExperiments.EXPERIMENT_MODEL), context); IModel model = null; if(resolved instanceof IModel) model = (IModel) resolved; if (model == null) model = (IModel) resolver.resolve("${=model}", context); return model; } }