Merge from ECOMP's repository
[vid.git] / vid-app-common / src / main / java / org / onap / vid / job / command / NetworkInstantiationCommand.java
1 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.serviceInstantiation.Network;
7 import org.onap.vid.mso.model.NetworkInstantiationRequestDetails;
8 import org.onap.vid.services.AsyncInstantiationBusinessLogic;
9 import org.springframework.beans.factory.config.ConfigurableBeanFactory;
10 import org.springframework.context.annotation.Scope;
11 import org.springframework.stereotype.Component;
12
13 import javax.inject.Inject;
14
15 @Component
16 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
17 public class NetworkInstantiationCommand extends ResourceInstantiationCommand {
18
19     @Inject
20     private AsyncInstantiationBusinessLogic asyncInstantiationBL;
21
22     @Override
23     protected String getRequestPath() {
24         return asyncInstantiationBL.getNetworkInstantiationPath(commandParentData.getInstanceId(CommandDataKey.SERVICE_INSTANCE_ID));
25     }
26
27     @Override
28     protected RequestDetailsWrapper<NetworkInstantiationRequestDetails> generateMSORequest(JobAdapter.AsyncJobRequest request, String userId) {
29         return asyncInstantiationBL.generateNetworkInstantiationRequest(
30                 (Network) getSharedData().getRequest(),
31                 commandParentData.getModelInfo(CommandDataKey.SERVICE_MODEL_INFO),
32                 commandParentData.getInstanceId(CommandDataKey.SERVICE_INSTANCE_ID),
33                 getSharedData().getUserId()
34         );
35     }
36
37     @Override
38     protected String getJobAuditMSOStatus() {
39         return "NETWORK_REQUESTED";
40     }
41 }