diff options
author | 2022-04-28 14:14:44 +0000 | |
---|---|---|
committer | 2022-04-29 15:25:44 +0000 | |
commit | 111f6428fea584ce6342c84e6c623945b900addd (patch) | |
tree | e2ba1f23a0cec033ec08be6ca98a163bd2d40876 /components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps | |
parent | 96bb3070750e59e028ae9d06c368f9a6b2e014a2 (diff) |
[SLICEANALYSIS] Filter RAN related service instances in AAI and Fetch CU Cells data for intelligent slicing
Issue-ID: DCAEGEN2-3145
Issue-ID: DCAEGEN2-3146
Signed-off-by: Niranjana <niranjana.y60@wipro.com>
Change-Id: I5c53bc05f43de09554b02a763d7f5c22435c9962
Diffstat (limited to 'components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps')
2 files changed, 37 insertions, 0 deletions
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsInterface.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsInterface.java index 95e7340f..d6a187cb 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsInterface.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsInterface.java @@ -37,4 +37,6 @@ public interface CpsInterface { public Map<String, Map<String, Object>> fetchCurrentConfigurationOfRIC(String snssai); + public Map<String, List<String>> fetchnrCellCUsOfSnssai(String snssai); + } diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsService.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsService.java index 27f37aba..a9562e58 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsService.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/cps/CpsService.java @@ -142,6 +142,41 @@ public class CpsService implements CpsInterface { } catch (Exception e) { log.info("Fetch RICS of S-NSSAI from CPS" + e); } + log.info("responseMap: {}", responseMap); + return responseMap; + } + + /** + * Fetches the NRCellCUs of an S-NSSAI from CPS + */ + public Map<String, List<String>> fetchnrCellCUsOfSnssai(String snssai) { + Map<String, List<String>> responseMap = new HashMap<>(); + String reqUrl = cpsBaseUrl + "/get-nearrtric-config"; + log.info("fetching NrCellCUs of s-NSSAI from Cps: {s-NSSAI: " + snssai + "}"); + log.info("reqUrl {}", reqUrl); + String requestBody = "{\"inputParameters\": {\"sNssai\":" + JSONObject.quote(snssai) + "}}"; + log.info("requestBody {}", requestBody); + try { + String response = restclient + .sendPostRequest(reqUrl, requestBody, new ParameterizedTypeReference<String>() {}).getBody(); + JSONArray sliceArray = new JSONArray(response); + for (int i = 0; i < sliceArray.length(); i++) { + String nearRTTICid = sliceArray.getJSONObject(i).optString("idNearRTRIC"); + JSONArray GNBCUCPFunctionArray = sliceArray.getJSONObject(i).getJSONArray("GNBCUCPFunction"); + for (int j = 0; j < GNBCUCPFunctionArray.length(); j++) { + JSONArray NRCellCUArray = GNBCUCPFunctionArray.getJSONObject(j).getJSONArray("NRCellCU"); + List<String> cellslist = new ArrayList<>(); + for (int k = 0; k < NRCellCUArray.length(); k++) { + cellslist.add( + NRCellCUArray.getJSONObject(k).getJSONObject("attributes").optString("cellLocalId")); + } + responseMap.put(nearRTTICid, cellslist); + } + } + } catch (Exception e) { + log.info("Exception: {}", e); + } + log.info("responseMap: {}", responseMap); return responseMap; } } |