blob: 8e4ae7666782e74ae5a107fc2d938ff14de89d5f [file] [log] [blame]
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +03001/*-
2 * ============LICENSE_START=======================================================
3 * OSAM
4 * ================================================================================
5 * Copyright (C) 2018 AT&T
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
19 */
20
21
22
23package org.onap.osam.services;
24
25import org.onap.osam.job.Job;
26import org.onap.osam.job.JobAdapter;
27import org.onap.osam.job.JobsBrokerService;
28import org.onap.osam.model.JobBulk;
29import org.onap.osam.model.JobModel;
30import org.springframework.beans.factory.annotation.Autowired;
31import org.springframework.stereotype.Service;
32
33import javax.ws.rs.NotFoundException;
34import java.util.List;
35import java.util.Map;
36import java.util.UUID;
37
38@Service
39public class BulkInstantiationServiceImpl implements IBulkInstantiationService {
40
41 private JobsBrokerService jobsBrokerService;
42 private JobAdapter jobAdapter;
43
44 @Autowired
45 public BulkInstantiationServiceImpl(JobsBrokerService jobsBrokerService, JobAdapter jobAdapter) {
46 this.jobsBrokerService = jobsBrokerService;
47 this.jobAdapter = jobAdapter;
48 }
49
50 @Override
51 public JobBulk saveBulk(Map<String, Object> bulkRequest) {
52 List<Job> jobList = jobAdapter.createBulkOfJobs(bulkRequest);
53 jobList.forEach(jobsBrokerService::add);
54 return jobAdapter.toModelBulk(jobList);
55 }
56
57 @Override
58 public JobModel getJob(UUID uuid) {
59 Job job = jobsBrokerService.peek(uuid);
60
61 if (job == null || job.getUuid() == null) {
62 throw new NotFoundException("Job with uuid " + uuid + " not found");
63 }
64 return jobAdapter.toModel(job);
65 }
66
67
68}