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

ru.taskurotta.service.hz.serialization.bson.TaskQueueItemStreamBSerializer Maven / Gradle / Ivy

The newest version!
package ru.taskurotta.service.hz.serialization.bson;

import ru.taskurotta.mongodb.driver.BDataInput;
import ru.taskurotta.mongodb.driver.BDataOutput;
import ru.taskurotta.mongodb.driver.CString;
import ru.taskurotta.mongodb.driver.StreamBSerializer;
import ru.taskurotta.service.queue.TaskQueueItem;

/**
 */
public class TaskQueueItemStreamBSerializer implements StreamBSerializer {

    public static final CString TASK_ID = new CString("t");
    public static final CString PROCESS_ID = new CString("p");
    public static final CString ENQUEUE_TIME = new CString("et");
    public static final CString START_TIME = new CString("st");
    public static final CString QUEUE_NAME = new CString("q");
    public static final CString CREATE_DATE = new CString("c");
    public static final CString TASK_LIST = new CString("l");

    @Override
    public Class getObjectClass() {
        return TaskQueueItem.class;
    }

    @Override
    public void write(BDataOutput out, TaskQueueItem taskQueueItem) {

        out.writeUUID(TASK_ID, taskQueueItem.getTaskId());
        out.writeUUID(PROCESS_ID, taskQueueItem.getProcessId());
        out.writeLong(ENQUEUE_TIME, taskQueueItem.getEnqueueTime());

        final long startTime = taskQueueItem.getStartTime();
        if (startTime != 0) {
            out.writeLong(START_TIME, startTime);
        }

        out.writeString(QUEUE_NAME, taskQueueItem.getQueueName());
        out.writeDate(CREATE_DATE, taskQueueItem.getCreatedDate());
        out.writeString(TASK_LIST, taskQueueItem.getTaskList());

    }

    @Override
    public TaskQueueItem read(BDataInput in) {

        TaskQueueItem taskQueueItem = new TaskQueueItem();

        taskQueueItem.setTaskId(in.readUUID(TASK_ID));
        taskQueueItem.setProcessId(in.readUUID(PROCESS_ID));
        taskQueueItem.setEnqueueTime(in.readLong(ENQUEUE_TIME));
        taskQueueItem.setStartTime(in.readLong(START_TIME));
        taskQueueItem.setQueueName(in.readString(QUEUE_NAME));
        taskQueueItem.setCreatedDate(in.readDate(CREATE_DATE));
        taskQueueItem.setTaskList(in.readString(TASK_LIST));

        return taskQueueItem;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy