package de.mpicbg.knime.scripting.r.node.snippet; import org.knime.core.node.ExecutionContext; import org.knime.core.node.port.PortObject; import de.mpicbg.knime.scripting.core.ScriptingModelConfig; import de.mpicbg.knime.scripting.r.AbstractRScriptingNodeModel; import de.mpicbg.knime.scripting.r.RColumnSupport; /** * This is the model implementation of RSnippet. * * @author Holger Brandl, Antje Janosch (MPI-CBG) */ public class RSnippetNodeModel extends AbstractRScriptingNodeModel { private static final ScriptingModelConfig nodeModelCfg = new ScriptingModelConfig( createPorts(1), // 1 input table createPorts(1), // 1 output table new RColumnSupport(), true, // script true, // provide openIn true); // use chunks /** * constructor * @param numInputs * @param numOutputs */ public RSnippetNodeModel(ScriptingModelConfig cfg) { super(cfg); } public RSnippetNodeModel() { super(nodeModelCfg); } /** * {@inheritDoc} */ @Override public String getDefaultScript(String defaultScript) { if(this.getNrInPorts() > 1) return super.getDefaultScript(CFG_SCRIPT2_DFT); else return super.getDefaultScript(CFG_SCRIPT_DFT); } /** * {@inheritDoc} */ @Override protected PortObject[] executeImpl(PortObject[] inData, ExecutionContext exec) throws Exception { super.executeImpl(inData, exec); super.runScript(exec); PortObject[] outData = super.pullOutputFromR(exec); return outData; } }