@Override public void accept(T t) { String topic = topicFn.apply(t); Integer partition = partitionFn.apply(t); byte[] key = keyFn.apply(t); byte[] value = valueFn.apply(t); ProducerRecord<byte[],byte[]> rec = new ProducerRecord<>( topic, partition, key, value); trace.trace("{} sending rec to topic:{} partition:{}", id(), topic, partition); // TODO add callback for trace of actual completion? connector.client().send(rec); // async; doesn't throw }
@Override public void accept(T t) { String topic = topicFn.apply(t); Integer partition = partitionFn.apply(t); byte[] key = keyFn.apply(t); byte[] value = valueFn.apply(t); ProducerRecord<byte[],byte[]> rec = new ProducerRecord<>( topic, partition, key, value); trace.trace("{} sending rec to topic:{} partition:{}", id(), topic, partition); // TODO add callback for trace of actual completion? connector.client().send(rec); // async; doesn't throw }
@Override public void accept(I tuple) { O output = function.apply(tuple); if (output != null) submit(output); }
@Override public void accept(I tuple) { O output = function.apply(tuple); if (output != null) submit(output); }
private void pre(String pathname, Consumer<String> dst) { String preStr = preFn.apply(pathname); if (preStr != null) dst.accept(preStr); }
@Override public R apply(T value) { final Function<T,R> function = f(); synchronized (function) { return function.apply(value); } } }
@Override public void accept(I tuple) { Iterable<O> outputs = function.apply(tuple); if (outputs != null) { for (O output : outputs) { if (output != null) submit(output); } } }
@Override public void accept(I tuple) { Iterable<O> outputs = function.apply(tuple); if (outputs != null) { for (O output : outputs) { if (output != null) submit(output); } } }
@Override public R apply(T value) { final Function<T,R> function = f(); synchronized (function) { return function.apply(value); } } }
@Override public void accept(T value) { byte[] msg = msgFn.apply(value); try { connector.channel().basicPublish("", queue, null, msg); } catch (IOException e) { logger.error("publish exception : {}", e); throw new RuntimeException(e); } }
@Override public void accept(JsonObject event) { connector.publishHttpEvent(eventId.apply(event), payload.apply(event)); } }
@Test public void testValueOfBoolean() { JsonObject joTrue = JsonFunctions.valueOfBoolean("propName").apply(true); assertEquals(true, joTrue.get("propName").getAsBoolean()); JsonObject joFalse = JsonFunctions.valueOfBoolean("propName").apply(false); assertEquals(false, joFalse.get("propName").getAsBoolean()); }
@Test public void testValueOfString() { JsonObject jo = JsonFunctions.valueOfString("propName").apply("str1"); assertEquals("str1", jo.get("propName").getAsString()); }
@Test public void testUnpartitioned() { Function<JsonObject,JsonElement> unpartitionedFn = JsonFunctions.unpartitioned(); assertEquals(0, unpartitionedFn.apply(new JsonObject()).getAsInt()); }
@Test public void testValueOfCharacter() { JsonObject jo = JsonFunctions.valueOfCharacter("propName").apply('c'); assertEquals('c', jo.get("propName").getAsCharacter()); } }