@Override public ListResult<Number> getResult() { if (collector1 != null) { collector1.putValues("baz", null); } if (collector2 != null) { final int count = counter.incrementAndGet(); final String uuid = UUID.randomUUID().toString(); collector2.putValues(count, uuid); } return new ListResult<>(list); } }
@Override public final Object[] transform(final InputRow inputRow) { final Collection<Object[]> outputRows = _batchTransformationBuffer.transform(inputRow); for (final Object[] row : outputRows) { outputRowCollector.putValues(row); } return null; }
@Override public String[] transform(final InputRow inputRow) { final List<String> allTokens = getTokens(inputRow); if (tokenTarget == TokenTarget.COLUMNS) { return allTokens.toArray(new String[numTokens]); } else { for (final String token : allTokens) { outputRowCollector.putValues(token); } return null; } }
@Override public Object[] transform(final InputRow row) { final List<?> list = row.getValue(listColumn); if (list == null || list.isEmpty()) { return new Object[1]; } for (Object value : list) { if (verifyTypes) { value = elementType.cast(value); } outputRowCollector.putValues(value); } return null; }
@Override public void run(final InputRow row, final int distinctCount) { if (list == null) { throw new IllegalStateException( "It seems that initialize() has not been invoked on component: " + identifier); } final long id = row.getId(); if (id % 3 == 0) { // one third of the times we will write to our result list list.add(id); } else { // other times we will write to the collectors that are available if (collector1 != null) { collector1.putValues("bar", new Date()); } if (collector2 != null) { final int count = counter.incrementAndGet(); final String uuid = UUID.randomUUID().toString(); collector2.putValues(count, uuid); } } }
@Override public Object[] transform(final InputRow row) { final Map<String, ?> map = row.getValue(mapColumn); if (map == null || map.isEmpty()) { return new Object[2]; } for (final Map.Entry<String, ?> entry : map.entrySet()) { final String key = entry.getKey(); Object value = entry.getValue(); if (verifyTypes) { value = valueType.cast(value); } outputRowCollector.putValues(key, value); } return null; }
@Override public void run(final InputRow row, final int distinctCount) { if (row.getId() % 2 == 0) { final List<Object> values = row.getValues(columns); collector.putValues(values); } }
@Close public void close() { final Set<Entry<Object, List<AggregateBuilder<?>>>> entrySet = _aggregateBuilders.entrySet(); for (final Entry<Object, List<AggregateBuilder<?>>> entry : entrySet) { final Object key = entry.getKey(); final List<AggregateBuilder<?>> aggregateBuilders = entry.getValue(); final Object[] values = new Object[2 + aggregatedValues.length]; values[0] = key == NULL_KEY ? null : key; values[1] = aggregateBuilders.get(0).getAggregate(); for (int i = 1; i < aggregateBuilders.size(); i++) { final AggregateBuilder<?> aggregateBuilder = aggregateBuilders.get(i); values[i + 1] = aggregateBuilder.getAggregate(); } _rowCollector.putValues(values); } } }
@Override public void run(final InputRow inputRow) { final Object[] output = new Object[_initializedUnits.length]; for (int i = 0; i < _initializedUnits.length; i++) { final CoalesceUnit unit = _initializedUnits[i]; final InputColumn<?>[] inputColumns = unit.getInputColumns(); final List<Object> values = inputRow.getValues(inputColumns); final Object value = _coalesceFunction.coalesce(values); output[i] = value; } if (logger.isDebugEnabled()) { logger.debug("Fused values for row: {}", Arrays.toString(output)); } _outputRowCollector.putValues(output); }
nextResult[i] = matcher.group(i); outputRowCollector.putValues(nextResult);
@Override public void run(final InputRow row, final int distinctCount) { _rowCount.addAndGet(distinctCount); boolean allInvalid = true; for (int i = 0; i < _valueColumns.length; i++) { final Object value = row.getValue(_valueColumns[i]); final boolean valid = _conditions[i].isValid(value); if (_evaluationMode == EvaluationMode.ANY_FIELD && !valid) { _annotationFactory.annotate(row, distinctCount, _invalidRecords); if (_incompleteRowCollector != null) { _incompleteRowCollector.putValues(row.getValues(_outputDataStreamColumns).toArray()); } return; } if (valid) { allInvalid = false; } } if (_evaluationMode == EvaluationMode.ALL_FIELDS && allInvalid) { _annotationFactory.annotate(row, distinctCount, _invalidRecords); if (_incompleteRowCollector != null) { _incompleteRowCollector.putValues(row.getValues(_outputDataStreamColumns).toArray()); } return; } if (_completeRowCollector != null) { _completeRowCollector.putValues(row.getValues(_outputDataStreamColumns).toArray()); } }
@Override public Object[] transform(final InputRow parentInputRow) { final MockInputRow wrappedInputRow = new MockInputRow(parentInputRow.getId()); final Set<Entry<InputColumn<?>, InputColumn<?>>> conversionEntries = _inputColumnConversion.entrySet(); for (final Entry<InputColumn<?>, InputColumn<?>> conversionEntry : conversionEntries) { final InputColumn<?> parentColumn = conversionEntry.getKey(); final Object value = parentInputRow.getValue(parentColumn); final InputColumn<?> wrappedColumn = conversionEntry.getValue(); wrappedInputRow.put(wrappedColumn, value); } final List<InputRow> outputRows = _consumeRowHandler.consumeRow(wrappedInputRow).getRows(); for (final InputRow wrappedOutputRow : outputRows) { final Object[] outputValues = convertToOutputValues(wrappedOutputRow); _outputRowCollector.putValues(outputValues); } return null; }
private Object[] handleDataSet(final InputRow row, final DataSet dataSet) { if (!dataSet.next()) { logger.info("Result of lookup: None!"); _annotationFactory.annotate(row, 1, _misses); switch (joinSemantic) { case LEFT_JOIN_MAX_ONE: case LEFT_JOIN: return new Object[outputColumns.length]; default: return null; } } _annotationFactory.annotate(row, 1, _matches); do { final Object[] result = dataSet.getRow().getValues(); if (logger.isInfoEnabled()) { logger.info("Result of lookup: " + Arrays.toString(result)); } switch (joinSemantic) { case LEFT_JOIN_MAX_ONE: return result; default: outputRowCollector.putValues(result); } } while (dataSet.next()); return null; }