08c464e46b214d0d6cad6a8e3227cc5a716a9904
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  # Copyright (c) 2020, CMCC Technologies Co., Ltd.
6  #
7  # Licensed under the Apache License, Version 2.0 (the "License")
8  # you may not use this file except in compliance with the License.
9  # You may obtain a copy of the License at
10  #
11  #       http://www.apache.org/licenses/LICENSE-2.0
12  #
13  # Unless required by applicable law or agreed to in writing, software
14  # distributed under the License is distributed on an "AS IS" BASIS,
15  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  # See the License for the specific language governing permissions and
17  # limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.adapters.nssmf.manager.impl.external;
22
23 import org.onap.aai.domain.yang.ServiceInstance;
24 import org.onap.so.adapters.nssmf.enums.ActionType;
25 import org.onap.so.adapters.nssmf.enums.SelectionType;
26 import org.onap.so.adapters.nssmf.exceptions.ApplicationException;
27 import org.onap.so.adapters.nssmf.manager.impl.ExternalNssmfManager;
28 import org.onap.so.beans.nsmf.DeAllocateNssi;
29 import org.onap.so.beans.nsmf.NssmfAdapterNBIRequest;
30 import org.onap.so.db.request.beans.ResourceOperationStatus;
31 import static org.onap.so.adapters.nssmf.util.NssmfAdapterUtil.marshal;
32
33 public class ExternalCnNssmfManager extends ExternalNssmfManager {
34
35     @Override
36     protected String doWrapExtAllocateReqBody(NssmfAdapterNBIRequest nbiRequest) throws ApplicationException {
37         return marshal(nbiRequest.getAllocateCnNssi());
38     }
39
40     @Override
41     protected String doWrapModifyReqBody(NssmfAdapterNBIRequest nbiRequest) throws ApplicationException {
42         return marshal(nbiRequest.getAllocateCnNssi());
43     }
44
45     @Override
46     protected String doWrapDeAllocateReqBody(DeAllocateNssi deAllocateNssi) throws ApplicationException {
47         return marshal(deAllocateNssi);
48     }
49
50     @Override
51     protected void afterQueryJobStatus(ResourceOperationStatus status) {
52         super.afterQueryJobStatus(status);
53         ActionType jobOperType = ActionType.valueOf(status.getOperType());
54         if (Integer.parseInt(status.getProgress()) == 100) {
55             if (ActionType.ACTIVATE.equals(jobOperType)) {
56                 ServiceInstance nssiInstance = restUtil.getServiceInstance(serviceInfo);
57                 nssiInstance.setOrchestrationStatus("activated");
58                 restUtil.updateServiceInstance(nssiInstance, serviceInfo);
59             } else if (ActionType.DEACTIVATE.equals(jobOperType)) {
60                 ServiceInstance nssiInstance = restUtil.getServiceInstance(serviceInfo);
61                 nssiInstance.setOrchestrationStatus("deactivated");
62                 restUtil.updateServiceInstance(nssiInstance, serviceInfo);
63             }
64         }
65     }
66
67     @Override
68     protected SelectionType doQueryNSSISelectionCapability() {
69
70         return SelectionType.NSMF;
71     }
72
73 }