org.knime.base.node.preproc.colcompare
Class ColumnComparatorNodeDialogPane

java.lang.Object
  extended by org.knime.core.node.NodeDialogPane
      extended by org.knime.base.node.preproc.colcompare.ColumnComparatorNodeDialogPane

public class ColumnComparatorNodeDialogPane
extends NodeDialogPane

Comparator node dialog pane to select two columns for comparison, replacement value or missing, and a new column name to append.

Author:
Thomas Gabriel, University of Konstanz

Nested Class Summary
static class ColumnComparatorNodeDialogPane.ComparatorMethod
          Comparator methods.
 
Field Summary
static String[] REPL_OPTIONS
          Replacement options: LEFT_VALUE, RIGHT_VALUE, MISSING, and USER_DEFINED.
 
Constructor Summary
ColumnComparatorNodeDialogPane()
          Create new dialog pane with default components.
 
Method Summary
(package private) static SettingsModelString createComparatorMethod()
           
(package private) static SettingsModelString createFirstColumnModel()
           
(package private) static SettingsModelString createMatchOption()
           
(package private) static SettingsModelString createMatchValue()
           
(package private) static SettingsModelString createMismatchOption()
           
(package private) static SettingsModelString createMismatchValue()
           
(package private) static SettingsModelString createNewColumnName()
           
(package private) static SettingsModelString createSecondColumnModel()
           
protected  void loadSettingsFrom(NodeSettingsRO settings, DataTableSpec[] specs)
          Invoked before the dialog window is opened.
protected  void saveSettingsTo(NodeSettingsWO settings)
          Invoked when the settings need to be applied.
 
Methods inherited from class org.knime.core.node.NodeDialogPane
addJobMgrTab, addTab, addTabAt, createFlowVariableModel, createFlowVariableModel, createFlowVariableModel, finishEditingAndSaveSettingsTo, getAvailableFlowVariables, getPanel, getTab, getTabIndex, internalLoadSettingsFrom, loadSettingsFrom, loadSettingsFrom, onCancel, onClose, onOpen, removeTab, renameTab, saveSettingsTo, setEnabled, setSelected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REPL_OPTIONS

public static final String[] REPL_OPTIONS
Replacement options: LEFT_VALUE, RIGHT_VALUE, MISSING, and USER_DEFINED.

Constructor Detail

ColumnComparatorNodeDialogPane

ColumnComparatorNodeDialogPane()
Create new dialog pane with default components.

Method Detail

loadSettingsFrom

protected void loadSettingsFrom(NodeSettingsRO settings,
                                DataTableSpec[] specs)
                         throws NotConfigurableException
Invoked before the dialog window is opened. The settings object passed, contains the current settings of the corresponding node model. The model and the dialog must agree on a mutual contract on how settings are stored in the spec. I.e. they must able to read each other's settings.

The implementation must be able to handle invalid or incomplete settings as the model may not have any reasonable values yet (for example when the dialog is opened for the first time). When an empty/invalid settings object is passed the dialog should set default values in its components.

Overrides:
loadSettingsFrom in class NodeDialogPane
Parameters:
settings - The settings to load into the dialog. Could be an empty object or contain invalid settings. But will never be null.
specs - The input data table specs. Items of the array could be null if no spec is available from the corresponding input port.
Throws:
NotConfigurableException - if the dialog cannot be opened because of real invalid settings or if any preconditions are not fulfilled, e.g. no predecessor node, no nominal column in input table, etc.
See Also:
NodeModel.loadSettingsFrom(NodeSettingsRO)

saveSettingsTo

protected void saveSettingsTo(NodeSettingsWO settings)
                       throws InvalidSettingsException
Invoked when the settings need to be applied. The implementation should write the current user settings from its components into the passed object. It should not check consistency or completeness of the settings - this is part of the model's load method. The only situation this method would throw an exception is when a component contains an invalid value that can't be stored in the settings object.
The settings must be written in a way the model is able to load in, i.e. with the model's keys.

Specified by:
saveSettingsTo in class NodeDialogPane
Parameters:
settings - The settings object to write into.
Throws:
InvalidSettingsException - If the settings are not applicable to the model.
See Also:
NodeModel.loadSettingsFrom(NodeSettingsRO)

createComparatorMethod

static SettingsModelString createComparatorMethod()
Returns:
model comparator method

createFirstColumnModel

static SettingsModelString createFirstColumnModel()
Returns:
settings model for first column selection

createSecondColumnModel

static SettingsModelString createSecondColumnModel()
Returns:
settings model for second column selection

createMismatchOption

static SettingsModelString createMismatchOption()
Returns:
check box model for missing value replacement

createMatchOption

static SettingsModelString createMatchOption()
Returns:
check box model for missing value replacement

createMatchValue

static SettingsModelString createMatchValue()
Returns:
settings model for replacement value

createMismatchValue

static SettingsModelString createMismatchValue()
Returns:
settings model for replacement value

createNewColumnName

static SettingsModelString createNewColumnName()
Returns:
settings model for new column


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.