package edu.usc.enl.dynamicmeasurement.metric.hhh;
import edu.usc.enl.dynamicmeasurement.model.WildcardPattern;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: masoud
* Date: 6/29/13
* Time: 9:27 AM
*/
public class HHHWeight extends HHHMetric {
private final boolean ignoreExact;
public HHHWeight(boolean ignoreExact) {
this.ignoreExact = ignoreExact;
}
@Override
public Double compute(List<WildcardPattern> hhh, List<WildcardPattern> reportedHHH, int step, String folder) {
double sum = 0;
int count = 0;
for (WildcardPattern monitor : reportedHHH) {
if (ignoreExact && monitor.getWildcardNum() == 0) {
continue;
}
count++;
sum += monitor.getWeight();
}
if (count == 0) {
return null;
}
return sum / count;
}
@Override
public String toString() {
return "HHHWeight" + (ignoreExact ? "_nonexact" : "");
}
}