Skip to content
Snippets Groups Projects

Calculators and main

Merged Jaret Wrintmore requested to merge Calculators into master
3 files
+ 31
10
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 43
0
package Calculators;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import Packets.BounceDefinition;
import Packets.ClickInfo;
import Packets.CompiledData;
import Packets.ServerInfo;
/**
* Calculate the key metrics needed for graph generation.
*/
public class MetricCalculator {
public Metrics calculateMetrics(CompiledData compiledData, BounceDefinition bounceDefinition) {
Integer noOfImpressions = compiledData.getImpressionInfo().size();
ArrayList<ClickInfo> clickInfoList = compiledData.getClickInfo();
Integer noOfClicks = clickInfoList.size();
//Uniques
ArrayList<String> ids = new ArrayList<String>();
for (ClickInfo ci : clickInfoList) {
ids.add(ci.getID());
}
List<String> uniqueIds = ids.stream().distinct().collect(Collectors.toList());
Integer noOfUniques = uniqueIds.size();
//Number of bounces
Integer noOfBounces = 0;
if (bounceDefinition.getCountsPages()) {
for (ServerInfo i : compiledData.getServerInfo()) {
if (i.getPages() < bounceDefinition.getThreshold()) {++noOfBounces;}
}
} else {
for (ServerInfo i : compiledData.getServerInfo()) {
if (i.getDuration() < bounceDefinition.getThreshold()) {++noOfBounces;}
}
}
}
}
\ No newline at end of file
Loading