Search in sources :

Example 6 with IRowFilter

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));
}
Also used : IRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter)

Example 7 with IRowFilter

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);
}
Also used : NotConfigurableException(org.knime.core.node.NotConfigurableException) RowNoRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter) InvalidSettingsException(org.knime.core.node.InvalidSettingsException) RowIDRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.RowIDRowFilter) ColValFilterOldObsolete(org.knime.base.node.preproc.filter.row.rowfilter.ColValFilterOldObsolete) AttrValueRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.AttrValueRowFilter) IRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter)

Aggregations

IRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter)7 InvalidSettingsException (org.knime.core.node.InvalidSettingsException)3 DataRow (org.knime.core.data.DataRow)2 BufferedDataContainer (org.knime.core.node.BufferedDataContainer)2 BufferedDataTable (org.knime.core.node.BufferedDataTable)2 NodeSettingsRO (org.knime.core.node.NodeSettingsRO)2 Random (java.util.Random)1 RowFilterIterator (org.knime.base.node.preproc.filter.row.RowFilterIterator)1 AttrValueRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.AttrValueRowFilter)1 ColValFilterOldObsolete (org.knime.base.node.preproc.filter.row.rowfilter.ColValFilterOldObsolete)1 EndOfTableException (org.knime.base.node.preproc.filter.row.rowfilter.EndOfTableException)1 IncludeFromNowOn (org.knime.base.node.preproc.filter.row.rowfilter.IncludeFromNowOn)1 RowIDRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.RowIDRowFilter)1 RowNoRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter)1 StratifiedSamplingRowFilter (org.knime.base.node.preproc.sample.StratifiedSamplingRowFilter)1 NotConfigurableException (org.knime.core.node.NotConfigurableException)1