@Override public Bundle createBundle() { return mergedBundle.createBundle(); }
@Override public Bundle createBundle() { return new FilteredBundle(wrap.createBundle(), null, null); } }
private static Bundle cloneBundle(Bundle input) { Bundle output = input.createBundle(); Iterator<BundleField> fieldIterator = input.getFormat().iterator(); while (fieldIterator.hasNext()) { BundleField field = fieldIterator.next(); output.setValue(field, input.getValue(field)); } return output; }
@Override public void send(Bundle row) throws DataChannelError { if (sentTitle.compareAndSet(false, true)) { Bundle title = row.createBundle(); if (header.size() > 0) { for (Iterator<ValueObject> iter = header.iterator(); iter.hasNext(); ) { getSourceColumnBinder(row).appendColumn(title, iter.next()); } } else { for (BundleField field : row) { title.setValue(field, ValueFactory.create(field.getName())); } } getNext().send(title); } getNext().send(row); }
@Override public void sendComplete() { Map<Long, Long> map = histo.getSortedHistogram(); for (Entry<Long, Long> e : map.entrySet()) { if (opPromise.isDone()) { break; } else { Bundle row = rowFactory.createBundle(); binder.appendColumn(row, ValueFactory.create(e.getKey())); binder.appendColumn(row, ValueFactory.create(e.getValue())); getNext().send(row); } } super.sendComplete(); } }
@Override public Bundle rowOp(Bundle row) { if (binder == null) { binder = getSourceColumnBinder(row); rowFactory = row.createBundle(); } histo.update(0, ValueUtil.asNumberOrParse(binder.getColumn(row, column)).asLong().getLong()); return null; }
@Override public void sendComplete() { for(int i = 0; i < keys.length; i++) { if (opPromise.isDone()) { break; } else { Bundle row = rowFactory.createBundle(); if (mode == Mode.FLOAT) { binder.appendColumn(row, ValueFactory.create(keys[i].floatValue())); } else { binder.appendColumn(row, ValueFactory.create(keys[i].intValue())); } binder.appendColumn(row, ValueFactory.create(counts[i])); getNext().send(row); } } super.sendComplete(); } }
@Override public Bundle rowOp(Bundle row) { if (binder == null) { binder = getSourceColumnBinder(row); rowFactory = row.createBundle(); } Numeric value = ValueUtil.asNumberOrParse(binder.getColumn(row, column)); long increment; if (frequency >= 0) { Numeric incNumeric = ValueUtil.asNumberOrParseLong(binder.getColumn(row, frequency), 10); increment = (incNumeric != null) ? incNumeric.asLong().asNative() : 1; } else { increment = 1; } if (mode == Mode.FLOAT) { float target = (float) value.asDouble().getDouble(); int position = Arrays.binarySearch(keys, target); if (position < 0) position = ~position - 1; counts[position] += increment; } else { int target = (int) value.asLong().getLong(); int position = Arrays.binarySearch(keys, target); if (position < 0) position = ~position - 1; counts[position] += increment; } return null; }
@Override public void process(Bundle bundle, StreamEmitter emitter) { ValueObject valueObject = bundle.getValue(bundle.getFormat().getField(field)); if (filter != null) { valueObject = filter.filter(valueObject, bundle); } if (valueObject != null && valueObject.getObjectType() == ValueObject.TYPE.ARRAY) { ValueArray array = valueObject.asArray(); for (ValueObject v : array) { Bundle newBundle = bundle.createBundle(); for (String outputFieldString : splitOutputFields) { BundleField outputField = newBundle.getFormat().getField(outputFieldString); if (outputFieldString.equals(field)) { newBundle.setValue(outputField, v); } else { newBundle.setValue(outputField, bundle.getValue(outputField)); } } emitter.emit(newBundle); } } if (dropFromOriginal) { bundle.removeValue(bundle.getFormat().getField(field)); } emitter.emit(bundle); } }
@Override public void process(Bundle row, StreamEmitter emitter) { BundleField fieldFrom = row.getFormat().getField(fromArrayField); BundleField fieldTo = row.getFormat().getField(toField); ValueObject fromObject = row.getValue(fieldFrom); if (fromObject == null || fromObject.getObjectType() != ValueObject.TYPE.ARRAY) { if (emitFilter == null || emitFilter.filter(row)) { emitter.emit(row); } } else { ValueArray fromArray = fromObject.asArray(); for (ValueObject element : fromArray) { Bundle newBundle = row.createBundle(); for (BundleField field : row.getFormat()) { newBundle.setValue(field, row.getValue(field)); } newBundle.setValue(fieldTo, element); if (emitFilter == null || emitFilter.filter(newBundle)) { emitter.emit(newBundle); } } } } }
colOut = colIn; if (summary) { lastRow = row.createBundle();