package de.mpicbg.knime.scripting.r.oldhardwired; import org.knime.core.node.NodeDialogPane; import de.mpicbg.knime.knutils.AbstractNodeModel; import de.mpicbg.knime.scripting.core.AbstractScriptingNodeModel; import de.mpicbg.knime.scripting.core.ScriptFileProvider; import de.mpicbg.knime.scripting.core.ScriptingModelConfig; import de.mpicbg.knime.scripting.core.ScriptingNodeDialog; import de.mpicbg.knime.scripting.core.TemplateConfigurator; import de.mpicbg.knime.scripting.core.rgg.wizard.ScriptTemplate; import de.mpicbg.knime.scripting.r.AbstractRScriptingNodeModel; import de.mpicbg.knime.scripting.r.RColumnSupport; import de.mpicbg.knime.scripting.r.RSnippetNodeFactory; import de.mpicbg.knime.scripting.r.node.snippet.RSnippetNodeModel; /** * @author Holger Brandl * @deprecated */ public abstract class HardwiredRSnippetNodeFactory extends RSnippetNodeFactory implements ScriptFileProvider { private ScriptTemplate hardwiredTemplate; @Override @Deprecated public RSnippetNodeModel createNodeModel() { if (hardwiredTemplate == null) { hardwiredTemplate = AbstractScriptingNodeModel.loadTemplate(this); } RSnippetNodeModel snippetNodeModel = createNodeModelInternal(); snippetNodeModel.setHardwiredTemplate(hardwiredTemplate); return snippetNodeModel; } @Deprecated protected RSnippetNodeModel createNodeModelInternal() { return new RSnippetNodeModel(new ScriptingModelConfig( AbstractNodeModel.createPorts(getNumberOfInputPorts()), AbstractNodeModel.createPorts(1), new RColumnSupport(), true, false, true)); } @Deprecated public int getNumberOfInputPorts() { return 1; } @Override public NodeDialogPane createNodeDialogPane() { ScriptingNodeDialog configPane = (ScriptingNodeDialog) super.createNodeDialogPane(); configPane.setHardwiredTemplate(hardwiredTemplate); return configPane; } protected boolean enableTemplateRepository() { return false; } // note: here we should simply return null if the node needs to be configured before execution public static String getDefaultScriptForModel(ScriptFileProvider fileProvider) { ScriptTemplate template = AbstractScriptingNodeModel.loadTemplate(fileProvider); return TemplateConfigurator.generateScript(template); } }