X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2FTestRecordHandler.java;h=d9f4e679ad9a5ced4ce34916cd6aae8293a78489;hb=0c9a0c1cf9a0065012743efcd940d8721bc33c20;hp=b4efdd613c187dc45e2a4262bb142ce0ed6765be;hpb=5c4b0d9c8e554fc497a6e7c1828081d64a46aa52;p=demos%2Fkafka%2Ftraining diff --git a/src/test/java/de/juplo/kafka/TestRecordHandler.java b/src/test/java/de/juplo/kafka/TestRecordHandler.java index b4efdd6..d9f4e67 100644 --- a/src/test/java/de/juplo/kafka/TestRecordHandler.java +++ b/src/test/java/de/juplo/kafka/TestRecordHandler.java @@ -1,22 +1,52 @@ package de.juplo.kafka; import lombok.RequiredArgsConstructor; -import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.common.TopicPartition; + +import java.util.List; +import java.util.Map; @RequiredArgsConstructor -public abstract class TestRecordHandler implements RecordHandler +public class TestRecordHandler implements RecordHandler { - private final RecordHandler handler; + private final RecordHandler handler; + + Map seenOffsets; + int receivedMessages; - public abstract void onNewRecord(ConsumerRecord record); + public void onNewRecord( + String topic, + Integer partition, + Long offset, + Message messgage) + { + seenOffsets.put(new TopicPartition(topic, partition), offset); + receivedMessages++; + } + @Override + public void addNumber( + String topic, + Integer partition, + Long offset, + String user, + MessageAddNumber message) + { + this.onNewRecord(topic, partition, offset, message); + handler.addNumber(topic, partition, offset, user, message); + } @Override - public void accept(ConsumerRecord record) + public void calculateSum( + String topic, + Integer partition, + Long offset, + String user, + MessageCalculateSum message) { - this.onNewRecord(record); - handler.accept(record); + this.onNewRecord(topic, partition, offset, message); + handler.calculateSum(topic, partition, offset, user, message); } }