1 package org.onap.vid.job.impl;
3 import com.google.common.collect.ImmutableMap;
4 import org.onap.vid.job.Job;
5 import org.onap.vid.job.JobAdapter;
6 import org.onap.vid.job.JobType;
7 import org.onap.vid.model.JobBulk;
8 import org.onap.vid.model.JobModel;
9 import org.springframework.stereotype.Component;
11 import javax.ws.rs.BadRequestException;
12 import java.util.ArrayList;
13 import java.util.List;
15 import java.util.UUID;
16 import java.util.stream.Collectors;
19 public class JobAdapterImpl implements JobAdapter {
22 public JobModel toModel(Job job) {
23 JobModel jobModel = new JobModel();
24 jobModel.setUuid(job.getUuid());
25 jobModel.setStatus(job.getStatus());
26 jobModel.setTemplateId(job.getTemplateId());
31 public JobBulk toModelBulk(List<Job> jobList) {
32 return new JobBulk(jobList.stream().map(this::toModel).collect(Collectors.toList()));
36 public Job createJob(JobType jobType, AsyncJobRequest request, UUID templateId, String userId, Integer indexInBulk){
37 JobDaoImpl job = new JobDaoImpl();
38 job.setStatus(Job.JobStatus.PENDING);
39 job.setTypeAndData(jobType, ImmutableMap.of(
42 job.setTemplateId(templateId);
43 job.setIndexInBulk(indexInBulk);
44 job.setUserId(userId);
49 public List<Job> createBulkOfJobs(Map<String, Object> bulkRequest) {
54 count = (Integer) bulkRequest.get("count");
55 jobType = JobType.valueOf((String) bulkRequest.get("type"));
56 } catch (Exception exception) {
57 throw new BadRequestException(exception);
59 List<Job> jobList = new ArrayList<>(count + 1);
60 UUID templateId = UUID.randomUUID();
61 for (int i = 0; i < count; i++) {
62 Job child = new JobDaoImpl();
63 child.setTypeAndData(jobType, bulkRequest);
64 child.setStatus(Job.JobStatus.PENDING);
65 child.setTemplateId(templateId);
66 child.setIndexInBulk(i);