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

com.aliyun.openservices.eas.predict.queue_client.DataFrame Maven / Gradle / Ivy

package com.aliyun.openservices.eas.predict.queue_client;

import com.aliyun.openservices.eas.predict.proto.QueueServiceProtos.DataFrameProto;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import shade.protobuf.InvalidProtocolBufferException;

import java.nio.ByteBuffer;
import java.util.Map;

public class DataFrame {
    private static Log log = LogFactory.getLog(DataFrame.class);
    private DataFrameProto.Builder data_frame = DataFrameProto.newBuilder();
    private Exception error;

    public DataFrame() {
    }

    public DataFrame(DataFrameProto df) {
        data_frame.setIndex(df.getIndex());
        data_frame.putAllTags(df.getTagsMap());
        data_frame.setData(df.getData());
        data_frame.setMessage(df.getMessage());
        error = null;
    }

    public DataFrame(Exception ex) {
        error = ex;
    }

    public Exception getError() {
        return error;
    }

    public void setError(Exception error) {
        this.error = error;
    }

    public void setTags(String key, String val) {
        data_frame.putTags(key, val);
    }

    public void setAllTags(Map map) {
        data_frame.putAllTags(map);
    }

    public long getIndex() {
        return data_frame.getIndex();
    }

    public void setIndex(long index) {
        data_frame.setIndex(index);
    }

    public Map getTags() {
        return data_frame.getTagsMap();
    }

    public byte[] getData() {
        return data_frame.getData().toByteArray();
    }

    public String getMessage() {
        return data_frame.getMessage();
    }

    public void setMessage(String message) {
        data_frame.setMessage(message);
    }

    public DataFrameProto getDataFrameProto() {
        return data_frame.build();
    }

    public byte[] encode() {
        return data_frame.build().toByteArray();
    }

    public DataFrame decode(byte[] dfProtoBytes) {
        try {
            DataFrameProto df = DataFrameProto.parseFrom(dfProtoBytes);
            this.data_frame.clear();
            this.data_frame.mergeFrom(df);
        } catch (InvalidProtocolBufferException e) {
            log.error("Invalid Protocol Buffer", e);
        }
        return this;
    }

    public DataFrame decode(ByteBuffer dfProtoByteBuffer) {
        byte[] dfProtoBytes = new byte[dfProtoByteBuffer.remaining()];
        dfProtoByteBuffer.get(dfProtoBytes);
        return decode(dfProtoBytes);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy