2 * Copyright 2016 Huawei Technologies Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.onap.vfc.nfvo.resmanagement.service.dao.impl.aai;
19 import java.util.ArrayList;
20 import java.util.List;
23 import org.onap.vfc.nfvo.resmanagement.common.conf.Config;
24 import org.onap.vfc.nfvo.resmanagement.common.constant.UrlConstant;
25 import org.onap.vfc.nfvo.resmanagement.common.util.RestfulUtil;
26 import org.onap.vfc.nfvo.resmanagement.common.util.request.RequestUtil;
27 import org.onap.vfc.nfvo.resmanagement.common.util.restclient.RestfulParametes;
28 import org.onap.vfc.nfvo.resmanagement.common.util.restclient.RestfulResponse;
29 import org.onap.vfc.nfvo.resmanagement.service.dao.inf.NsDao;
30 import org.onap.vfc.nfvo.resmanagement.service.entity.NsEntity;
32 import net.sf.json.JSONArray;
33 import net.sf.json.JSONObject;
35 public class NsAaiDaoImpl implements NsDao {
37 private static int VFC_SUCCESS_RESPONSE = 1;
39 private static int VFC_ERROR_RESPONSE = -1;
42 public NsEntity getNs(String id) {
44 RestfulParametes restfulParametes = new RestfulParametes();
45 restfulParametes.setHeaderMap(RequestUtil.getAAIHeaderMap());
47 RestfulResponse response =
48 RestfulUtil.getRestfulResponse(Config.getHost() +":" + Config.getPort() + UrlConstant.CUSTOMER_URL
49 + Config.getGlobalCustomerId() + UrlConstant.SERVICE_SUBSCRIPTION_URL + Config.getServiceType()
50 + UrlConstant.SERVICE_INSTANCE_URL + id, restfulParametes, "get");
52 JSONObject jsonObject = JSONObject.fromObject(response.getResponseContent());
53 NsEntity nsEntity = NsEntity.toEntityFromAai(jsonObject);
59 public List<NsEntity> getAllNs(Map<String, Object> condition) {
60 List<NsEntity> nsEntities = new ArrayList<>();
61 RestfulParametes restfulParametes = new RestfulParametes();
62 restfulParametes.setHeaderMap(RequestUtil.getAAIHeaderMap());
64 RestfulResponse response =
65 RestfulUtil.getRestfulResponse(Config.getHost() +":" + Config.getPort() + UrlConstant.CUSTOMER_URL
66 + Config.getGlobalCustomerId() + UrlConstant.SERVICE_SUBSCRIPTION_URL + Config.getServiceType()
67 + "/service-instances", restfulParametes, "get");
69 JSONObject jsonObject = JSONObject.fromObject(response.getResponseContent());
70 JSONArray jsonArray = jsonObject.getJSONArray("service-instance");
72 jsonArray.forEach(svcInstance -> nsEntities.add(NsEntity.toEntityFromAai((JSONObject)svcInstance)));
77 public int addNs(NsEntity nsEntity) {
79 RestfulParametes restfulParametes = new RestfulParametes();
80 restfulParametes.setHeaderMap(RequestUtil.getAAIHeaderMap());
81 restfulParametes.setRawData(nsEntity.toStringForAai());
83 RestfulResponse response =
84 RestfulUtil.getRestfulResponse(Config.getHost() +":" + Config.getPort() + UrlConstant.CUSTOMER_URL
85 + Config.getGlobalCustomerId() + UrlConstant.SERVICE_SUBSCRIPTION_URL + Config.getServiceType()
86 + UrlConstant.SERVICE_INSTANCE_URL + nsEntity.getId(), restfulParametes, "put");
88 if(response.isSuccess()){
89 return VFC_SUCCESS_RESPONSE;
91 return VFC_ERROR_RESPONSE;
95 public int updateNs(NsEntity nsEntity) {
96 RestfulParametes restfulParametes = new RestfulParametes();
97 restfulParametes.setHeaderMap(RequestUtil.getAAIHeaderMap());
98 restfulParametes.put("resource-version", nsEntity.getResourceVersion());
100 RestfulResponse response = RestfulUtil.getRestfulResponse(
101 Config.getHost() +":" + Config.getPort() + UrlConstant.CUSTOMER_URL + Config.getGlobalCustomerId()
102 + UrlConstant.SERVICE_SUBSCRIPTION_URL + Config.getServiceType()
103 + UrlConstant.SERVICE_INSTANCE_URL + nsEntity.getResourceVersion(),
104 restfulParametes, "put");
106 if(response.isSuccess()){
107 return VFC_SUCCESS_RESPONSE;
109 return VFC_ERROR_RESPONSE;
113 public int deleteNsById(String id) {
115 NsEntity nsEntity = getNs(id);
117 if(nsEntity != null) {
118 RestfulParametes restfulParametes = new RestfulParametes();
119 restfulParametes.setHeaderMap(RequestUtil.getAAIHeaderMap());
120 restfulParametes.put("resource-version", nsEntity.getResourceVersion());
122 RestfulResponse response = RestfulUtil
124 Config.getHost() +":" + Config.getPort() + UrlConstant.CUSTOMER_URL + Config.getGlobalCustomerId()
125 + UrlConstant.SERVICE_SUBSCRIPTION_URL + Config.getServiceType()
126 + UrlConstant.SERVICE_INSTANCE_URL + nsEntity.getId(),
127 restfulParametes, "delete");
128 if(response.isSuccess()){
129 return VFC_SUCCESS_RESPONSE;
131 return VFC_ERROR_RESPONSE;
133 return VFC_ERROR_RESPONSE;