All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.icodegarden.nutrient.elasticsearch.v7.BulkResponseHasErrorV7Exception Maven / Gradle / Ivy

The newest version!
package io.github.icodegarden.nutrient.elasticsearch.v7;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.elasticsearch.action.bulk.BulkItemResponse;
import org.elasticsearch.action.bulk.BulkResponse;

/**
 * 
 * @author Fangfang.Xu
 *
 */
public class BulkResponseHasErrorV7Exception extends RuntimeException {
	private static final long serialVersionUID = 1L;

	private String message;
	private final BulkResponse response;

	public BulkResponseHasErrorV7Exception(String desc, BulkResponse response) {
		this.response = response;

		StringBuilder sb = new StringBuilder(200);
		sb.append(desc);

		List errorItems = errorItems();
		errorItems.forEach(i -> {
			sb.append("item id:").append(i.getId()).append(", reason:").append(i.getFailure().getMessage())
					.append("\n");
		});
		message = sb.toString();
	}

	@Override
	public String getMessage() {
		return this.message;
	}

	public List errorItems() {
		return Arrays.asList(response.getItems()).stream().filter(i -> i.getFailure() != null)
				.collect(Collectors.toList());
	}

	public List errorIds() {
		return Arrays.asList(response.getItems()).stream().filter(i -> i.getFailure() != null).map(i -> i.getId())
				.collect(Collectors.toList());
	}

	public List successItems() {
		return Arrays.asList(response.getItems()).stream().filter(i -> i.getFailure() == null)
				.collect(Collectors.toList());
	}

	public List successIds() {
		return Arrays.asList(response.getItems()).stream().filter(i -> i.getFailure() == null).map(i -> i.getId())
				.collect(Collectors.toList());
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy