summaryrefslogtreecommitdiffstats
path: root/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb
diff options
context:
space:
mode:
authorNiranjana <niranjana.y60@wipro.com>2022-02-03 04:50:38 +0000
committerNiranjana <niranjana.y60@wipro.com>2022-03-03 13:39:38 +0000
commitf67adad42f2c857ff76b52df39f0beb5c2cabee4 (patch)
treed9c4394a5f52187d9db0a09a0759e78350df8e16 /components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb
parent5f69c24ad78121a2840b5299583791e557f8b535 (diff)
[DCAEGEN2] Calculate slice utilization data
Issue-ID: DCAEGEN2-2942 Signed-off-by: Niranjana <niranjana.y60@wipro.com> Change-Id: Id16d2a36cf964b15495531a54094cad96471bdcb
Diffstat (limited to 'components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb')
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiInterface.java36
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiService.java179
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsInterface.java39
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java137
4 files changed, 0 insertions, 391 deletions
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiInterface.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiInterface.java
deleted file mode 100644
index 68b795b5..00000000
--- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiInterface.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * ============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.Map;
-
-/**
- *
- * Interface for AAI
- *
- */
-public interface AaiInterface {
-
- public Map<String, String> fetchServiceDetails(String snssai);
- public Map<String, Integer> fetchCurrentConfigurationOfSlice(String snssai);
-}
-
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiService.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiService.java
deleted file mode 100644
index 16ff71a6..00000000
--- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/AaiService.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * ============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.HashMap;
-import java.util.Map;
-
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.onap.slice.analysis.ms.models.Configuration;
-import org.onap.slice.analysis.ms.restclients.AaiRestClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.stereotype.Service;
-
-/**
- *
- * Service for AAI interfaces
- *
- */
-@Service
-public class AaiService implements AaiInterface {
-
- private static Logger log = LoggerFactory.getLogger(Configuration.class);
-
- @Autowired
- AaiRestClient restclient;
- private static String globalSubscriberId;
- private static String subscriptionServiceType;
- private static String aaiBaseUrl = Configuration.getInstance().getAaiUrl();
-
- /**
- * Fetches the details of a subscriber
- */
- public Map<String, String> fetchServiceDetails(String snssai) {
- log.info("AAI fetch service: ");
- Map<String, String> responseMap = new HashMap<String, String>();
-
- log.info("AAI getGlobalSubscriberId: ");
- String subscriberReqUrl = aaiBaseUrl + "/business/customers";
- try {
- String subscriberReq = restclient
- .sendGetRequest(subscriberReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject subscriberReqJson = new JSONObject(subscriberReq);
- JSONArray subscriberReqJsonList = subscriberReqJson.getJSONArray("customer");
- for (int i = 0; i < subscriberReqJsonList.length(); i++) {
- JSONObject subscriberReqObj = subscriberReqJsonList.getJSONObject(i);
- globalSubscriberId = subscriberReqObj.getString("global-customer-id");
- responseMap.put("globalSubscriberId", globalSubscriberId);
- break;
- }
- } catch (Exception e) {
- log.info("Exception while fetching getGlobalSubscriberId: " + e);
- }
-
- String subscriptionServiceReqUrl = aaiBaseUrl + "/business/customers/customer/" + globalSubscriberId
- + "/service-subscriptions";
- try {
- String subscriptionService = restclient
- .sendGetRequest(subscriptionServiceReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject subscriptionServiceJson = new JSONObject(subscriptionService);
- JSONArray subscriptionServiceListJson = subscriptionServiceJson.getJSONArray("service-subscription");
- for (int i = 0; i < subscriptionServiceListJson.length(); i++) {
- JSONObject subscriptionServiceObj = subscriptionServiceListJson.getJSONObject(i);
- subscriptionServiceType = subscriptionServiceObj.getString("service-type");
- responseMap.put("subscriptionServiceType", subscriptionServiceType);
- break;
- }
- } catch (Exception e) {
- log.info("Exception while fetching subscriptionService: " + e);
- }
-
- String serviceReqUrl = aaiBaseUrl + "/business/customers/customer/" + globalSubscriberId
- + "/service-subscriptions/service-subscription/" + subscriptionServiceType + "/service-instances";
- String serviceRole = "AN-NF";
- try {
- String serviceInstance = restclient.sendGetRequest(serviceReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject serviceInstanceJson = new JSONObject(serviceInstance);
- JSONArray serviceInstanceList = serviceInstanceJson.getJSONArray("service-instance");
- for (int i = 0; i < serviceInstanceList.length(); i++) {
- JSONObject serviceObj = serviceInstanceList.getJSONObject(i);
- if (serviceObj.getString("environment-context").equalsIgnoreCase(snssai)) {
- responseMap.put("sliceProfileId", serviceObj.getString("service-instance-id"));
- }
- }
-
- String serviceRoleReqUrl = aaiBaseUrl + "/business/customers/customer/" + globalSubscriberId
- + "/service-subscriptions/service-subscription/" + subscriptionServiceType
- + "/service-instances/?service-role=nssi&depth=2";
-
- String serviceInstanceForServiceRole = restclient
- .sendGetRequest(serviceRoleReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject serviceInstanceForServiceRoleJson = new JSONObject(serviceInstanceForServiceRole);
- JSONArray serviceInstanceListForServiceRole = serviceInstanceForServiceRoleJson
- .getJSONArray("service-instance");
- for (int i = 0; i < serviceInstanceListForServiceRole.length(); i++) {
- JSONObject serviceObj = serviceInstanceListForServiceRole.getJSONObject(i);
- if (serviceObj.getString("workload-context").trim().equalsIgnoreCase(serviceRole)) {
- responseMap.put("ranNFNSSIId", serviceObj.getString("service-instance-id"));
- }
- }
- } catch (Exception e) {
- log.info("Exception while fetching serviceDetails: " + e);
- }
- responseMap.put("sNSSAI", snssai);
- log.info("subscriber details: " + responseMap);
- return responseMap;
- }
-
- /**
- * Fetches the current configuration of an Slice from AAI
- */
- public Map<String, Integer> fetchCurrentConfigurationOfSlice(String snssai) {
- log.info("AAI fetch config Slice: " + aaiBaseUrl);
- String serviceInstaneId = null;
- String serviceReqUrl = aaiBaseUrl + "/business/customers/customer/" + globalSubscriberId
- + "/service-subscriptions/service-subscription/" + subscriptionServiceType + "/service-instances";
- Map<String, Integer> responseMap = new HashMap<String, Integer>();
- try {
- String serviceInstance = restclient.sendGetRequest(serviceReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject serviceInstanceJson = new JSONObject(serviceInstance);
-
- JSONArray serviceInstanceList = serviceInstanceJson.getJSONArray("service-instance");
- for (int i = 0; i < serviceInstanceList.length(); i++) {
- JSONObject serviceObj = serviceInstanceList.getJSONObject(i);
- if (serviceObj.getString("environment-context").equalsIgnoreCase(snssai)) {
- serviceInstaneId = serviceObj.getString("service-instance-id");
- }
- }
-
- String sliceProfileReqUrl = aaiBaseUrl + "/business/customers/customer/" + globalSubscriberId
- + "/service-subscriptions/service-subscription/" + subscriptionServiceType
- + "/service-instances/service-instance/" + serviceInstaneId + "/slice-profiles";
-
- String sliceProfile = restclient
- .sendGetRequest(sliceProfileReqUrl, new ParameterizedTypeReference<String>() {
- }).getBody();
- JSONObject sliceProfileJson = new JSONObject(sliceProfile);
- JSONArray sliceProfileList = sliceProfileJson.getJSONArray("slice-profile");
- for (int i = 0; i < sliceProfileList.length(); i++) {
- JSONObject sliceProfileObj = sliceProfileList.getJSONObject(i);
- responseMap.put("dLThptPerSlice", sliceProfileObj.getInt("exp-data-rate-UL"));
- responseMap.put("uLThptPerSlice", sliceProfileObj.getInt("exp-data-rate-DL"));
- break;
- }
- log.info("Slice configuration: " + responseMap);
- } catch (Exception e) {
- log.info("AAI Slice: " + e);
- }
- return responseMap;
- }
-}
-
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsInterface.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsInterface.java
deleted file mode 100644
index ef6211c4..00000000
--- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsInterface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * ============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;
-
-/**
- *
- * Interface for CPS
- *
- */
-public interface CpsInterface {
-
- public Map<String, List<String>> fetchRICsOfSnssai(String snssai);
- public List<String> fetchNetworkFunctionsOfSnssai(String snssai);
- public Map<String, Map<String,Object>> fetchCurrentConfigurationOfRIC(String snssai);
-
-}
-
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java
deleted file mode 100644
index 389a75d9..00000000
--- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/configdb/CpsService.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * ============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<String, Map<String, Object>> fetchCurrentConfigurationOfRIC(String snssai) {
- Map<String, Map<String, Object>> responseMap = new HashMap<String, Map<String, Object>>();
- 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<String>() {}).getBody();
- JSONArray sliceArray = new JSONArray(response);
- for (int i=0;i<sliceArray.length();i++) {
- String nearRTTICid = sliceArray.getJSONObject(i).optString("idNearRTRIC");
- JSONArray pLMNInfoList = sliceArray.getJSONObject(i).getJSONObject("attributes").getJSONArray("pLMNInfoList");
- for (int j=0;j<pLMNInfoList.length();j++){
- JSONArray sNSSAIList = pLMNInfoList.getJSONObject(j).getJSONArray("sNSSAIList");
- for(int k=0;k<sNSSAIList.length();k++) {
- Map<String,Object> map = new HashMap<String,Object>();
- JSONArray configDataArray = sNSSAIList.getJSONObject(k).getJSONArray("configData");
- for(int l=0;l<configDataArray.length();l++) {
- JSONObject configData = configDataArray.getJSONObject(l);
- map.put((String) configData.get("configParameter"), configData.get("configValue"));
- }
- responseMap.put(nearRTTICid, map);
- }
- }
- }
- }catch (Exception e) {
- log.info("CPS fetches current configuration of RIC: " + e);
- }
- return responseMap;
- }
-
- /**
- * Fetches all the network functions of an S-NSSAI from CPS
- */
- public List<String> fetchNetworkFunctionsOfSnssai(String snssai) {
- List<String> 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<String>() {}).getBody();
- JSONArray networkFunctionJsonArry = new JSONArray(response);
- for (int i=0;i<networkFunctionJsonArry.length();i++) {
- JSONObject networkFunctionJson = networkFunctionJsonArry.getJSONObject(i);
- responseList.add(networkFunctionJson.getJSONObject("attributes").optString("gNBDUId"));
- }
- }
- catch (Exception e) {
- log.info("Fetch network functions of S-NSSAI from CPS" + e);
- }
- return responseList;
- }
-
- /**
- * Fetches the RICS of an S-NSSAI from CPS
- */
- public Map<String, List<String>> fetchRICsOfSnssai(String snssai) {
- Map<String,List<String>> 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<String>() {}).getBody();
- JSONArray sliceArray = new JSONArray(response);
- for (int i=0;i<sliceArray.length();i++) {
- String nearRTTICid = sliceArray.getJSONObject(i).optString("idNearRTRIC");
- JSONArray GNBDUFunctionArray = sliceArray.getJSONObject(i).getJSONArray("GNBDUFunction");
- for (int j=0;j<GNBDUFunctionArray.length();j++){
- JSONArray NRCellDUArray = GNBDUFunctionArray.getJSONObject(j).getJSONArray("NRCellDU");
- List<String> cellslist=new ArrayList<>();
- for(int k=0;k<NRCellDUArray.length();k++) {
- cellslist.add(NRCellDUArray.getJSONObject(k).getJSONObject("attributes").optString("cellLocalId"));
- }
- responseMap.put(nearRTTICid,cellslist);
- }
- }
- }catch (Exception e) {
- log.info("Fetch RICS of S-NSSAI from CPS" + e);
- }
- return responseMap;
- }
-}
-