@Override public List<Channel> getOptionalChannels(Event event) { String hdr = event.getHeaders().get(headerName); List<Channel> channels = optionalChannels.get(hdr); if (channels == null) { channels = EMPTY_LIST; } return channels; }
/** * Modifies events in-place. */ @Override public Event intercept(Event event) { Map<String, String> headers = event.getHeaders(); if (preserveExisting && headers.containsKey(key)) { return event; } headers.put(key, value); return event; }
/** * Modifies events in-place. */ @Override public Event intercept(Event event) { Map<String, String> headers = event.getHeaders(); if (preserveExisting && headers.containsKey(header)) { return event; } if (host != null) { headers.put(header, host); } return event; }
private Object getKey(Event e) { // Write the data to HDFS String timestamp = e.getHeaders().get("timestamp"); long eventStamp; if (timestamp == null) { eventStamp = System.currentTimeMillis(); } else { eventStamp = Long.valueOf(timestamp); } return new LongWritable(eventStamp); }
private Object getKey(Event e) { String timestamp = e.getHeaders().get("timestamp"); long eventStamp; if (timestamp == null) { eventStamp = System.currentTimeMillis(); } else { eventStamp = Long.valueOf(timestamp); } return new LongWritable(eventStamp); }
@Override public List<Channel> getRequiredChannels(Event event) { String headerValue = event.getHeaders().get(headerName); if (headerValue == null || headerValue.trim().length() == 0) { return defaultChannels; } List<Channel> channels = channelMapping.get(headerValue); //This header value does not point to anything //Return default channel(s) here. if (channels == null) { channels = defaultChannels; } return channels; }
private void appendHeaders(XContentBuilder builder, Event event) throws IOException { Map<String, String> headers = event.getHeaders(); for (String key : headers.keySet()) { ContentBuilderUtil.appendField(builder, key, headers.get(key).getBytes(charset)); } }
@Override public void initialize(Event event, byte[] columnFamily) { this.headers = event.getHeaders(); this.payload = event.getBody(); this.cf = columnFamily; }
@Override public void initialize(Event event, byte[] columnFamily) { this.headers = event.getHeaders(); this.payload = event.getBody(); this.cf = columnFamily; }
@Override public String getIndexPrefix(Event event) { return BucketPath.escapeString(indexPrefix, event.getHeaders()); }
@Override public void write(Event e) throws IOException { out.write((e.getHeaders() + " ").getBytes()); out.write(e.getBody()); if (appendNewline) { out.write('\n'); } }
@Override public String getIndexName(Event event) { return BucketPath.escapeString(indexName, event.getHeaders()); }
private void fillHeader(List<Event> events) { if (annotateFileName) { String filename = currentFile.get().getFile().getAbsolutePath(); for (Event event : events) { event.getHeaders().put(fileNameHeader, filename); } } if (annotateBaseName) { String basename = currentFile.get().getFile().getName(); for (Event event : events) { event.getHeaders().put(baseNameHeader, basename); } } }
@Override public String getIndexPrefix(Event event) { return BucketPath.escapeString(indexName, event.getHeaders()); }
private List<Event> getSimpleEvents(List<Event> events) { List<Event> newEvents = new ArrayList<Event>(events.size()); for (Event e:events) { newEvents.add(EventBuilder.withBody(e.getBody(), e.getHeaders())); } return newEvents; } }
@Override public Event intercept(Event event) { Map<String, String> headers = event.getHeaders(); if (preserveExisting && headers.containsKey(headerName)) { // we must preserve the existing id } else if (isMatch(event)) { headers.put(headerName, generateUUID()); } return event; }
private List<Event> generateGenericEvent(LogSchema schema, List<LogEvent> logEvents) { List<Event> events = new ArrayList<>(); for (LogEvent logEvent : logEvents) { Event event = EventBuilder.withBody(logEvent.getLogData()); event.getHeaders().put(AVRO_SCHEMA_HEADER_LITERAL, schema.getSchema()); events.add(event); } return events; } }
/** * Gets the name of the index to use for an index request * @param event * Event for which the name of index has to be prepared * @return index name of the form 'indexPrefix-formattedTimestamp' */ @Override public String getIndexName(Event event) { TimestampedEvent timestampedEvent = new TimestampedEvent(event); long timestamp = timestampedEvent.getTimestamp(); String realIndexPrefix = BucketPath.escapeString(indexPrefix, event.getHeaders()); return new StringBuilder(realIndexPrefix).append('-') .append(fastDateFormat.format(timestamp)).toString(); }
@Test public void testHeaders() { Map<String, String> headers = new HashMap<String, String>(); headers.put("one", "1"); headers.put("two", "2"); Event e1 = EventBuilder.withBody("e1".getBytes(), headers); Assert.assertNotNull(e1); Assert.assertArrayEquals("e1 has the proper body", "e1".getBytes(), e1.getBody()); Assert.assertEquals("e1 has the proper headers", 2, e1.getHeaders().size()); Assert.assertEquals("e1 has a one key", "1", e1.getHeaders().get("one")); }
protected static void transferEvent(final Event event, ProcessSession session, Relationship relationship) { FlowFile flowFile = session.create(); flowFile = session.putAllAttributes(flowFile, event.getHeaders()); flowFile = session.write(flowFile, new OutputStreamCallback() { @Override public void process(final OutputStream out) throws IOException { out.write(event.getBody()); } }); session.getProvenanceReporter() .create(flowFile); session.transfer(flowFile, relationship); }