use of org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter in project knime-core by knime.
the class RowFilterNodeDialogPane method saveSettingsTo.
/**
* {@inheritDoc}
*/
@Override
protected void saveSettingsTo(final NodeSettingsWO settings) throws InvalidSettingsException {
IRowFilter theFilter = null;
if (m_rangeInclRadio.isSelected()) {
theFilter = m_rangePanel.createFilter(true);
}
if (m_rangeExclRadio.isSelected()) {
theFilter = m_rangePanel.createFilter(false);
}
if (m_colValInclRadio.isSelected()) {
theFilter = m_colValPanel.createFilter(true);
}
if (m_colValExclRadio.isSelected()) {
theFilter = m_colValPanel.createFilter(false);
}
if (m_rowIDInclRadio.isSelected()) {
theFilter = m_rowIDPanel.createFilter(true);
}
if (m_rowIDExclRadio.isSelected()) {
theFilter = m_rowIDPanel.createFilter(false);
}
assert theFilter != null;
theFilter.saveSettingsTo(settings.addNodeSettings(RowFilterNodeModel.CFGFILTER));
}
use of org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter in project knime-core by knime.
the class RowFilterNodeDialogPane method loadSettingsFrom.
/**
* {@inheritDoc}
*/
@Override
protected void loadSettingsFrom(final NodeSettingsRO settings, final DataTableSpec[] specs) throws NotConfigurableException {
if ((specs[0] == null) || (specs[0].getNumColumns() < 1)) {
throw new NotConfigurableException("Cannot be configured without" + " input table");
}
// remove the old filter panels, if any
if (m_rangePanel != null) {
m_filterPanel.remove(m_rangePanel);
}
if (m_rowIDPanel != null) {
m_filterPanel.remove(m_rowIDPanel);
}
if (m_colValPanel != null) {
m_filterPanel.remove(m_colValPanel);
}
// now create new filter panels
m_rangePanel = new RowNoRowFilterPanel();
m_rowIDPanel = new RowIDRowFilterPanel();
m_colValPanel = new ColumnRowFilterPanel(this, specs[0]);
/*
* now read the filters. We support three different filters:
* RowIDFilter, AttrValfilter, and RowNumberFilter. But only one at a
* time.
*/
IRowFilter filter = null;
try {
// get the filter
filter = RowFilterFactory.createRowFilter(settings.getNodeSettings(RowFilterNodeModel.CFGFILTER));
} catch (InvalidSettingsException ise) {
// silently ignore invalid filters.
}
String actionCommand = "colval";
if (filter == null) {
// set the default
m_colValInclRadio.setSelected(true);
filterSelectionChanged("colval");
return;
}
if (filter instanceof ColValFilterOldObsolete) {
// support the obsolete filter for backward compatibility
ColValFilterOldObsolete f = (ColValFilterOldObsolete) filter;
actionCommand = "colval";
// activate the corresponding radio button
if (f.includeMatchingLines()) {
m_colValInclRadio.setSelected(true);
} else {
m_colValExclRadio.setSelected(true);
}
try {
m_colValPanel.loadSettingsFromFilter(f);
} catch (InvalidSettingsException ise) {
// ignore failure
}
} else if (filter instanceof AttrValueRowFilter) {
// this covers all the attribute value filters:
// range, string compare, missing value filter
AttrValueRowFilter f = (AttrValueRowFilter) filter;
actionCommand = "colval";
// activate the corresponding radio button
if (f.getInclude()) {
m_colValInclRadio.setSelected(true);
} else {
m_colValExclRadio.setSelected(true);
}
try {
m_colValPanel.loadSettingsFromFilter(f);
} catch (InvalidSettingsException ise) {
// ignore failure
}
} else if (filter instanceof RowIDRowFilter) {
RowIDRowFilter f = (RowIDRowFilter) filter;
actionCommand = "id";
// activate the corresponding radio button
if (f.getInclude()) {
m_rowIDInclRadio.setSelected(true);
} else {
m_rowIDExclRadio.setSelected(true);
}
try {
m_rowIDPanel.loadSettingsFromFilter(f);
} catch (InvalidSettingsException ise) {
// ignore failure
}
} else if (filter instanceof RowNoRowFilter) {
RowNoRowFilter f = (RowNoRowFilter) filter;
actionCommand = "range";
// activate the corresponding radio button
if (f.getInclude()) {
m_rangeInclRadio.setSelected(true);
} else {
m_rangeExclRadio.setSelected(true);
}
try {
m_rangePanel.loadSettingsFromFilter(f);
} catch (InvalidSettingsException ise) {
// ignore failure
}
} else {
// we silently ignore unsupported filter and leave default settings.
}
filterSelectionChanged(actionCommand);
}
Aggregations