Search in sources :

Example 11 with SimpleStreamableOperatorInternals

use of org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals in project knime-core by knime.

the class RegexSplitNodeModel method execute.

/**
 * {@inheritDoc}
 */
@Override
protected BufferedDataTable[] execute(final BufferedDataTable[] inData, final ExecutionContext exec) throws Exception {
    SimpleStreamableOperatorInternals internals = createStreamingOperatorInternals();
    ColumnRearranger rearranger = createColumnRearranger(inData[0].getSpec(), internals);
    BufferedDataTable t = exec.createColumnRearrangeTable(inData[0], rearranger, exec);
    warningMessage(internals);
    return new BufferedDataTable[] { t };
}
Also used : SimpleStreamableOperatorInternals(org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals) ColumnRearranger(org.knime.core.data.container.ColumnRearranger) BufferedDataTable(org.knime.core.node.BufferedDataTable)

Example 12 with SimpleStreamableOperatorInternals

use of org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals in project knime-core by knime.

the class RegexSplitNodeModel method mergeStreamingOperatorInternals.

/**
 * {@inheritDoc}
 */
@Override
protected SimpleStreamableOperatorInternals mergeStreamingOperatorInternals(final SimpleStreamableOperatorInternals[] operatorInternals) {
    int errorCount = 0;
    for (int i = 0; i < operatorInternals.length; i++) {
        try {
            errorCount += operatorInternals[i].getConfig().getInt(CONFIG_KEY_ERRORCOUNT);
        } catch (InvalidSettingsException e) {
            // should not happen since the error count config should be set every time even though its 0
            throw new RuntimeException(e);
        }
    }
    SimpleStreamableOperatorInternals res = new SimpleStreamableOperatorInternals();
    res.getConfig().addInt(CONFIG_KEY_ERRORCOUNT, errorCount);
    return res;
}
Also used : SimpleStreamableOperatorInternals(org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals) InvalidSettingsException(org.knime.core.node.InvalidSettingsException)

Example 13 with SimpleStreamableOperatorInternals

use of org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals in project knime-core by knime.

the class AbstractConditionalStreamingNodeModel method createMergeOperator.

/**
 * {@inheritDoc}
 */
@Override
public MergeOperator createMergeOperator() {
    return new MergeOperator() {

        /**
         * {@inheritDoc}
         */
        @Override
        public StreamableOperatorInternals mergeIntermediate(final StreamableOperatorInternals[] operators) {
            // sum up the row counts if necessary
            long count = 0;
            for (int i = 0; i < operators.length; i++) {
                SimpleStreamableOperatorInternals simpleInternals = (SimpleStreamableOperatorInternals) operators[i];
                CheckUtils.checkState(simpleInternals.getConfig().containsKey(CFG_ROW_COUNT), "Config for key " + CFG_ROW_COUNT + " isn't set.");
                try {
                    count += simpleInternals.getConfig().getLong(CFG_ROW_COUNT);
                } catch (InvalidSettingsException e) {
                    // should not happen since we checked already
                    throw new RuntimeException(e);
                }
            }
            SimpleStreamableOperatorInternals res = new SimpleStreamableOperatorInternals();
            if (count > 0) {
                res.getConfig().addLong(CFG_ROW_COUNT, count);
            }
            return res;
        }

        @Override
        public StreamableOperatorInternals mergeFinal(final StreamableOperatorInternals[] operators) {
            // nothing to do here
            return null;
        }
    };
}
Also used : SimpleStreamableOperatorInternals(org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals) InvalidSettingsException(org.knime.core.node.InvalidSettingsException) MergeOperator(org.knime.core.node.streamable.MergeOperator)

Example 14 with SimpleStreamableOperatorInternals

use of org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals in project knime-core by knime.

the class DoubleToIntNodeModel method mergeStreamingOperatorInternals.

/**
 * {@inheritDoc}
 *
 * @since 3.1
 */
@Override
protected SimpleStreamableOperatorInternals mergeStreamingOperatorInternals(final SimpleStreamableOperatorInternals[] operatorInternals) {
    // merge warning messages from potentially different partitions -> essentially concatenate the messages
    StringBuilder sb = new StringBuilder();
    for (SimpleStreamableOperatorInternals oi : operatorInternals) {
        WarningMessage wm = (WarningMessage) oi;
        if (wm.get() != null) {
            sb.append(wm.get());
            sb.append("\n");
        }
    }
    WarningMessage res = new WarningMessage();
    res.set(sb.toString());
    return res;
}
Also used : SimpleStreamableOperatorInternals(org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals)

Example 15 with SimpleStreamableOperatorInternals

use of org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals in project knime-core by knime.

the class ReferenceColumnResorterNodeModel method readOrderFromStreamableOperatorInternals.

/**
 * @param internals
 * @return
 */
private static String[] readOrderFromStreamableOperatorInternals(final StreamableOperatorInternals internals) {
    SimpleStreamableOperatorInternals i = (SimpleStreamableOperatorInternals) internals;
    String[] order = i.getConfig().getStringArray("order", (String[]) null);
    return order;
}
Also used : SimpleStreamableOperatorInternals(org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals) SettingsModelString(org.knime.core.node.defaultnodesettings.SettingsModelString)

Aggregations

SimpleStreamableOperatorInternals (org.knime.core.node.streamable.simple.SimpleStreamableOperatorInternals)24 DataTableSpec (org.knime.core.data.DataTableSpec)9 InvalidSettingsException (org.knime.core.node.InvalidSettingsException)9 BufferedDataTable (org.knime.core.node.BufferedDataTable)7 StreamableOperator (org.knime.core.node.streamable.StreamableOperator)7 StreamableOperatorInternals (org.knime.core.node.streamable.StreamableOperatorInternals)7 ExecutionContext (org.knime.core.node.ExecutionContext)6 RowInput (org.knime.core.node.streamable.RowInput)6 Config (org.knime.core.node.config.Config)5 MergeOperator (org.knime.core.node.streamable.MergeOperator)5 DataColumnSpec (org.knime.core.data.DataColumnSpec)4 DataColumnSpecCreator (org.knime.core.data.DataColumnSpecCreator)4 DataRow (org.knime.core.data.DataRow)4 ColumnRearranger (org.knime.core.data.container.ColumnRearranger)4 DataTableRowInput (org.knime.core.node.streamable.DataTableRowInput)4 PortInput (org.knime.core.node.streamable.PortInput)4 RowOutput (org.knime.core.node.streamable.RowOutput)4 SettingsModelString (org.knime.core.node.defaultnodesettings.SettingsModelString)3 PartitionInfo (org.knime.core.node.streamable.PartitionInfo)3 PortOutput (org.knime.core.node.streamable.PortOutput)3