2a868f1388c587d575ebbe6ea4f62595bb45af39
[vid.git] / vid-app-common / src / main / java / org / onap / vid / services / BulkInstantiationServiceImpl.java
1 package org.onap.vid.services;
2
3 import org.onap.vid.job.Job;
4 import org.onap.vid.job.JobAdapter;
5 import org.onap.vid.job.JobsBrokerService;
6 import org.onap.vid.model.JobBulk;
7 import org.onap.vid.model.JobModel;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service;
10
11 import javax.ws.rs.NotFoundException;
12 import java.util.List;
13 import java.util.Map;
14 import java.util.UUID;
15
16 @Service
17 public class BulkInstantiationServiceImpl implements BulkInstantiationService {
18
19     private JobsBrokerService jobsBrokerService;
20     private JobAdapter jobAdapter;
21
22     @Autowired
23     public BulkInstantiationServiceImpl(JobsBrokerService jobsBrokerService, JobAdapter jobAdapter) {
24         this.jobsBrokerService = jobsBrokerService;
25         this.jobAdapter = jobAdapter;
26     }
27
28     @Override
29     public JobBulk saveBulk(Map<String, Object> bulkRequest) {
30         List<Job> jobList = jobAdapter.createBulkOfJobs(bulkRequest);
31         jobList.forEach(jobsBrokerService::add);
32         return jobAdapter.toModelBulk(jobList);
33     }
34
35     @Override
36     public JobModel getJob(UUID uuid) {
37         Job job = jobsBrokerService.peek(uuid);
38
39         if (job == null || job.getUuid() == null) {
40             throw new NotFoundException("Job with uuid " + uuid + " not found");
41         }
42         return jobAdapter.toModel(job);
43     }
44
45
46 }