pnMetrics function

Future pnMetrics(
  1. dynamic node,
  2. dynamic threatUUID
)

Implementation

Future pnMetrics(var node, var threatUUID) async {
  var impactV = 0.0;
  var numerator = 0.0;
  var denominator = 0.0;
  var normalization = 0.0;

  try {
    var metric = node[threatUUID]!.iterator;

    while (metric.moveNext()) {
      var impactNode = await metric.current.getValue('impact');
      var impact = impactNode.getValue('en')!;
      //      try{
      var normalNode = await metric.current.getValue('normal');
      normalization = double.parse(normalNode.getValue('en'));

//          }catch(e){
      //            continue;
//          }

      impactV = CoreValues.impactValues[impact.toLowerCase()]!;

      numerator += impactV * normalization; //numerator= impact*value
      denominator += impactV; //denom=impact
    }

    var result = numerator / denominator;

    return double.parse(result.toString());
  } catch (e) {
    return 0;
  }
}