1 package org.onap.vid.job.command
3 import org.onap.vid.job.Job
4 import org.onap.vid.job.JobAdapter
5 import org.onap.vid.job.JobCommand
6 import org.onap.vid.job.JobsBrokerService
7 import org.onap.vid.model.Action
8 import org.onap.vid.model.serviceInstantiation.Network
9 import org.onap.vid.mso.RestMsoImplementation
10 import org.onap.vid.services.AsyncInstantiationBusinessLogic
11 import org.springframework.beans.factory.annotation.Autowired
12 import org.springframework.beans.factory.config.ConfigurableBeanFactory
13 import org.springframework.context.annotation.Scope
14 import org.springframework.http.HttpMethod
15 import org.springframework.stereotype.Component
20 @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
21 class NetworkCommand @Autowired constructor(
22 private val asyncInstantiationBL: AsyncInstantiationBusinessLogic,
23 restMso: RestMsoImplementation,
24 private val msoRequestBuilder: MsoRequestBuilder,
25 msoResultHandlerService: MsoResultHandlerService,
26 inProgressStatusService:InProgressStatusService,
27 watchChildrenJobsBL: WatchChildrenJobsBL,
28 jobsBrokerService: JobsBrokerService,
29 jobAdapter: JobAdapter
30 ) : ResourceCommand(restMso, inProgressStatusService, msoResultHandlerService,
31 watchChildrenJobsBL, jobsBrokerService, jobAdapter), JobCommand {
32 override fun createChildren(): Job.JobStatus {
33 return Job.JobStatus.COMPLETED_WITH_NO_ACTION
36 override fun planCreateMyselfRestCall(commandParentData: CommandParentData, request: JobAdapter.AsyncJobRequest, userId: String, testApi: String?): MsoRestCallPlan {
37 val serviceInstanceId = commandParentData.getInstanceId(CommandParentData.CommandDataKey.SERVICE_INSTANCE_ID)
38 val serviceModelInfo = commandParentData.getModelInfo(CommandParentData.CommandDataKey.SERVICE_MODEL_INFO)
40 val instantiatePath = asyncInstantiationBL.getNetworkInstantiationPath(serviceInstanceId)
41 val requestDetailsWrapper = msoRequestBuilder.generateNetworkInstantiationRequest(
49 val actionDescription = "create network in $serviceInstanceId"
51 return MsoRestCallPlan(HttpMethod.POST, instantiatePath, Optional.of(requestDetailsWrapper), Optional.empty(), actionDescription)
54 override fun planDeleteMyselfRestCall(commandParentData: CommandParentData, request: JobAdapter.AsyncJobRequest, userId: String): MsoRestCallPlan {
55 val serviceInstanceId = commandParentData.getInstanceId(CommandParentData.CommandDataKey.SERVICE_INSTANCE_ID)
56 val path = asyncInstantiationBL.getNetworkDeletePath(serviceInstanceId, getRequest().instanceId)
57 val requestDetailsWrapper = msoRequestBuilder.generateDeleteNetworkRequest(getRequest() as Network, userId)
58 return MsoRestCallPlan(HttpMethod.DELETE, path, Optional.of(requestDetailsWrapper), Optional.of(userId),
59 "delete network ${getRequest().instanceId} from service instance $serviceInstanceId")
62 override fun isDescendantHasAction(phase: Action): Boolean {