aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java')
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java
index c9c16041..57de5338 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/nsmf/impl/ResourceMonitorServiceImpl.java
@@ -34,7 +34,9 @@ import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceList;
import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceOnlineUserInfo;
import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceOnlineUserList;
import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceTotalBandwidthInfo;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRInfo;
import org.onap.usecaseui.server.bean.nsmf.monitor.ServiceTotalBandwidthList;
+import org.onap.usecaseui.server.bean.nsmf.monitor.ServicePDUSessionEstSRList;
import org.onap.usecaseui.server.bean.nsmf.monitor.SlicingKpiReqInfo;
import org.onap.usecaseui.server.bean.nsmf.monitor.TrafficReqInfo;
import org.onap.usecaseui.server.bean.nsmf.monitor.UsageTrafficInfo;
@@ -46,6 +48,7 @@ import org.onap.usecaseui.server.service.slicingdomain.kpi.KpiSliceService;
import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalBandwidth;
import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiTotalTraffic;
import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiUserNumber;
+import org.onap.usecaseui.server.service.slicingdomain.kpi.bean.KpiPDUSessionEstSR;
import org.onap.usecaseui.server.util.RestfulServices;
import org.onap.usecaseui.server.util.nsmf.NsmfCommonUtil;
import org.slf4j.Logger;
@@ -250,4 +253,57 @@ public class ResourceMonitorServiceImpl implements ResourceMonitorService {
serviceResult.setResult_body(serviceTotalBandwidthList);
return serviceResult;
}
+
+ @Override
+ public ServiceResult querySlicingPDUSessionEstSR(String queryTimestamp, ServiceList serviceList) {
+ ServiceResult serviceResult = new ServiceResult();
+ ResultHeader resultHeader = new ResultHeader();
+ initConfig();
+ ServicePDUSessionEstSRList servicePDUSessionEstSRList = new ServicePDUSessionEstSRList();
+
+ List<ServicePDUSessionEstSRInfo> servicePDUSessionEstSRInfoList = new ArrayList<>();
+ List<ServiceInfo> serviceInfoList = serviceList.getServiceInfoList();
+
+ String resultMsg = "";
+
+ try {
+ for (ServiceInfo serviceInfo : serviceInfoList) {
+ SlicingKpiReqInfo slicingKpiReqInfo = resourceMonitorServiceConvert
+ .buildSlicingPDUSessionEstSRKpiReqInfo(serviceInfo, queryTimestamp, kpiHours);
+ String jsonstr = JSON.toJSONString(slicingKpiReqInfo);
+ RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonstr);
+ Response<KpiPDUSessionEstSR> response =this.kpiSliceService.listPDUSessionEstSR(requestBody).execute();
+ if (response.isSuccessful()) {
+ KpiPDUSessionEstSR kpiPDUSessionEstSR = response.body();
+ logger.info("querySlicingPDUSessionEstSR: listPDUSessionEstSR reponse is:{}",
+ gson.toJson(kpiPDUSessionEstSR));
+ ServicePDUSessionEstSRInfo servicePDUSessionEstSRInfo = new ServicePDUSessionEstSRInfo();
+ resourceMonitorServiceConvert
+ .convertServicePDUSessionEstSRInfo(servicePDUSessionEstSRInfo, kpiPDUSessionEstSR);
+ servicePDUSessionEstSRInfoList.add(servicePDUSessionEstSRInfo);
+ resultMsg = "5G slicing service PDUSessionEstSR query result.";
+ resultHeader.setResult_code(NsmfCodeConstant.SUCCESS_CODE);
+ } else {
+ logger.error(String
+ .format("querySlicingPDUSessionEstSR: Can not get KpiUserNumber[code={}, message={}]",
+ response.code(),
+ response.message()));
+ resultMsg = "5G slicing PDUSessionEstSR query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ }
+ } catch (Exception e) {
+ resultMsg = "5G slicing PDUSessionEstSR query failed. Unknown exception occurred!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ logger.error("Exception in querySlicingPDUSessionEstSR :{}",e);
+ }
+
+ logger.info(resultMsg);
+ logger.info("querySlicingPDUSessionEstSR: 5G slicing kpiPDUSessionEstSR query has been finished.");
+ servicePDUSessionEstSRList.setServicePDUSessionEstSRInfoList(servicePDUSessionEstSRInfoList);
+ resultHeader.setResult_message(resultMsg);
+ serviceResult.setResult_header(resultHeader);
+ serviceResult.setResult_body(servicePDUSessionEstSRList);
+ return serviceResult;
+ }
}