@Override public byte[] getData() { return workerTask.getData(); } }
@Override public <T> T deserialiseData(Class<T> clazz, DecodeMethod decodeMethod) throws CodecException { final byte[] data = workerTask.getData(); return codec.deserialise(data, clazz, decodeMethod); }
@Override public <T> T deserialiseData(Class<T> clazz) throws CodecException { final byte[] data = workerTask.getData(); return codec.deserialise(data, clazz); }
@Nonnull private static byte[] validateVersionAndData(final WorkerTaskData workerTask, final int workerApiVersion) throws InvalidTaskException, TaskRejectedException { final int version = workerTask.getVersion(); if (workerApiVersion < version) { throw new TaskRejectedException("Found task version " + version + ", which is newer than " + workerApiVersion); } final byte[] data = workerTask.getData(); if (data == null) { throw new InvalidTaskException("Invalid input message: task not specified"); } return data; }
/** * {@inheritDoc} Verify that the incoming task has the right type and is a version that can be handled. */ @Override public final Worker getWorker(final WorkerTaskData workerTaskData) throws TaskRejectedException, InvalidTaskException { return createWorker(verifyWorkerTask(workerTaskData.getClassifier(), workerTaskData.getVersion(), workerTaskData.getData()), workerTaskData); }
default Worker getWorker(WorkerTaskData workerTask) throws TaskRejectedException, InvalidTaskException { return getWorker(workerTask.getClassifier(), workerTask.getVersion(), workerTask.getStatus(), workerTask.getData(), workerTask.getContext(), workerTask.getTrackingInfo()); }
@Override public Worker getWorker(WorkerTaskData workerTask) throws InvalidTaskException { TaskStatus taskStatus = workerTask.getStatus(); byte[] data = workerTask.getData(); byte[] context = workerTask.getContext(); task = codec.deserialise(workerTask.getData(), TaskData.class); } else { throw new InvalidTaskException("Policy Worker Message Version not supported: " + version); logger.warn(TaskDataConverter.getCodecExceptionVariablesInfoMessage(workerTask.getClassifier(), workerTask.getData(), workerTask.getContext())); throw new InvalidTaskException("Message could not be deserialized", e);
assert (taskStatus == TaskStatus.INVALID_TASK || taskStatus == TaskStatus.RESULT_EXCEPTION); final String errorMessage = getDataAsString(workerTask.getData());