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

io.inbot.elasticsearch.bulkindexing.EsBulkOperation Maven / Gradle / Ivy

package io.inbot.elasticsearch.bulkindexing;

import com.github.jsonj.JsonObject;
import java.util.function.Function;

/**
 * Simple model class to represent a single bulk operation
 *
 */
class EsBulkOperation {

    public final JsonObject metadata;
    public final JsonObject object;
    public final Function transformFunction; // used during update


    public EsBulkOperation(JsonObject metadata, JsonObject object, Function transformFunction) {
        this.metadata = metadata;
        this.object = object;
        this.transformFunction = transformFunction;
    }

    public boolean isSameVersion(String id, String version) {
        String mid = metadata.getString("index","_id");
        String mv = metadata.getString("index","index","_version");
        return id != null && version != null && id.equals(mid) && version.equals(mv);
    }

    @Override
    public String toString() {
        if(object != null) {
            return metadata.toString() + '\n' + object.toString() + '\n';
        } else {
            return metadata.toString() + '\n'; // deletes have no object
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy