package com.neverwinterdp.scribengin.storage.kafka.source;
import kafka.javaapi.PartitionMetadata;
import com.neverwinterdp.scribengin.storage.StorageDescriptor;
import com.neverwinterdp.scribengin.storage.StreamDescriptor;
import com.neverwinterdp.scribengin.storage.source.SourceStream;
import com.neverwinterdp.scribengin.storage.source.SourceStreamReader;
public class KafkaSourceStream implements SourceStream {
private StreamDescriptor descriptor;
private PartitionMetadata partitionMetadata;
public KafkaSourceStream(StreamDescriptor descriptor) {
this.descriptor = descriptor;
}
public KafkaSourceStream(StorageDescriptor storageDescriptor, PartitionMetadata metadata) {
descriptor = new StreamDescriptor(storageDescriptor);
descriptor.setId(metadata.partitionId());
this.partitionMetadata = metadata;
}
public int getId() { return descriptor.getId(); }
@Override
public StreamDescriptor getDescriptor() { return descriptor; }
@Override
public SourceStreamReader getReader(String name) throws Exception {
return new KafkaSourceStreamReader(descriptor, partitionMetadata);
}
}