package edu.usc.enl.dynamicmeasurement.metric.hhhmonitors;
import edu.usc.enl.dynamicmeasurement.algorithms.tasks.hhh.flow.singleswitch.FalseHHHFinder;
import edu.usc.enl.dynamicmeasurement.model.WildcardPattern;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: masoud
* Date: 8/12/13
* Time: 12:33 PM
*/
public class FalseHHHWeight extends HHHMonitorMetric {
protected FalseHHHFinder falseHHHFinder;
public FalseHHHWeight(FalseHHHFinder falseHHHFinder) {
this.falseHHHFinder = falseHHHFinder;
}
@Override
public Double compute(List<WildcardPattern> realHhhs, List<WildcardPattern> reportedHHH, List<WildcardPattern> monitors) {
List<WildcardPattern> falseHHHs = falseHHHFinder.getLastFalseHHHs();
int count = 0;
int sum = 0;
for (WildcardPattern falseHHH : falseHHHs) {
sum += falseHHH.getWeight();
count++;
}
if (count != 0) {
return Double.valueOf(sum / count);
} else {
return null;
}
}
@Override
public String toString() {
return "FalseHHHWeight";
}
}