Implant vid-app-common org.onap.vid.job (main and test)
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / impl / JobAdapterImpl.java
index 9ea1f13..1bf0f43 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -25,7 +25,10 @@ import org.onap.vid.job.Job;
 import org.onap.vid.job.JobAdapter;
 import org.onap.vid.job.JobType;
 import org.onap.vid.model.JobModel;
+import org.onap.vid.properties.Features;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.togglz.core.manager.FeatureManager;
 
 import java.util.Map;
 import java.util.UUID;
@@ -33,6 +36,14 @@ import java.util.UUID;
 @Component
 public class JobAdapterImpl implements JobAdapter {
 
+    private final FeatureManager featureManager;
+
+    @Autowired
+    public JobAdapterImpl(FeatureManager featureManager) {
+        this.featureManager = featureManager;
+    }
+
+
     @Override
     public JobModel toModel(Job job) {
         JobModel jobModel = new JobModel();
@@ -43,9 +54,9 @@ public class JobAdapterImpl implements JobAdapter {
     }
 
     @Override
-    public Job createServiceInstantiationJob(JobType jobType, AsyncJobRequest request, UUID templateId, String userId, String optimisticUniqueServiceInstanceName, Integer indexInBulk){
+    public Job createServiceInstantiationJob(JobType jobType, AsyncJobRequest request, UUID templateId, String userId, String testApi, String optimisticUniqueServiceInstanceName, Integer indexInBulk){
         JobDaoImpl job = createJob(jobType, Job.JobStatus.PENDING , userId);
-        job.setSharedData(new JobSharedData(job.getUuid(), userId, request));
+        job.setSharedData(new JobSharedData(job.getUuid(), userId, request, testApi));
         job.setTypeAndData(jobType, ImmutableMap.of(
                 "optimisticUniqueServiceInstanceName", optimisticUniqueServiceInstanceName
         ));
@@ -55,10 +66,14 @@ public class JobAdapterImpl implements JobAdapter {
     }
 
     @Override
-    public Job createChildJob(JobType jobType, Job.JobStatus jobStatus, AsyncJobRequest request, JobSharedData parentSharedData, Map<String, Object> jobData) {
+    public Job createChildJob(JobType jobType, AsyncJobRequest request, JobSharedData parentSharedData, Map<String, Object> jobData, int indexInBulk) {
+        Job.JobStatus jobStatus = featureManager.isActive(Features.FLAG_EXP_CREATE_RESOURCES_IN_PARALLEL) ?
+                Job.JobStatus.CREATING : Job.JobStatus.PENDING_RESOURCE;
         JobDaoImpl job = createJob(jobType, jobStatus , parentSharedData.getUserId());
         job.setSharedData(new JobSharedData(job.getUuid(), request, parentSharedData));
         job.setTypeAndData(jobType, jobData);
+        job.setTemplateId(parentSharedData.jobUuid);
+        job.setIndexInBulk(indexInBulk);
         return job;
     }