/******************************************************************************* * ============LICENSE_START======================================================= * slice-analysis-ms * ================================================================================ * Copyright (C) 2021 Wipro Limited. * ============================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= * *******************************************************************************/ package org.onap.slice.analysis.ms.configdb; import java.util.List; import java.util.Map; import java.util.HashMap; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONObject; import org.onap.slice.analysis.ms.models.Configuration; import org.onap.slice.analysis.ms.restclients.CpsRestClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.core.ParameterizedTypeReference; import org.springframework.stereotype.Service; /** * * Service for CPS interfaces * */ @Service public class CpsService implements CpsInterface { private static Logger log = LoggerFactory.getLogger(CpsService.class); @Autowired CpsRestClient restclient; private static String cpsBaseUrl = Configuration.getInstance().getCpsUrl(); /** * Fetches the current configuration of RIC from CPS */ public Map> fetchCurrentConfigurationOfRIC(String snssai) { Map> responseMap = new HashMap>(); String reqUrl = cpsBaseUrl +"/get-nearrtric-config"; log.info("fetching current configuration of RIC from Cps: {s-NSSAI: "+snssai+"}"); String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; try { String response = restclient.sendPostRequest(reqUrl,requestBody, new ParameterizedTypeReference() {}).getBody(); JSONArray sliceArray = new JSONArray(response); for (int i=0;i map = new HashMap(); JSONArray configDataArray = sNSSAIList.getJSONObject(k).getJSONArray("configData"); for(int l=0;l fetchNetworkFunctionsOfSnssai(String snssai) { List responseList=new ArrayList<>(); String reqUrl=cpsBaseUrl+"/get-gnbdufunction-by-snssai"; log.info("fetching network functions of snssai from Cps: {s-NSSAI: "+snssai+"}"); String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; try { String response=restclient.sendPostRequest(reqUrl,requestBody,new ParameterizedTypeReference() {}).getBody(); JSONArray networkFunctionJsonArry = new JSONArray(response); for (int i=0;i> fetchRICsOfSnssai(String snssai) { Map> responseMap=new HashMap<>(); String reqUrl=cpsBaseUrl + "/get-nrcelldu-by-snssai"; log.info("fetching RIC of s-NSSAI from Cps: {s-NSSAI: "+snssai+"}"); String requestBody = "{\"inputParameters\": {\"sNssai\":"+JSONObject.quote(snssai)+"}}"; try { String response=restclient.sendPostRequest(reqUrl,requestBody,new ParameterizedTypeReference() {}).getBody(); JSONArray sliceArray = new JSONArray(response); for (int i=0;i cellslist=new ArrayList<>(); for(int k=0;k