diff --git a/src/main/java/eu/openaire/urls_worker/models/Assignment.java b/src/main/java/eu/openaire/urls_worker/models/Assignment.java new file mode 100644 index 0000000..887b07b --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/models/Assignment.java @@ -0,0 +1,66 @@ +package eu.openaire.urls_worker.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import java.util.Date; +import java.util.List; + + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "tasks", + "workerId", + "date" +}) +public class Assignment { + + @JsonProperty("tasks") + private List tasks; + + @JsonProperty("workerId") + private String workerId; + + @JsonProperty("date") + private Date date; + + public Assignment(List tasks, String workerId, Date date) { + this.tasks = tasks; + this.workerId = workerId; + this.date = date; + } + + public List getTasks() { + return tasks; + } + + public void setTasks(List tasks) { + this.tasks = tasks; + } + + public String getWorkerId() { + return workerId; + } + + public void setWorkerId(String workerId) { + this.workerId = workerId; + } + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + @Override + public String toString() { + return "Assignment{" + + "tasks=" + tasks + + ", workerId='" + workerId + '\'' + + ", date=" + date + + '}'; + } +} diff --git a/src/main/java/eu/openaire/urls_worker/models/UrlReport.java b/src/main/java/eu/openaire/urls_worker/models/UrlReport.java new file mode 100644 index 0000000..b7cbe5e --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/models/UrlReport.java @@ -0,0 +1,55 @@ +package eu.openaire.urls_worker.models; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "task", + "status", + "payload" +}) +public class UrlReport { + + @JsonProperty("task") + private Task task; + + @JsonProperty("status") + private String Status; + + @JsonProperty("payload") + private Payload payload; + + + public UrlReport(Task task, String status, Payload payload) { + this.task = task; + Status = status; + this.payload = payload; + } + + public Task getTask() { + return task; + } + + public void setTask(Task task) { + this.task = task; + } + + public String getStatus() { + return Status; + } + + public void setStatus(String status) { + Status = status; + } + + public Payload getPayload() { + return payload; + } + + public void setPayload(Payload payload) { + this.payload = payload; + } +} diff --git a/src/main/java/eu/openaire/urls_worker/payloads/requests/AssignmentRequest.java b/src/main/java/eu/openaire/urls_worker/payloads/requests/AssignmentRequest.java new file mode 100644 index 0000000..a480edc --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/payloads/requests/AssignmentRequest.java @@ -0,0 +1,32 @@ +package eu.openaire.urls_worker.payloads.requests; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import eu.openaire.urls_worker.models.Assignment; + + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class AssignmentRequest { + + @JsonProperty("assignment") + private Assignment assignment; + + public AssignmentRequest(Assignment assignment) { + this.assignment = assignment; + } + + public Assignment getAssignment() { + return assignment; + } + + public void setAssignment(Assignment assignment) { + this.assignment = assignment; + } + + @Override + public String toString() { + return "AssignmentRequest{" + + "assignment=" + assignment + + '}'; + } +} diff --git a/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerReport.java b/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerReport.java new file mode 100644 index 0000000..3db3fcc --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerReport.java @@ -0,0 +1,44 @@ +package eu.openaire.urls_worker.payloads.responces; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import eu.openaire.urls_worker.models.UrlReport; + +import java.util.List; + + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "workerId", + "url" +}) +public class WorkerReport { + + @JsonProperty("workerId") + private String workerId; + + @JsonProperty("urlReports") + private List urlReports; + + public WorkerReport(String workerId, List urlReports) { + this.workerId = workerId; + this.urlReports = urlReports; + } + + public String getWorkerId() { + return workerId; + } + + public void setWorkerId(String workerId) { + this.workerId = workerId; + } + + public List getUrlReports() { + return urlReports; + } + + public void setUrlReports(List urlReports) { + this.urlReports = urlReports; + } +} diff --git a/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerResponse.java b/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerResponse.java new file mode 100644 index 0000000..29c0032 --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/payloads/responces/WorkerResponse.java @@ -0,0 +1,49 @@ +package eu.openaire.urls_worker.payloads.responces; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "workerId", + "tasksLimit" +}) +public class WorkerResponse { + + @JsonProperty("workerId") + private String workerId; + + @JsonProperty("tasksLimit") + private int tasksLimit; + + public WorkerResponse(String workerId, int tasksLimit) { + this.workerId = workerId; + this.tasksLimit = tasksLimit; + } + + public String getWorkerId() { + return workerId; + } + + public void setWorkerId(String workerId) { + this.workerId = workerId; + } + + public int getTasksLimit() { + return tasksLimit; + } + + public void setTasksLimit(int tasksLimit) { + this.tasksLimit = tasksLimit; + } + + @Override + public String toString() { + return "WorkerRequest{" + + "id='" + workerId + '\'' + + ", tasksLimit=" + tasksLimit + + '}'; + } +} diff --git a/src/main/java/eu/openaire/urls_worker/util/WorkerConstants.java b/src/main/java/eu/openaire/urls_worker/util/WorkerConstants.java new file mode 100644 index 0000000..dd66d43 --- /dev/null +++ b/src/main/java/eu/openaire/urls_worker/util/WorkerConstants.java @@ -0,0 +1,7 @@ +package eu.openaire.urls_worker.util; + +public interface WorkerConstants { + + String WORKER_ID = "worker_1"; // This should be different for every deployment of a Worker. + int TASKS_LIMIT = 10000; +}