@SuppressWarnings("unchecked") @Override public Object get(int i) { // Lazy initialization of the cached converter objects. if (names == null) { names = new String[getSchema().getFields().size()]; fieldConverter = new AvroConverter[names.length]; for (int j = 0; j < names.length; j++) { Schema.Field f = getSchema().getFields().get(j); names[j] = f.name(); fieldConverter[j] = GenericAvroRegistry.get().convertToString(f); } } return fieldConverter[i].convertToDatum(value.get(getSchema().getField(names[i]).pos())); } }
@SuppressWarnings("unchecked") @Override public Object get(int i) { // Lazy initialization of the cached converter objects. if (names == null) { names = new String[getSchema().getFields().size()]; fieldConverter = new AvroConverter[names.length]; for (int j = 0; j < names.length; j++) { Schema.Field f = getSchema().getFields().get(j); names[j] = f.name(); fieldConverter[j] = GenericAvroRegistry.get().convertToString(f); } } return fieldConverter[i].convertToDatum(value.get(getSchema().getField(names[i]).pos())); } }
@Override public void write(Object datum) throws IOException { if (datum == null) { return; } // else handle the data. IndexedRecord input = getFactory(datum).convertToAvro(datum); SplunkJSONEvent event = SplunkJSONEventBuilder.createEvent(); for (Schema.Field f : input.getSchema().getFields()) { Schema.Field defaultField = null; if (defaultSchema != null) { defaultField = defaultSchema.getField(f.name()); } Object inputValue = input.get(f.pos()); if (defaultField != null && defaultField.name().equals(SplunkJSONEventField.TIME.getName()) && inputValue != null && inputValue instanceof String) { Object value = GenericAvroRegistry.get().convertToString(defaultField).convertToAvro((String) inputValue); SplunkJSONEventBuilder.setField(event, f.name(), value, true); } else if (inputValue != null) { SplunkJSONEventBuilder.setField(event, f.name(), inputValue, true); } } LOGGER.debug("Added event to bulk queue." + String.valueOf(event)); splunkObjectsForBulk.add(event); LOGGER.debug("Events bulk queue size " + splunkObjectsForBulk.size()); if (splunkObjectsForBulk.size() >= eventsBatchSize) { doSend(); } }
@Override public void write(Object datum) throws IOException { if (datum == null) { return; } // else handle the data. IndexedRecord input = getFactory(datum).convertToAvro(datum); SplunkJSONEvent event = SplunkJSONEventBuilder.createEvent(); for (Schema.Field f : input.getSchema().getFields()) { Schema.Field defaultField = null; if (defaultSchema != null) { defaultField = defaultSchema.getField(f.name()); } Object inputValue = input.get(f.pos()); if (defaultField != null && defaultField.name().equals(SplunkJSONEventField.TIME.getName()) && inputValue != null && inputValue instanceof String) { Object value = GenericAvroRegistry.get().convertToString(defaultField).convertToAvro((String) inputValue); SplunkJSONEventBuilder.setField(event, f.name(), value, true); } else if (inputValue != null) { SplunkJSONEventBuilder.setField(event, f.name(), inputValue, true); } } LOGGER.debug("Added event to bulk queue." + String.valueOf(event)); splunkObjectsForBulk.add(event); LOGGER.debug("Events bulk queue size " + splunkObjectsForBulk.size()); if (splunkObjectsForBulk.size() >= eventsBatchSize) { doSend(); } }