// Path: src/main/java/crate/elasticsearch/import_/Importer.java
// public static class ImportCounts {
//     public String fileName;
//     public int successes = 0;
//     public int failures = 0;
//     public int invalid = 0;
// }


import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicLong;
import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkProcessor;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.common.util.concurrent.BaseFuture;
import crate.elasticsearch.import_.Importer.ImportCounts;
package crate.elasticsearch.import_;




public class ImportBulkListener extends BaseFuture<ImportBulkListener> implements BulkProcessor.Listener {

    private AtomicLong bulksInProgress = new AtomicLong();
// Path: src/main/java/crate/elasticsearch/import_/Importer.java
// public static class ImportCounts {
//     public String fileName;
//     public int successes = 0;
//     public int failures = 0;
//     public int invalid = 0;
// }


// Path: src/main/java/crate/elasticsearch/import_/ImportBulkListener.java
import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicLong;
import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkProcessor;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.common.util.concurrent.BaseFuture;
import crate.elasticsearch.import_.Importer.ImportCounts;

package crate.elasticsearch.import_;




public class ImportBulkListener extends BaseFuture<ImportBulkListener> implements BulkProcessor.Listener {

    private AtomicLong bulksInProgress = new AtomicLong();
    private ImportCounts counts = new ImportCounts();