private void projectionValidation(Fields projFields) { if (projFields == null) { return; } Fields allFields = this.getOutputFields(); for (String field : projFields) { if (!allFields.contains(field)) { throw new IllegalArgumentException("Trying to select non-existent field: '" + field + "' from stream containing fields fields: <" + allFields + ">"); } } } }
public boolean contains(String field) { return getFields().contains(field); }
@Override public boolean contains(String field) { return getFields().contains(field); }
private void projectionValidation(Fields projFields) { if (projFields == null) { return; } Fields allFields = this.getOutputFields(); for (String field : projFields) { if (!allFields.contains(field)) { throw new IllegalArgumentException("Trying to select non-existent field: '" + field + "' from stream containing fields fields: <" + allFields + ">"); } } } }
private void projectionValidation(Fields projFields) { if (projFields == null) { return; } Fields allFields = this.getOutputFields(); for (String field : projFields) { if (!allFields.contains(field)) { throw new IllegalArgumentException("Trying to select non-existent field: '" + field + "' from stream containing fields fields: <" + allFields + ">"); } } } }
@Override public boolean contains(String field) { return getFields().contains(field); }
public boolean contains(String field) { return getFields().contains(field); }
public boolean contains(String field) { return getFields().contains(field); }
@Override public List<StreamEvent> map(Tuple tuple) throws Exception { long timestamp; if (tuple.getFields().contains(TIMESTAMP_FIELD)) { try { timestamp = tuple.getLongByField("timestamp"); } catch (Exception ex) { // if timestamp is not null LOGGER.error(ex.getMessage(), ex); timestamp = 0; } } else { timestamp = System.currentTimeMillis(); } Object[] values = new Object[tuple.getFields().size()]; for (int i = 0; i < tuple.getFields().size(); i++) { values[i] = tuple.getValue(i); } StreamEvent event = new StreamEvent(); event.setTimestamp(timestamp); event.setStreamId(streamId); event.setData(values); return Collections.singletonList(event); } }