1 package org.onap.so.svnfm.simulator.services;
3 import java.util.ArrayList;
4 import java.util.Collections;
7 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources;
8 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsAddResources.TypeEnum;
9 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.GrantsResource;
10 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.model.InlineResponse201;
11 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.LcnVnfLcmOperationOccurrenceNotificationAffectedVnfcs.ChangeTypeEnum;
12 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201.InstantiationStateEnum;
13 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoResourceHandle;
14 import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo;
15 import org.onap.so.svnfm.simulator.model.Vnfds;
16 import org.onap.so.svnfm.simulator.repository.VnfOperationRepository;
17 import org.onap.so.svnfm.simulator.config.ApplicationConfig;
18 import org.onap.so.svnfm.simulator.model.VnfOperation;
20 public class TerminateOperationProgressor extends OperationProgressor {
22 public TerminateOperationProgressor(final VnfOperation operation, final SvnfmService svnfmService,
23 final VnfOperationRepository vnfOperationRepository, final ApplicationConfig applicationConfig,
24 final Vnfds vnfds, final SubscriptionService subscriptionService) {
25 super(operation, svnfmService, vnfOperationRepository, applicationConfig, vnfds, subscriptionService);
29 protected List<GrantsAddResources> getAddResources(final String vnfdId) {
30 return Collections.emptyList();
34 protected List<GrantsAddResources> getRemoveResources(final String vnfdId) {
35 final List<GrantsAddResources> resources = new ArrayList<>();
37 final org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201 vnf =
38 svnfmService.getVnf(operation.getVnfInstanceId());
39 for (final InlineResponse201InstantiatedVnfInfoVnfcResourceInfo vnfc : vnf.getInstantiatedVnfInfo()
40 .getVnfcResourceInfo()) {
41 final GrantsAddResources addResource = new GrantsAddResources();
42 addResource.setId(UUID.randomUUID().toString());
43 addResource.setType(TypeEnum.COMPUTE);
44 addResource.setVduId(vnfc.getVduId());
45 final GrantsResource resource = new GrantsResource();
47 final InlineResponse201InstantiatedVnfInfoResourceHandle computeResource = vnfc.getComputeResource();
48 resource.setResourceId(computeResource.getResourceId());
49 resource.setVimConnectionId(computeResource.getVimConnectionId());
50 resource.setVimLevelResourceType(computeResource.getVimLevelResourceType());
51 addResource.setResource(resource);
52 resources.add(addResource);
59 protected List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> handleGrantResponse(
60 final InlineResponse201 grantResponse) {
61 final List<InlineResponse201InstantiatedVnfInfoVnfcResourceInfo> vnfcs =
62 svnfmService.getVnf(operation.getVnfInstanceId()).getInstantiatedVnfInfo().getVnfcResourceInfo();
63 svnfmService.updateVnf(InstantiationStateEnum.NOT_INSTANTIATED, null, operation.getVnfInstanceId(), null);
68 protected ChangeTypeEnum getVnfcChangeType() {
69 return ChangeTypeEnum.REMOVED;