Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / command / InstanceGroupInstantiationCommand.java
1 package org.onap.vid.job.command;//package org.onap.vid.job.command;
2
3 import org.onap.vid.changeManagement.RequestDetailsWrapper;
4 import org.onap.vid.job.JobAdapter;
5 import org.onap.vid.job.command.CommandParentData.CommandDataKey;
6 import org.onap.vid.model.Action;
7 import org.onap.vid.model.serviceInstantiation.InstanceGroup;
8 import org.onap.vid.mso.model.InstanceGroupInstantiationRequestDetails;
9 import org.onap.vid.services.AsyncInstantiationBusinessLogic;
10 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
11 import org.springframework.context.annotation.Scope;
12 import org.springframework.stereotype.Component;
13
14 import javax.inject.Inject;
15
16 @Component
17 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
18 public class InstanceGroupInstantiationCommand extends ResourceInstantiationCommand {
19
20     @Inject
21     private AsyncInstantiationBusinessLogic asyncInstantiationBL;
22
23     @Override
24     protected String getRequestPath() {
25         return asyncInstantiationBL.getInstanceGroupInstantiationPath();
26     }
27
28     @Override
29     protected RequestDetailsWrapper<InstanceGroupInstantiationRequestDetails> generateMSORequest(JobAdapter.AsyncJobRequest request, String userId) {
30         return asyncInstantiationBL.generateInstanceGroupInstantiationRequest(
31                 (InstanceGroup) getSharedData().getRequest(),
32                 commandParentData.getModelInfo(CommandDataKey.SERVICE_MODEL_INFO),
33                 commandParentData.getInstanceId(CommandDataKey.SERVICE_INSTANCE_ID),
34                 getSharedData().getUserId()
35         );
36     }
37
38     @Override
39     protected String getJobAuditMSOStatus() {
40         return "INSTANCE_GROUP_REQUESTED";
41     }
42
43     @Override
44     protected boolean shouldInstantiateMyself() {
45         return Action.Create == ((InstanceGroup) getSharedData().getRequest()).getAction();
46     }
47 }