diff options
Diffstat (limited to 'components/kpi-computation-ms/src/main')
2 files changed, 21 insertions, 26 deletions
diff --git a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/KpiComputation.java b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/KpiComputation.java index 8a7b9e06..4dd2601e 100644 --- a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/KpiComputation.java +++ b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/KpiComputation.java @@ -65,6 +65,7 @@ import org.slf4j.LoggerFactory; public class KpiComputation { private static Logger logger = LoggerFactory.getLogger(KpiComputation.class); + String value = ""; /** * do KPI computation. @@ -112,23 +113,26 @@ public class KpiComputation { .map(MeasDataCollection::getMeasInfoList) .orElseThrow(() -> new KpiComputationException("Required Field: MeasInfoList not present")); + StringBuilder sb = new StringBuilder(); for(MeasInfo measInfo: measInfoList){ List<String> measTypes = measInfo.getMeasTypes().getMeasTypesList(); if(!measTypes.isEmpty()){ String anyString = measTypes.get(0); - char[] chars = anyString.toCharArray(); - for(char c : chars){ - if(Character.isDigit(c)){ - sb.append(c); - } + if(anyString.contains(".")) + { + value = anyString.substring(anyString.lastIndexOf(".")+ 1); + logger.info("The value string is {}",value); + } + else { + logger.info( "MeasType does not contain Snssai separated by a dot"); } } else{ logger.info("MeasTypesList is empty"); } } - String snssai = sb.toString(); + // Do computation for each KPI List<VesEvent> events = new LinkedList<>(); List<Kpi> kpis = methodForKpi.getKpis(); @@ -140,7 +144,12 @@ public class KpiComputation { } ControlLoopSchemaType schemaType = methodForKpi.getControlLoopSchemaType(); - String measType = k.getMeasType() + "." + snssai; + sb.append(k.getMeasType()); + sb.append("."); + sb.append(value); + String measType = sb.toString(); + logger.info("measType is {}", measType); + Operation operation = k.getOperation(); List<VesEvent> kpiVesEvent = CommandHandler.handle(operation.value, pmEvent, schemaType, diff --git a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/RatioKpiComputation.java b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/RatioKpiComputation.java index c228b595..8fbbb1d9 100644 --- a/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/RatioKpiComputation.java +++ b/components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/RatioKpiComputation.java @@ -106,35 +106,21 @@ public class RatioKpiComputation extends BaseKpiComputation { } } - StringBuilder sb = new StringBuilder(); - if(!operand.isEmpty()){ - char[] chars = operand.toCharArray(); - for(char c : chars){ - if(Character.isDigit(c)){ - sb.append(c); - } - } + String snssai = ""; + if(!operand.isEmpty() && operand.contains(".")){ + snssai = operand.substring(operand.lastIndexOf(".") + 1); } else{ logger.info("operand is empty"); } - String snssai = sb.toString(); - - StringBuilder sb1 = new StringBuilder(); + String meas = ""; if(!measType.isEmpty()){ - char[] chars = measType.toCharArray(); - for(char c : chars){ - if(!Character.isDigit(c)){ - sb1.append(c); - } - } + meas = measType.substring( 0, measType.lastIndexOf(".") + 1); } else{ logger.info("measType is empty"); } - - String meas = sb1.toString(); String measTypes = meas + snssai; if (myK2.getValue().compareTo(BigDecimal.ZERO) != 0) { |