package org.elasticsearch.flume;
import com.cloudera.flume.conf.Context;
import com.cloudera.flume.conf.SinkFactory;
import com.cloudera.flume.core.EventSink;
class ElasticSearchSinkBuilder extends SinkFactory.SinkBuilder {
@Override
public EventSink build(Context context, String... argv) {
if (argv.length > 5) {
throw new IllegalArgumentException(
"usage: elasticSearchSink[([clusterName, indexName, esHostNames, indexType, indexPattern])");
}
ElasticSearchSink sink = new ElasticSearchSink();
int index = 0;
if (argv.length > 0) {
sink.setClusterName(argv[index++]);
}
if (argv.length > 1) {
sink.setIndexName(argv[index++]);
}
if (argv.length > 2) {
sink.setHostNames(argv[index++].split(","));
}
if (argv.length > 3) {
sink.setIndexType(argv[index++]);
}
if (argv.length > 4) {
sink.setIndexPattern(argv[index++]);
}
return sink;
}
}