use of org.knime.core.quickform.in.QuickFormInputNode in project knime-core by knime.
the class Bug4175_endless_quickform method testStepExecute.
@Test
public void testStepExecute() throws Exception {
WorkflowManager m = getManager();
m.stepExecutionUpToNodeType(QuickFormInputNode.class, QuickFormInputNode.NOT_HIDDEN_FILTER);
m.waitWhileInExecution(5, TimeUnit.SECONDS);
WorkflowManager waitingWFM = m.findNextWaitingWorkflowManager(QuickFormInputNode.class, QuickFormInputNode.NOT_HIDDEN_FILTER);
assertSame(m, waitingWFM);
Map<NodeID, QuickFormInputNode> waitingNodes = waitingWFM.findWaitingNodes(QuickFormInputNode.class, QuickFormInputNode.NOT_HIDDEN_FILTER);
assertEquals(waitingNodes.size(), 1);
QuickFormInputNode booleanIn = waitingNodes.get(m_quickFormBoolean);
assertNotNull(booleanIn);
waitingWFM.executeUpToHere(m_quickFormBoolean);
m.waitWhileInExecution(5, TimeUnit.SECONDS);
checkState(m_quickFormBoolean, InternalNodeContainerState.EXECUTED);
checkState(m_tableViewEnd, InternalNodeContainerState.IDLE);
m.stepExecutionUpToNodeType(QuickFormInputNode.class, QuickFormInputNode.NOT_HIDDEN_FILTER);
m.waitWhileInExecution(5, TimeUnit.SECONDS);
checkState(m_tableViewEnd, InternalNodeContainerState.EXECUTED);
}
use of org.knime.core.quickform.in.QuickFormInputNode in project knime-core by knime.
the class WorkflowManager method loadSettings.
/**
* {@inheritDoc}
*/
@Override
void loadSettings(final NodeSettingsRO settings) throws InvalidSettingsException {
super.loadSettings(settings);
NodeSettingsRO modelSettings = settings.getNodeSettings("model");
Map<NodeID, QuickFormInputNode> nodes = findNodes(QuickFormInputNode.class, false);
for (Entry<NodeID, QuickFormInputNode> entry : nodes.entrySet()) {
NodeID id = entry.getKey();
String nodeID = Integer.toString(id.getIndex());
if (modelSettings.containsKey(nodeID)) {
NodeSettingsRO conf = modelSettings.getNodeSettings(nodeID);
QuickFormInputNode qfin = entry.getValue();
NodeSettingsWO oldSettings = new NodeSettings(nodeID);
qfin.getConfiguration().getValueConfiguration().saveValue(oldSettings);
if (!conf.equals(oldSettings)) {
// FIXME: likely not here but in the WFM...
// not needed (actually nodes not work) because WFM itself
// was reset completely if any one of the settings change.
// SingleNodeContainer snc = (SingleNodeContainer)this.getNodeContainer(id);
// snc.reset();
@SuppressWarnings("unchecked") AbstractQuickFormConfiguration<AbstractQuickFormValueInConfiguration> config = (AbstractQuickFormConfiguration<AbstractQuickFormValueInConfiguration>) qfin.getConfiguration();
if (config != null) {
config.getValueConfiguration().loadValueInModel(conf);
saveNodeSettingsToDefault(id);
}
// see above: not needed
// this.configureNodeAndSuccessors(id, true);
}
}
}
}
use of org.knime.core.quickform.in.QuickFormInputNode in project knime-core by knime.
the class WorkflowManager method saveSettings.
/**
* {@inheritDoc}
*/
@Override
void saveSettings(final NodeSettingsWO settings) {
super.saveSettings(settings);
// TODO: as we don't have a node model associated with the wfm, we must
// do the same thing a dialog does when saving settings (it assumes
// existance of a node).
// Node.SettingsLoaderAndWriter l = new Node.SettingsLoaderAndWriter();
// NodeSettings model = new NodeSettings("field_ignored");
// NodeSettings variables;
// l.setModelSettings(model);
// l.setVariablesSettings(variables);
// l.save(settings);
NodeSettingsWO modelSettings = settings.addNodeSettings("model");
for (Map.Entry<NodeID, QuickFormInputNode> e : findNodes(QuickFormInputNode.class, false).entrySet()) {
String nodeID = Integer.toString(e.getKey().getIndex());
NodeSettingsWO subSettings = modelSettings.addNodeSettings(nodeID);
@SuppressWarnings("unchecked") AbstractQuickFormConfiguration<AbstractQuickFormValueInConfiguration> config = (AbstractQuickFormConfiguration<AbstractQuickFormValueInConfiguration>) e.getValue().getConfiguration();
if (config != null) {
config.getValueConfiguration().saveValue(subSettings);
}
}
SingleNodeContainerSettings s = new SingleNodeContainerSettings();
NodeContainerSettings ncSet = new NodeContainerSettings();
ncSet.save(settings);
s.save(settings);
}
use of org.knime.core.quickform.in.QuickFormInputNode in project knime-core by knime.
the class MetaNodeDialogPane method loadSettingsFrom.
/**
* {@inheritDoc}
*/
@Override
protected void loadSettingsFrom(final NodeSettingsRO settings, final PortObjectSpec[] specs) throws NotConfigurableException {
// we may have quickform nodes to allow a column selection?)
for (Map.Entry<NodeID, MetaNodeDialogNode> e : m_nodes.entrySet()) {
if (e.getValue() instanceof QuickFormInputNode) {
AbstractQuickFormConfiguration config = ((QuickFormInputNode) e.getValue()).getConfiguration();
AbstractQuickFormValueInConfiguration valueConfig = config.getValueConfiguration();
try {
NodeSettingsRO subSettings = settings.getNodeSettings(Integer.toString(e.getKey().getIndex()));
valueConfig.loadValueInDialog(subSettings);
QuickFormConfigurationPanel panel = m_quickFormInputNodePanels.get(e.getKey());
assert panel != null : "No panel instance for node " + e.getKey();
panel.loadSettings(valueConfig);
} catch (InvalidSettingsException ise) {
// no op
}
} else if (e.getValue() instanceof DialogNode) {
final DialogNode dialogNode = (DialogNode) e.getValue();
final DialogNodeValue nodeValue = dialogNode.createEmptyDialogValue();
final String parameterName = SubNodeContainer.getDialogNodeParameterName(dialogNode, e.getKey());
try {
NodeSettingsRO subSettings = settings.getNodeSettings(parameterName);
nodeValue.loadFromNodeSettingsInDialog(subSettings);
final DialogNodePanel dialogNodePanel = m_dialogNodePanels.get(e.getKey());
dialogNodePanel.loadNodeValue(nodeValue);
} catch (InvalidSettingsException ex) {
// no op
}
}
}
}
use of org.knime.core.quickform.in.QuickFormInputNode in project knime-core by knime.
the class MetaNodeDialogPane method saveSettingsTo.
/**
* {@inheritDoc}
*/
@Override
protected void saveSettingsTo(final NodeSettingsWO settings) throws InvalidSettingsException {
for (Map.Entry<NodeID, MetaNodeDialogNode> e : m_nodes.entrySet()) {
final NodeID key = e.getKey();
if (e.getValue() instanceof QuickFormInputNode) {
AbstractQuickFormConfiguration config = ((QuickFormInputNode) e.getValue()).getConfiguration();
AbstractQuickFormValueInConfiguration valueConfig = config.createValueConfiguration();
QuickFormConfigurationPanel value = m_quickFormInputNodePanels.get(key);
value.saveSettings(valueConfig);
NodeSettingsWO subSettings = settings.addNodeSettings((Integer.toString(key.getIndex())));
valueConfig.saveValue(subSettings);
} else if (e.getValue() instanceof DialogNode) {
DialogNode dialogNode = (DialogNode) e.getValue();
DialogNodePanel nodePanel = m_dialogNodePanels.get(key);
DialogNodeValue nodeValue = nodePanel.getNodeValue();
final String parameterName = SubNodeContainer.getDialogNodeParameterName(dialogNode, key);
if (nodeValue != null) {
NodeSettingsWO subSettings = settings.addNodeSettings((parameterName));
nodeValue.saveToNodeSettings(subSettings);
}
}
}
}
Aggregations