aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
commitc72d565bb58226b20625b2bce5f0019046bee649 (patch)
tree8658e49595705b02e47ddc14afa20d6bb7123547 /vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java
parentef8a6b47847012fd59ea20da21d8d3d7c4a301ed (diff)
Merge 1806 code of vid-common
Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java b/vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java
new file mode 100644
index 000000000..77e1dd2cf
--- /dev/null
+++ b/vid-app-common/src/main/java/org/onap/vid/job/impl/JobAdapterImpl.java
@@ -0,0 +1,72 @@
+package org.onap.vid.job.impl;
+
+import com.google.common.collect.ImmutableMap;
+import org.onap.vid.job.Job;
+import org.onap.vid.job.JobAdapter;
+import org.onap.vid.job.JobType;
+import org.onap.vid.model.JobBulk;
+import org.onap.vid.model.JobModel;
+import org.springframework.stereotype.Component;
+
+import javax.ws.rs.BadRequestException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+@Component
+public class JobAdapterImpl implements JobAdapter {
+
+ @Override
+ public JobModel toModel(Job job) {
+ JobModel jobModel = new JobModel();
+ jobModel.setUuid(job.getUuid());
+ jobModel.setStatus(job.getStatus());
+ jobModel.setTemplateId(job.getTemplateId());
+ return jobModel;
+ }
+
+ @Override
+ public JobBulk toModelBulk(List<Job> jobList) {
+ return new JobBulk(jobList.stream().map(this::toModel).collect(Collectors.toList()));
+ }
+
+ @Override
+ public Job createJob(JobType jobType, AsyncJobRequest request, UUID templateId, String userId, Integer indexInBulk){
+ JobDaoImpl job = new JobDaoImpl();
+ job.setStatus(Job.JobStatus.PENDING);
+ job.setTypeAndData(jobType, ImmutableMap.of(
+ "request", request,
+ "userId", userId));
+ job.setTemplateId(templateId);
+ job.setIndexInBulk(indexInBulk);
+ job.setUserId(userId);
+ return job;
+ }
+
+ @Override
+ public List<Job> createBulkOfJobs(Map<String, Object> bulkRequest) {
+ int count;
+ JobType jobType;
+
+ try {
+ count = (Integer) bulkRequest.get("count");
+ jobType = JobType.valueOf((String) bulkRequest.get("type"));
+ } catch (Exception exception) {
+ throw new BadRequestException(exception);
+ }
+ List<Job> jobList = new ArrayList<>(count + 1);
+ UUID templateId = UUID.randomUUID();
+ for (int i = 0; i < count; i++) {
+ Job child = new JobDaoImpl();
+ child.setTypeAndData(jobType, bulkRequest);
+ child.setStatus(Job.JobStatus.PENDING);
+ child.setTemplateId(templateId);
+ child.setIndexInBulk(i);
+ jobList.add(child);
+ }
+ return jobList;
+ }
+
+}