private static Collection<Algorithm> constructOrderedAlgorithmCollection( BenchmarkSuiteResult benchmarkSuiteResult) { List<Algorithm> algorithmCollection = new ArrayList<>(benchmarkSuiteResult.getBenchmarkSuite().getAlgorithms()); Collections.sort( algorithmCollection, new Comparator<Algorithm>() { @Override public int compare(Algorithm o1, Algorithm o2) { return o1.getAcronym().compareToIgnoreCase(o2.getAcronym()); } }); return Collections.unmodifiableList(algorithmCollection); }
private static Collection<GraphSet> constructOrderedGraphSetCollection( BenchmarkSuiteResult benchmarkSuiteResult) { List<GraphSet> graphSetCollection = new ArrayList<>(benchmarkSuiteResult.getBenchmarkSuite().getGraphSets()); Collections.sort( graphSetCollection, new Comparator<GraphSet>() { @Override public int compare(GraphSet o1, GraphSet o2) { return o1.getName().compareTo(o2.getName()); } }); return Collections.unmodifiableList(graphSetCollection); }
private static Map<GraphSet, Map<Algorithm, BenchmarkResult>> constructGraphAlgorithmResults( BenchmarkSuiteResult benchmarkSuiteResult) { // Construct a map of maps to hold the results Map<GraphSet, Map<Algorithm, BenchmarkResult>> graphAlgorithmResults = new HashMap<>(); for (GraphSet graph : benchmarkSuiteResult.getBenchmarkSuite().getGraphSets()) { graphAlgorithmResults.put(graph, new HashMap<Algorithm, BenchmarkResult>()); } // Insert the results from the benchmark suite for (BenchmarkResult benchmarkResult : benchmarkSuiteResult.getBenchmarkResults()) { graphAlgorithmResults .get(benchmarkResult.getBenchmark().getGraph().getGraphSet()) .put(benchmarkResult.getBenchmark().getAlgorithm(), benchmarkResult); } // Make the map unmodifiable for (GraphSet graph : benchmarkSuiteResult.getBenchmarkSuite().getGraphSets()) { graphAlgorithmResults.put( graph, Collections.unmodifiableMap(graphAlgorithmResults.get(graph))); } return Collections.unmodifiableMap(graphAlgorithmResults); }