Search in sources :

Example 1 with RowNoRowFilter

use of org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter in project knime-core by knime.

the class RowNoRowFilterPanel method loadSettingsFromFilter.

/**
 * {@inheritDoc}
 */
@Override
public void loadSettingsFromFilter(final IRowFilter filter) throws InvalidSettingsException {
    if (!(filter instanceof RowNoRowFilter)) {
        throw new InvalidSettingsException("Range filter can only load " + "settings from a RowNumberFilter");
    }
    RowNoRowFilter rowNumberFilter = (RowNoRowFilter) filter;
    // do some consistency checks
    long first = rowNumberFilter.getFirstRow();
    long last = rowNumberFilter.getLastRow();
    if (first < 0) {
        throw new InvalidSettingsException("The RowNumberFilter range " + "cannot start at a row number less than 1.");
    }
    if ((last != RowNoRowFilter.EOT) && (last < first)) {
        throw new InvalidSettingsException("The end of the RowNumberFilter" + " range must be greater than the start.");
    }
    // the filter contains index values (starting from 0)
    // the spinner show the numbers, so we need to add 1 here.
    m_first.setValue(Long.valueOf(first + 1));
    // en/disables
    m_tilEOT.setSelected(last == RowNoRowFilter.EOT);
    // m_last
    if (last != RowNoRowFilter.EOT) {
        m_last.setValue(Long.valueOf(last + 1));
    }
    updateErrText();
}
Also used : RowNoRowFilter(org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter) InvalidSettingsException(org.knime.core.node.InvalidSettingsException)

Example 2 with RowNoRowFilter

use of org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter 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

RowNoRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.RowNoRowFilter)2 InvalidSettingsException (org.knime.core.node.InvalidSettingsException)2 AttrValueRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.AttrValueRowFilter)1 ColValFilterOldObsolete (org.knime.base.node.preproc.filter.row.rowfilter.ColValFilterOldObsolete)1 IRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.IRowFilter)1 RowIDRowFilter (org.knime.base.node.preproc.filter.row.rowfilter.RowIDRowFilter)1 NotConfigurableException (org.knime.core.node.NotConfigurableException)1