summaryrefslogtreecommitdiffstats
path: root/components/kpi-computation-ms/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'components/kpi-computation-ms/src/main')
-rw-r--r--components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/KpiComputation.java23
-rw-r--r--components/kpi-computation-ms/src/main/java/org/onap/dcaegen2/kpi/computation/RatioKpiComputation.java24
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) {