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 = createJob(jobType, templateId, indexInBulk, ImmutableMap.of(
40 job.setUserId(userId);
45 public List<Job> createBulkOfJobs(Map<String, Object> bulkRequest) {
50 count = (Integer) bulkRequest.get("count");
51 jobType = JobType.valueOf((String) bulkRequest.get("type"));
52 } catch (Exception exception) {
53 throw new BadRequestException(exception);
55 List<Job> jobList = new ArrayList<>(count + 1);
56 UUID templateId = UUID.randomUUID();
57 for (int i = 0; i < count; i++) {
58 jobList.add(createJob(jobType, templateId, i, bulkRequest));
63 private JobDaoImpl createJob(JobType jobType, UUID templateId, Integer indexInBulk, Map<String, Object> data) {
64 JobDaoImpl job = new JobDaoImpl();
65 job.setStatus(Job.JobStatus.PENDING);
66 job.setTypeAndData(jobType, data);
67 job.setTemplateId(templateId);
68 job.setIndexInBulk(indexInBulk);