commit 4065d3a792b7954ee3d43a5ef52ee4d104c8df9c Author: Karsten Loesing karsten.loesing@gmx.net Date: Thu Feb 23 14:22:37 2017 +0100
Use Java 7's diamond operator wherever possible.
As part of this, set Java source and target version to 7 in two build files and add a missing library for running tests.
Implements #21535. --- .../src/org/torproject/metrics/advbwdist/Main.java | 7 ++-- .../src/org/torproject/metrics/clients/Main.java | 6 ++-- modules/connbidirect/build.xml | 9 ++--- .../org/torproject/metrics/connbidirect/Main.java | 17 ++++----- .../torproject/metrics/connbidirect/MainTest.java | 35 ++++++++----------- .../org/torproject/metrics/hidserv/Aggregator.java | 6 ++-- .../torproject/metrics/hidserv/DateTimeHelper.java | 2 +- .../torproject/metrics/hidserv/DocumentStore.java | 5 ++- .../torproject/metrics/hidserv/Extrapolator.java | 14 ++++---- .../src/org/torproject/metrics/hidserv/Main.java | 11 +++--- .../src/org/torproject/metrics/hidserv/Parser.java | 20 ++++------- .../org/torproject/metrics/hidserv/Simulate.java | 40 ++++++++++------------ .../org/torproject/ernie/cron/Configuration.java | 3 +- .../cron/RelayDescriptorDatabaseImporter.java | 10 +++--- .../cron/network/ConsensusStatsFileHandler.java | 11 +++--- .../ernie/cron/performance/TorperfProcessor.java | 14 ++++---- .../java/org/torproject/metrics/webstats/Main.java | 2 +- website/build.xml | 4 +-- .../src/org/torproject/metrics/web/AnyServlet.java | 2 +- .../torproject/metrics/web/ContentProvider.java | 6 ++-- .../org/torproject/metrics/web/GraphServlet.java | 7 ++-- .../org/torproject/metrics/web/LinkServlet.java | 2 +- .../org/torproject/metrics/web/MetricServlet.java | 25 +++++--------- .../org/torproject/metrics/web/NewsServlet.java | 9 +++-- .../org/torproject/metrics/web/TableServlet.java | 7 ++-- .../metrics/web/graphs/BubblesServlet.java | 2 +- .../torproject/metrics/web/graphs/Countries.java | 2 +- .../metrics/web/graphs/GraphParameterChecker.java | 9 +++-- .../metrics/web/graphs/RObjectGenerator.java | 13 ++++--- .../metrics/web/graphs/TableParameterChecker.java | 7 ++-- .../metrics/web/research/ResearchStatsServlet.java | 2 +- 31 files changed, 132 insertions(+), 177 deletions(-)
diff --git a/modules/advbwdist/src/org/torproject/metrics/advbwdist/Main.java b/modules/advbwdist/src/org/torproject/metrics/advbwdist/Main.java index 83c4934..7d7678d 100644 --- a/modules/advbwdist/src/org/torproject/metrics/advbwdist/Main.java +++ b/modules/advbwdist/src/org/torproject/metrics/advbwdist/Main.java @@ -38,8 +38,7 @@ public class Main { + "server-descriptors")); Iterator<DescriptorFile> descriptorFiles = descriptorReader.readDescriptors(); - Map<String, Long> serverDescriptors = - new HashMap<String, Long>(); + Map<String, Long> serverDescriptors = new HashMap<>(); while (descriptorFiles.hasNext()) { DescriptorFile descriptorFile = descriptorFiles.next(); for (Descriptor descriptor : descriptorFile.getDescriptors()) { @@ -87,8 +86,8 @@ public class Main { (RelayNetworkStatusConsensus) descriptor; String validAfter = dateTimeFormat.format( consensus.getValidAfterMillis()); - List<Long> advertisedBandwidthsAllRelays = new ArrayList<Long>(); - List<Long> advertisedBandwidthsExitsOnly = new ArrayList<Long>(); + List<Long> advertisedBandwidthsAllRelays = new ArrayList<>(); + List<Long> advertisedBandwidthsExitsOnly = new ArrayList<>(); for (NetworkStatusEntry relay : consensus.getStatusEntries().values()) { if (!relay.getFlags().contains("Running")) { diff --git a/modules/clients/src/org/torproject/metrics/clients/Main.java b/modules/clients/src/org/torproject/metrics/clients/Main.java index c9dc004..dff73f7 100644 --- a/modules/clients/src/org/torproject/metrics/clients/Main.java +++ b/modules/clients/src/org/torproject/metrics/clients/Main.java @@ -297,8 +297,7 @@ public class Main { SortedMap<String, Integer> frequencies, long publishedMillis) throws IOException { double total = 0.0; - SortedMap<String, Double> frequenciesCopy = - new TreeMap<String, Double>(); + SortedMap<String, Double> frequenciesCopy = new TreeMap<>(); if (frequencies != null) { for (Map.Entry<String, Integer> e : frequencies.entrySet()) { if (e.getValue() < 4.0) { @@ -399,8 +398,7 @@ public class Main { } }
- private static Map<String, BufferedWriter> openOutputFiles = - new HashMap<String, BufferedWriter>(); + private static Map<String, BufferedWriter> openOutputFiles = new HashMap<>();
private static void writeOutputLine(String fingerprint, String node, String metric, String country, String transport, String version, diff --git a/modules/connbidirect/build.xml b/modules/connbidirect/build.xml index 9aaf2e1..72c028f 100644 --- a/modules/connbidirect/build.xml +++ b/modules/connbidirect/build.xml @@ -11,6 +11,7 @@ <include name="commons-compress-1.9.jar"/> <include name="commons-lang-2.6.jar"/> <include name="junit4-4.11.jar"/> + <include name="hamcrest-all-1.3.jar"/> <include name="descriptor-1.4.0.jar"/> <include name="slf4j-api-1.7.7.jar"/> <include name="logback-core-1.1.2.jar"/> @@ -22,8 +23,8 @@ <mkdir dir="${connbidirect-classes}"/> <javac destdir="${connbidirect-classes}" srcdir="${connbidirect-sources}" - source="1.6" - target="1.6" + source="1.7" + target="1.7" debug="true" deprecation="true" optimize="false" @@ -36,8 +37,8 @@ <target name="test" depends="compile"> <javac destdir="${connbidirect-classes}" srcdir="${connbidirect-tests}" - source="1.6" - target="1.6" + source="1.7" + target="1.7" debug="true" deprecation="true" optimize="false" diff --git a/modules/connbidirect/src/main/java/org/torproject/metrics/connbidirect/Main.java b/modules/connbidirect/src/main/java/org/torproject/metrics/connbidirect/Main.java index db4c640..63dc6be 100644 --- a/modules/connbidirect/src/main/java/org/torproject/metrics/connbidirect/Main.java +++ b/modules/connbidirect/src/main/java/org/torproject/metrics/connbidirect/Main.java @@ -148,7 +148,7 @@ public class Main { + "raw statistics anymore."); return; } - SortedSet<RawStat> newRawStats = new TreeSet<RawStat>(); + SortedSet<RawStat> newRawStats = new TreeSet<>(); parseHistory = addRawStatsFromDescriptors(newRawStats, descriptorsDirectories, parseHistory); if (parseHistory == null) { @@ -231,8 +231,7 @@ public class Main { /* Parse a parse history. */ static SortedMap<String, Long> parseParseHistory( String formattedParseHistory) { - SortedMap<String, Long> parsedParseHistory = - new TreeMap<String, Long>(); + SortedMap<String, Long> parsedParseHistory = new TreeMap<>(); LineNumberReader lnr = new LineNumberReader(new StringReader( formattedParseHistory)); String line = ""; @@ -279,8 +278,7 @@ public class Main { /* Parse aggregate connbidirect stats. */ static SortedMap<String, Short> parseAggregateStats( String formattedAggregatedStats) { - SortedMap<String, Short> parsedAggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> parsedAggregateStats = new TreeMap<>(); if (formattedAggregatedStats.length() < 1) { return parsedAggregateStats; /* Empty file. */ } @@ -328,7 +326,7 @@ public class Main {
/* Parse raw statistics. */ static SortedSet<RawStat> parseRawStats(String formattedRawStats) { - SortedSet<RawStat> parsedRawStats = new TreeSet<RawStat>(); + SortedSet<RawStat> parsedRawStats = new TreeSet<>(); LineNumberReader lnr = new LineNumberReader(new StringReader( formattedRawStats)); String line = ""; @@ -422,8 +420,8 @@ public class Main { static SortedSet<Long> mergeRawStats( SortedSet<RawStat> rawStats, SortedSet<RawStat> newRawStats) { rawStats.addAll(newRawStats); - SortedSet<Long> discardedRawStats = new TreeSet<Long>(); - SortedSet<Long> availableRawStats = new TreeSet<Long>(); + SortedSet<Long> discardedRawStats = new TreeSet<>(); + SortedSet<Long> availableRawStats = new TreeSet<>(); for (RawStat rawStat : rawStats) { if (rawStat.fingerprint != null) { availableRawStats.add(rawStat.dateDays); @@ -440,8 +438,7 @@ public class Main { SortedSet<RawStat> rawStats) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - SortedMap<String, List<Short>> fractionsByDateAndDirection = - new TreeMap<String, List<Short>>(); + SortedMap<String, List<Short>> fractionsByDateAndDirection = new TreeMap<>(); final String[] directions = new String[] { "read", "write", "both" }; for (RawStat rawStat : rawStats) { if (rawStat.fingerprint != null) { diff --git a/modules/connbidirect/src/test/java/org/torproject/metrics/connbidirect/MainTest.java b/modules/connbidirect/src/test/java/org/torproject/metrics/connbidirect/MainTest.java index 92b6866..c63a772 100644 --- a/modules/connbidirect/src/test/java/org/torproject/metrics/connbidirect/MainTest.java +++ b/modules/connbidirect/src/test/java/org/torproject/metrics/connbidirect/MainTest.java @@ -43,14 +43,14 @@ public class MainTest {
@Test public void testParseHistoryOneEntry() { - SortedMap<String, Long> parseHistory = new TreeMap<String, Long>(); + SortedMap<String, Long> parseHistory = new TreeMap<>(); parseHistory.put(pathA, lastmodA); assertParseHistoryCanBeSerializedAndDeserialized(parseHistory); }
@Test public void testParseHistoryTwoEntries() { - SortedMap<String, Long> parseHistory = new TreeMap<String, Long>(); + SortedMap<String, Long> parseHistory = new TreeMap<>(); parseHistory.put(pathA, lastmodA); parseHistory.put(pathB, lastmodB); assertParseHistoryCanBeSerializedAndDeserialized(parseHistory); @@ -95,16 +95,14 @@ public class MainTest {
@Test public void testAggregateStatsOneEntry() { - SortedMap<String, Short> aggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> aggregateStats = new TreeMap<>(); aggregateStats.put("2015-08-18,read,0.25", (short) 42); assertAggregateStatsCanBeSerializedAndDeserialized(aggregateStats); }
@Test public void testAggregateStatsThreeEntries() { - SortedMap<String, Short> aggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> aggregateStats = new TreeMap<>(); aggregateStats.put("2015-08-18,read,0.25", (short) 12); aggregateStats.put("2015-08-18,read,0.5", (short) 24); aggregateStats.put("2015-08-18,read,0.75", (short) 42); @@ -138,7 +136,7 @@ public class MainTest {
@Test public void testRawStatsOneEntry() { - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 40, (short) 30, (short) 50)); assertRawStatsCanBeSerializedAndDeserialized(rawStats); @@ -154,7 +152,7 @@ public class MainTest {
@Test public void testMergeRawStatsAddNothing() { - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 40, (short) 30, (short) 50)); assertRawStatsCanBeMerged(rawStats, new TreeSet<Main.RawStat>(), @@ -163,10 +161,10 @@ public class MainTest {
@Test public void testMergeRawStatsAddSame() { - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 40, (short) 30, (short) 50)); - SortedSet<Main.RawStat> newRawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> newRawStats = new TreeSet<>(); newRawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 40, (short) 30, (short) 50)); assertRawStatsCanBeMerged(rawStats, newRawStats, false); @@ -174,10 +172,10 @@ public class MainTest {
@Test public void testMergeRawStatsAddOther() { - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 40, (short) 30, (short) 50)); - SortedSet<Main.RawStat> newRawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> newRawStats = new TreeSet<>(); newRawStats.add(new Main.RawStat(DATE_B, FPR_B, (short) 40, (short) 30, (short) 50)); assertRawStatsCanBeMerged(rawStats, newRawStats, false); @@ -216,8 +214,7 @@ public class MainTest { private void assertStatsCanBeAggregated( SortedMap<String, Short> expectedAggregateStats, SortedSet<Main.RawStat> rawStats) { - SortedMap<String, Short> updatedAggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> updatedAggregateStats = new TreeMap<>(); Main.updateAggregateStats(updatedAggregateStats, rawStats); assertEquals("Updated aggregate statistics don't match", expectedAggregateStats, updatedAggregateStats); @@ -231,8 +228,7 @@ public class MainTest {
@Test public void testUpdateAggregateStatsSingleRawStat() { - SortedMap<String, Short> expectedAggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> expectedAggregateStats = new TreeMap<>(); expectedAggregateStats.put("2015-08-18,read,0.25", (short) 42); expectedAggregateStats.put("2015-08-18,read,0.5", (short) 42); expectedAggregateStats.put("2015-08-18,read,0.75", (short) 42); @@ -242,7 +238,7 @@ public class MainTest { expectedAggregateStats.put("2015-08-18,both,0.25", (short) 22); expectedAggregateStats.put("2015-08-18,both,0.5", (short) 22); expectedAggregateStats.put("2015-08-18,both,0.75", (short) 22); - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 42, (short) 32, (short) 22)); assertStatsCanBeAggregated(expectedAggregateStats, rawStats); @@ -250,8 +246,7 @@ public class MainTest {
@Test public void testUpdateAggregateStatsTwoRawStat() { - SortedMap<String, Short> expectedAggregateStats = - new TreeMap<String, Short>(); + SortedMap<String, Short> expectedAggregateStats = new TreeMap<>(); expectedAggregateStats.put("2015-08-18,read,0.25", (short) 32); expectedAggregateStats.put("2015-08-18,read,0.5", (short) 42); expectedAggregateStats.put("2015-08-18,read,0.75", (short) 42); @@ -261,7 +256,7 @@ public class MainTest { expectedAggregateStats.put("2015-08-18,both,0.25", (short) 12); expectedAggregateStats.put("2015-08-18,both,0.5", (short) 22); expectedAggregateStats.put("2015-08-18,both,0.75", (short) 22); - SortedSet<Main.RawStat> rawStats = new TreeSet<Main.RawStat>(); + SortedSet<Main.RawStat> rawStats = new TreeSet<>(); rawStats.add(new Main.RawStat(DATE_A, FPR_A, (short) 32, (short) 22, (short) 12)); rawStats.add(new Main.RawStat(DATE_A, FPR_B, (short) 42, (short) 32, diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/Aggregator.java b/modules/hidserv/src/org/torproject/metrics/hidserv/Aggregator.java index 677c2ca..ea09a78 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/Aggregator.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/Aggregator.java @@ -70,10 +70,8 @@ public class Aggregator { * dates, map values are double[] arrays with the extrapolated network * total as first element and the corresponding computed network * fraction as second element. */ - SortedMap<String, List<double[]>> extrapolatedCells = - new TreeMap<String, List<double[]>>(); - SortedMap<String, List<double[]>> extrapolatedOnions = - new TreeMap<String, List<double[]>>(); + SortedMap<String, List<double[]>> extrapolatedCells = new TreeMap<>(); + SortedMap<String, List<double[]>> extrapolatedOnions = new TreeMap<>(); for (ExtrapolatedHidServStats extrapolated : extrapolatedStats) { String date = DateTimeHelper.format( extrapolated.getStatsDateMillis(), diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/DateTimeHelper.java b/modules/hidserv/src/org/torproject/metrics/hidserv/DateTimeHelper.java index d35fc9f..5be6800 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/DateTimeHelper.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/DateTimeHelper.java @@ -47,7 +47,7 @@ public class DateTimeHelper { }
protected Map<String, DateFormat> initialValue() { - return new HashMap<String, DateFormat>(); + return new HashMap<>(); }
public void remove() { diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/DocumentStore.java b/modules/hidserv/src/org/torproject/metrics/hidserv/DocumentStore.java index ac05096..2670cf4 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/DocumentStore.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/DocumentStore.java @@ -50,8 +50,7 @@ public class DocumentStore<T extends Document> { retrievedDocuments.addAll(documentsToStore);
/* Serialize documents. */ - SortedMap<String, SortedSet<String>> formattedDocuments = - new TreeMap<String, SortedSet<String>>(); + SortedMap<String, SortedSet<String>> formattedDocuments = new TreeMap<>(); for (T retrieveDocument : retrievedDocuments) { String[] formattedDocument = retrieveDocument.format(); if (!formattedDocuments.containsKey(formattedDocument[0])) { @@ -110,7 +109,7 @@ public class DocumentStore<T extends Document> {
/* Check if the document file exists, and if not, return an empty set. * This is not an error case. */ - Set<T> result = new HashSet<T>(); + Set<T> result = new HashSet<>(); if (!documentFile.exists()) { return result; } diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/Extrapolator.java b/modules/hidserv/src/org/torproject/metrics/hidserv/Extrapolator.java index 9dc7ba0..262720a 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/Extrapolator.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/Extrapolator.java @@ -90,9 +90,8 @@ public class Extrapolator { }
/* Re-arrange reported stats by fingerprint. */ - SortedMap<String, Set<ReportedHidServStats>> - parsedStatsByFingerprint = - new TreeMap<String, Set<ReportedHidServStats>>(); + SortedMap<String, Set<ReportedHidServStats>> parsedStatsByFingerprint = + new TreeMap<>(); for (ReportedHidServStats stat : reportedStats) { String fingerprint = stat.getFingerprint(); if (!parsedStatsByFingerprint.containsKey(fingerprint)) { @@ -111,9 +110,8 @@ public class Extrapolator { * those that still need to be extrapolated. Also make a list of * all dates for which we need to retrieve computed network * fractions. */ - Set<ReportedHidServStats> newReportedStats = - new HashSet<ReportedHidServStats>(); - SortedSet<String> retrieveFractionDates = new TreeSet<String>(); + Set<ReportedHidServStats> newReportedStats = new HashSet<>(); + SortedSet<String> retrieveFractionDates = new TreeSet<>(); for (ReportedHidServStats stats : e.getValue()) {
/* Check whether extrapolated stats already contain an object with @@ -149,9 +147,9 @@ public class Extrapolator { * because we need to count known consensuses even if the relay was * not contained in a consensus or had a network fraction of exactly * zero.) */ - SortedSet<Long> knownConsensuses = new TreeSet<Long>(); + SortedSet<Long> knownConsensuses = new TreeSet<>(); SortedMap<Long, ComputedNetworkFractions> computedNetworkFractions = - new TreeMap<Long, ComputedNetworkFractions>(); + new TreeMap<>(); for (String date : retrieveFractionDates) { File documentFile = new File( this.computedNetworkFractionsDirectory, date); diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/Main.java b/modules/hidserv/src/org/torproject/metrics/hidserv/Main.java index b729c51..ad0b415 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/Main.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/Main.java @@ -19,7 +19,7 @@ public class Main { public static void main(String[] args) {
/* Initialize directories and file paths. */ - Set<File> inDirectories = new HashSet<File>(); + Set<File> inDirectories = new HashSet<>(); inDirectories.add( new File("../../shared/in/recent/relay-descriptors/consensuses")); inDirectories.add( @@ -31,11 +31,9 @@ public class Main { System.out.println("Initializing parser and reading parse " + "history..."); DocumentStore<ReportedHidServStats> reportedHidServStatsStore = - new DocumentStore<ReportedHidServStats>( - ReportedHidServStats.class); + new DocumentStore<>(ReportedHidServStats.class); DocumentStore<ComputedNetworkFractions> - computedNetworkFractionsStore = - new DocumentStore<ComputedNetworkFractions>( + computedNetworkFractionsStore = new DocumentStore<>( ComputedNetworkFractions.class); Parser parser = new Parser(inDirectories, statusDirectory, reportedHidServStatsStore, computedNetworkFractionsStore); @@ -63,8 +61,7 @@ public class Main { * single relays. */ System.out.println("Extrapolating statistics..."); DocumentStore<ExtrapolatedHidServStats> extrapolatedHidServStatsStore - = new DocumentStore<ExtrapolatedHidServStats>( - ExtrapolatedHidServStats.class); + = new DocumentStore<>(ExtrapolatedHidServStats.class); Extrapolator extrapolator = new Extrapolator(statusDirectory, reportedHidServStatsStore, computedNetworkFractionsStore, extrapolatedHidServStatsStore); diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/Parser.java b/modules/hidserv/src/org/torproject/metrics/hidserv/Parser.java index 24746ed..eccb0c0 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/Parser.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/Parser.java @@ -96,8 +96,7 @@ public class Parser { public void readParseHistory() { if (this.parseHistoryFile.exists() && this.parseHistoryFile.isFile()) { - SortedMap<String, Long> excludedFiles = - new TreeMap<String, Long>(); + SortedMap<String, Long> excludedFiles = new TreeMap<>(); try { BufferedReader br = new BufferedReader(new FileReader( this.parseHistoryFile)); @@ -133,8 +132,7 @@ public class Parser {
/* Obtain the list of descriptor files that were either parsed now or * that were skipped in this execution from the descriptor reader. */ - SortedMap<String, Long> excludedAndParsedFiles = - new TreeMap<String, Long>(); + SortedMap<String, Long> excludedAndParsedFiles = new TreeMap<>(); excludedAndParsedFiles.putAll( this.descriptorReader.getExcludedFiles()); excludedAndParsedFiles.putAll(this.descriptorReader.getParsedFiles()); @@ -164,8 +162,7 @@ public class Parser { * <p>To date, these objects are small, and keeping them all in memory * is easy. But if this ever changes, e.g., when more and more * statistics are added, this may not scale.</p> */ - private Set<ReportedHidServStats> reportedHidServStats = - new HashSet<ReportedHidServStats>(); + private Set<ReportedHidServStats> reportedHidServStats = new HashSet<>();
/** Instructs the descriptor reader to parse descriptor files, and * handles the resulting parsed descriptors if they are either @@ -297,14 +294,12 @@ public class Parser { * directories, in reverse order, so that we can later determine the * fingerprint distance between a directory and the directory * preceding it by three positions in the descriptor ring. */ - SortedSet<String> hsDirs = new TreeSet<String>( - Collections.reverseOrder()); + SortedSet<String> hsDirs = new TreeSet<>(Collections.reverseOrder());
/* Prepare for computing the weights of all relays with the Fast flag * for being selected in the middle position. */ double totalWeightsRendezvousPoint = 0.0; - SortedMap<String, Double> weightsRendezvousPoint = - new TreeMap<String, Double>(); + SortedMap<String, Double> weightsRendezvousPoint = new TreeMap<>();
/* Go through all status entries contained in the consensus. */ for (Map.Entry<String, NetworkStatusEntry> e @@ -343,8 +338,7 @@ public class Parser { /* Store all computed network fractions based on this consensus in a * set, which will then be written to disk in a single store * operation. */ - Set<ComputedNetworkFractions> computedNetworkFractions = - new HashSet<ComputedNetworkFractions>(); + Set<ComputedNetworkFractions> computedNetworkFractions = new HashSet<>();
/* Remove all previously added directory fingerprints and re-add them * twice, once with a leading "0" and once with a leading "1". The @@ -352,7 +346,7 @@ public class Parser { * the previous one, even if that would mean traversing the ring * start. For example, the fingerprint preceding "1""00..0000" with * the first "1" being added here could be "0""FF..FFFF". */ - SortedSet<String> hsDirsCopy = new TreeSet<String>(hsDirs); + SortedSet<String> hsDirsCopy = new TreeSet<>(hsDirs); hsDirs.clear(); for (String fingerprint : hsDirsCopy) { hsDirs.add("0" + fingerprint); diff --git a/modules/hidserv/src/org/torproject/metrics/hidserv/Simulate.java b/modules/hidserv/src/org/torproject/metrics/hidserv/Simulate.java index ab6389d..207b4aa 100644 --- a/modules/hidserv/src/org/torproject/metrics/hidserv/Simulate.java +++ b/modules/hidserv/src/org/torproject/metrics/hidserv/Simulate.java @@ -130,14 +130,13 @@ public class Simulate { double[] fractions = new double[] { 0.01, 0.02, 0.03, 0.04, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99 }; for (double fraction : fractions) { - SortedSet<Integer> nonReportingRelays = new TreeSet<Integer>(); + SortedSet<Integer> nonReportingRelays = new TreeSet<>(); for (int j = 0; j < numberRendPoints; j++) { nonReportingRelays.add(j); } - List<Integer> shuffledRelays = new ArrayList<Integer>( - nonReportingRelays); + List<Integer> shuffledRelays = new ArrayList<>(nonReportingRelays); Collections.shuffle(shuffledRelays); - SortedSet<Integer> reportingRelays = new TreeSet<Integer>(); + SortedSet<Integer> reportingRelays = new TreeSet<>(); for (int j = 0; j < (int) ((double) numberRendPoints * fraction); j++) { reportingRelays.add(shuffledRelays.get(j)); @@ -146,7 +145,7 @@ public class Simulate { List<double[]> singleRelayExtrapolations; double totalReportingProbability; do { - singleRelayExtrapolations = new ArrayList<double[]>(); + singleRelayExtrapolations = new ArrayList<>(); totalReportingProbability = 0.0; for (int reportingRelay : reportingRelays) { double probability = probRendPoint[reportingRelay]; @@ -160,12 +159,12 @@ public class Simulate { totalReportingProbability += probability; } if (totalReportingProbability < fraction - 0.001) { - int addRelay = new ArrayList<Integer>(nonReportingRelays).get( + int addRelay = new ArrayList<>(nonReportingRelays).get( rnd.nextInt(nonReportingRelays.size())); nonReportingRelays.remove(addRelay); reportingRelays.add(addRelay); } else if (totalReportingProbability > fraction + 0.001) { - int removeRelay = new ArrayList<Integer>(reportingRelays).get( + int removeRelay = new ArrayList<>(reportingRelays).get( rnd.nextInt(reportingRelays.size())); reportingRelays.remove(removeRelay); nonReportingRelays.add(removeRelay); @@ -208,20 +207,19 @@ public class Simulate {
/* Generate 3000 HSDirs with "fingerprints" between 0.0 and 1.0. */ final int numberHsDirs = 3000; - SortedSet<Double> hsDirFingerprints = new TreeSet<Double>(); + SortedSet<Double> hsDirFingerprints = new TreeSet<>(); for (int i = 0; i < numberHsDirs; i++) { hsDirFingerprints.add(rnd.nextDouble()); }
/* Compute fractions of observed descriptor space. */ SortedSet<Double> ring = - new TreeSet<Double>(Collections.reverseOrder()); + new TreeSet<>(Collections.reverseOrder()); for (double fingerprint : hsDirFingerprints) { ring.add(fingerprint); ring.add(fingerprint - 1.0); } - SortedMap<Double, Double> hsDirFractions = - new TreeMap<Double, Double>(); + SortedMap<Double, Double> hsDirFractions = new TreeMap<>(); for (double fingerprint : hsDirFingerprints) { double start = fingerprint; int positionsToGo = 3; @@ -238,8 +236,7 @@ public class Simulate { final int numberOnions = 40000; final int replicas = 4; final int storeOnDirs = 3; - SortedMap<Double, SortedSet<Integer>> storedDescs = - new TreeMap<Double, SortedSet<Integer>>(); + SortedMap<Double, SortedSet<Integer>> storedDescs = new TreeMap<>(); for (double fingerprint : hsDirFingerprints) { storedDescs.put(fingerprint, new TreeSet<Integer>()); } @@ -268,9 +265,8 @@ public class Simulate { * to remove noise again. */ final long binSize = 8L; final double b = 8.0 / 0.3; - SortedMap<Double, Long> reportedOnions = new TreeMap<Double, Long>(); - SortedMap<Double, Long> removedNoiseOnions = - new TreeMap<Double, Long>(); + SortedMap<Double, Long> reportedOnions = new TreeMap<>(); + SortedMap<Double, Long> removedNoiseOnions = new TreeMap<>(); for (Map.Entry<Double, SortedSet<Integer>> e : storedDescs.entrySet()) { double fingerprint = e.getKey(); @@ -295,11 +291,11 @@ public class Simulate { 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.99 }; for (double fraction : fractions) { SortedSet<Double> nonReportingRelays = - new TreeSet<Double>(hsDirFractions.keySet()); - List<Double> shuffledRelays = new ArrayList<Double>( + new TreeSet<>(hsDirFractions.keySet()); + List<Double> shuffledRelays = new ArrayList<>( nonReportingRelays); Collections.shuffle(shuffledRelays); - SortedSet<Double> reportingRelays = new TreeSet<Double>(); + SortedSet<Double> reportingRelays = new TreeSet<>(); for (int j = 0; j < (int) ((double) hsDirFractions.size() * fraction); j++) { reportingRelays.add(shuffledRelays.get(j)); @@ -308,7 +304,7 @@ public class Simulate { List<double[]> singleRelayExtrapolations; double totalReportingProbability; do { - singleRelayExtrapolations = new ArrayList<double[]>(); + singleRelayExtrapolations = new ArrayList<>(); totalReportingProbability = 0.0; for (double reportingRelay : reportingRelays) { double probability = hsDirFractions.get(reportingRelay) / 3.0; @@ -322,13 +318,13 @@ public class Simulate { } if (totalReportingProbability < fraction - 0.001) { double addRelay = - new ArrayList<Double>(nonReportingRelays).get( + new ArrayList<>(nonReportingRelays).get( rnd.nextInt(nonReportingRelays.size())); nonReportingRelays.remove(addRelay); reportingRelays.add(addRelay); } else if (totalReportingProbability > fraction + 0.001) { double removeRelay = - new ArrayList<Double>(reportingRelays).get( + new ArrayList<>(reportingRelays).get( rnd.nextInt(reportingRelays.size())); reportingRelays.remove(removeRelay); nonReportingRelays.add(removeRelay); diff --git a/modules/legacy/src/org/torproject/ernie/cron/Configuration.java b/modules/legacy/src/org/torproject/ernie/cron/Configuration.java index d0e0d20..e0d753f 100644 --- a/modules/legacy/src/org/torproject/ernie/cron/Configuration.java +++ b/modules/legacy/src/org/torproject/ernie/cron/Configuration.java @@ -23,8 +23,7 @@ public class Configuration {
private boolean importDirectoryArchives = false;
- private List<String> directoryArchivesDirectories = - new ArrayList<String>(); + private List<String> directoryArchivesDirectories = new ArrayList<>();
private boolean keepDirectoryArchiveImportHistory = false;
diff --git a/modules/legacy/src/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java b/modules/legacy/src/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java index aa1749e..97a330e 100644 --- a/modules/legacy/src/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java +++ b/modules/legacy/src/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java @@ -176,7 +176,7 @@ public final class RelayDescriptorDatabaseImporter { * Set of fingerprints that we imported for the valid-after time in * <code>lastCheckedStatusEntries</code>. */ - private Set<String> insertedStatusEntries = new HashSet<String>(); + private Set<String> insertedStatusEntries = new HashSet<>();
private boolean importIntoDatabase;
@@ -242,7 +242,7 @@ public final class RelayDescriptorDatabaseImporter { + "(validafter) VALUES (?)"); this.psU = conn.prepareStatement("INSERT INTO scheduled_updates " + "(date) VALUES (?)"); - this.scheduledUpdates = new HashSet<Long>(); + this.scheduledUpdates = new HashSet<>(); this.importIntoDatabase = true; } catch (SQLException e) { this.logger.log(Level.WARNING, "Could not connect to database or " @@ -576,7 +576,7 @@ public final class RelayDescriptorDatabaseImporter {
/* Split history lines by date and rewrite them so that the date * comes first. */ - SortedSet<String> historyLinesByDate = new TreeSet<String>(); + SortedSet<String> historyLinesByDate = new TreeSet<>(); for (String bandwidthHistoryString : bandwidthHistoryStrings) { String[] parts = bandwidthHistoryString.split(" "); if (parts.length != 6) { @@ -641,7 +641,7 @@ public final class RelayDescriptorDatabaseImporter { } long currentIntervalEnd = intervalEnd; StringBuilder sb = new StringBuilder(); - SortedSet<String> newHistoryLines = new TreeSet<String>(); + SortedSet<String> newHistoryLines = new TreeSet<>(); try { for (int i = values.length - 1; i >= -1; i--) { if (i == -1 || currentIntervalEnd < dateStart) { @@ -898,7 +898,7 @@ public final class RelayDescriptorDatabaseImporter { }
private void addExtraInfoDescriptor(ExtraInfoDescriptor descriptor) { - List<String> bandwidthHistoryLines = new ArrayList<String>(); + List<String> bandwidthHistoryLines = new ArrayList<>(); if (descriptor.getWriteHistory() != null) { bandwidthHistoryLines.add(descriptor.getWriteHistory().getLine()); } diff --git a/modules/legacy/src/org/torproject/ernie/cron/network/ConsensusStatsFileHandler.java b/modules/legacy/src/org/torproject/ernie/cron/network/ConsensusStatsFileHandler.java index 9c0c01e..aa9469e 100644 --- a/modules/legacy/src/org/torproject/ernie/cron/network/ConsensusStatsFileHandler.java +++ b/modules/legacy/src/org/torproject/ernie/cron/network/ConsensusStatsFileHandler.java @@ -102,8 +102,8 @@ public class ConsensusStatsFileHandler {
/* Initialize local data structures to hold intermediate and final * results. */ - this.bridgesPerDay = new TreeMap<String, String>(); - this.bridgesRaw = new TreeMap<String, String>(); + this.bridgesPerDay = new TreeMap<>(); + this.bridgesRaw = new TreeMap<>();
/* Initialize file names for intermediate and final results files. */ this.bridgeConsensusStatsRawFile = new File( @@ -251,8 +251,7 @@ public class ConsensusStatsFileHandler {
/* Go through raw observations and put everything into nested maps by day * and bridge authority. */ - Map<String, Map<String, int[]>> bridgesPerDayAndAuthority = - new HashMap<String, Map<String, int[]>>(); + Map<String, Map<String, int[]>> bridgesPerDayAndAuthority = new HashMap<>(); for (String bridgesRawLine : this.bridgesRaw.values()) { String date = bridgesRawLine.substring(0, 10); if (!bridgesPerDayAndAuthority.containsKey(date)) { @@ -322,8 +321,8 @@ public class ConsensusStatsFileHandler { /* Add average number of bridges per day to the database. */ if (connectionUrl != null) { try { - Map<String, String> insertRows = new HashMap<String, String>(); - Map<String, String> updateRows = new HashMap<String, String>(); + Map<String, String> insertRows = new HashMap<>(); + Map<String, String> updateRows = new HashMap<>(); insertRows.putAll(this.bridgesPerDay); Connection conn = DriverManager.getConnection(connectionUrl); conn.setAutoCommit(false); diff --git a/modules/legacy/src/org/torproject/ernie/cron/performance/TorperfProcessor.java b/modules/legacy/src/org/torproject/ernie/cron/performance/TorperfProcessor.java index b3bb2e3..2883299 100644 --- a/modules/legacy/src/org/torproject/ernie/cron/performance/TorperfProcessor.java +++ b/modules/legacy/src/org/torproject/ernie/cron/performance/TorperfProcessor.java @@ -40,8 +40,8 @@ public class TorperfProcessor { Logger logger = Logger.getLogger(TorperfProcessor.class.getName()); File rawFile = new File(statsDirectory, "torperf-raw"); File statsFile = new File(statsDirectory, "torperf.csv"); - SortedMap<String, String> rawObs = new TreeMap<String, String>(); - SortedMap<String, String> stats = new TreeMap<String, String>(); + SortedMap<String, String> rawObs = new TreeMap<>(); + SortedMap<String, String> stats = new TreeMap<>(); int addedRawObs = 0; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss"); @@ -144,12 +144,10 @@ public class TorperfProcessor { String tempSourceDate = null; Iterator<Map.Entry<String, String>> it = rawObs.entrySet().iterator(); - List<Long> dlTimes = new ArrayList<Long>(); + List<Long> dlTimes = new ArrayList<>(); boolean haveWrittenFinalLine = false; - SortedMap<String, List<Long>> dlTimesAllSources = - new TreeMap<String, List<Long>>(); - SortedMap<String, long[]> statusesAllSources = - new TreeMap<String, long[]>(); + SortedMap<String, List<Long>> dlTimesAllSources = new TreeMap<>(); + SortedMap<String, long[]> statusesAllSources = new TreeMap<>(); long failures = 0; long timeouts = 0; long requests = 0; @@ -196,7 +194,7 @@ public class TorperfProcessor { statusesAllSources.put(allDateSizeSource, status); } } - dlTimes = new ArrayList<Long>(); + dlTimes = new ArrayList<>(); failures = timeouts = requests = 0; if (next == null) { haveWrittenFinalLine = true; diff --git a/modules/webstats/src/main/java/org/torproject/metrics/webstats/Main.java b/modules/webstats/src/main/java/org/torproject/metrics/webstats/Main.java index 4c02a0f..7ba08d7 100644 --- a/modules/webstats/src/main/java/org/torproject/metrics/webstats/Main.java +++ b/modules/webstats/src/main/java/org/torproject/metrics/webstats/Main.java @@ -391,7 +391,7 @@ public class Main { static void writeStatistics(Path webstatsPath, SortedSet<String> statistics) throws IOException { webstatsPath.toFile().getParentFile().mkdirs(); - List<String> lines = new ArrayList<String>(); + List<String> lines = new ArrayList<>(); lines.add(ALL_COLUMNS); lines.addAll(statistics); log.info("Writing {} lines to {}.", lines.size(), diff --git a/website/build.xml b/website/build.xml index c3aca68..6204afe 100644 --- a/website/build.xml +++ b/website/build.xml @@ -7,8 +7,8 @@ <mkdir dir="classes"/> <javac destdir="classes" srcdir="src" - source="1.5" - target="1.5" + source="1.7" + target="1.7" debug="true" deprecation="true" optimize="false" diff --git a/website/src/org/torproject/metrics/web/AnyServlet.java b/website/src/org/torproject/metrics/web/AnyServlet.java index 696a3be..3f2c073 100644 --- a/website/src/org/torproject/metrics/web/AnyServlet.java +++ b/website/src/org/torproject/metrics/web/AnyServlet.java @@ -14,7 +14,7 @@ public abstract class AnyServlet extends HttpServlet {
@Override public void init() throws ServletException { - List<String[]> categories = new ArrayList<String[]>(); + List<String[]> categories = new ArrayList<>(); for (Category category : ContentProvider.getInstance().getCategoriesList()) { categories.add(new String[] { diff --git a/website/src/org/torproject/metrics/web/ContentProvider.java b/website/src/org/torproject/metrics/web/ContentProvider.java index 7dd9c46..f31c3d0 100644 --- a/website/src/org/torproject/metrics/web/ContentProvider.java +++ b/website/src/org/torproject/metrics/web/ContentProvider.java @@ -39,15 +39,15 @@ public class ContentProvider { }
public List<Metric> getMetricsList() { - return new ArrayList<Metric>(this.metricsList); + return new ArrayList<>(this.metricsList); }
public List<Category> getCategoriesList() { - return new ArrayList<Category>(this.categoriesList); + return new ArrayList<>(this.categoriesList); }
public List<News> getNewsList() { - return new ArrayList<News>(this.newsList); + return new ArrayList<>(this.newsList); } }
diff --git a/website/src/org/torproject/metrics/web/GraphServlet.java b/website/src/org/torproject/metrics/web/GraphServlet.java index cc5edf1..0503195 100644 --- a/website/src/org/torproject/metrics/web/GraphServlet.java +++ b/website/src/org/torproject/metrics/web/GraphServlet.java @@ -25,8 +25,7 @@ import javax.servlet.http.HttpServletResponse; @SuppressWarnings("serial") public class GraphServlet extends MetricServlet {
- private Map<String, String[][]> defaultParameters = - new HashMap<String, String[][]>(); + private Map<String, String[][]> defaultParameters = new HashMap<>();
@Override public void init() throws ServletException { @@ -141,7 +140,7 @@ public class GraphServlet extends MetricServlet { Category category = this.categoriesById.get(requestedId); request.setAttribute("categoryHeader", category.getHeader()); request.setAttribute("categoryDescription", category.getDescription()); - List<String[]> categoryTabs = new ArrayList<String[]>(); + List<String[]> categoryTabs = new ArrayList<>(); for (String metricId : category.getMetrics()) { categoryTabs.add(new String[] { this.titles.get(metricId), metricId }); } @@ -190,7 +189,7 @@ public class GraphServlet extends MetricServlet { Set<String> checked = null; if (checkedParameters != null && checkedParameters.containsKey(parameter)) { - checked = new HashSet<String>(Arrays.asList( + checked = new HashSet<>(Arrays.asList( checkedParameters.get(parameter))); } String checkedOrSelected = parameter.equals("country") diff --git a/website/src/org/torproject/metrics/web/LinkServlet.java b/website/src/org/torproject/metrics/web/LinkServlet.java index 84b5da9..2319660 100644 --- a/website/src/org/torproject/metrics/web/LinkServlet.java +++ b/website/src/org/torproject/metrics/web/LinkServlet.java @@ -42,7 +42,7 @@ public class LinkServlet extends MetricServlet { Category category = this.categoriesById.get(requestedId); request.setAttribute("categoryHeader", category.getHeader()); request.setAttribute("categoryDescription", category.getDescription()); - List<String[]> categoryTabs = new ArrayList<String[]>(); + List<String[]> categoryTabs = new ArrayList<>(); for (String metricId : category.getMetrics()) { categoryTabs.add(new String[] { this.titles.get(metricId), metricId }); } diff --git a/website/src/org/torproject/metrics/web/MetricServlet.java b/website/src/org/torproject/metrics/web/MetricServlet.java index d2f2a7f..02dcd53 100644 --- a/website/src/org/torproject/metrics/web/MetricServlet.java +++ b/website/src/org/torproject/metrics/web/MetricServlet.java @@ -18,34 +18,27 @@ public abstract class MetricServlet extends AnyServlet {
protected List<Metric> metrics;
- protected Map<String, Set<String>> idsByType = - new HashMap<String, Set<String>>(); + protected Map<String, Set<String>> idsByType = new HashMap<>();
- protected Map<String, String> descriptions = - new HashMap<String, String>(); + protected Map<String, String> descriptions = new HashMap<>();
- protected Map<String, String> titles = new HashMap<String, String>(); + protected Map<String, String> titles = new HashMap<>();
- protected Map<String, List<String>> parameters = - new HashMap<String, List<String>>(); + protected Map<String, List<String>> parameters = new HashMap<>();
- protected Map<String, String[]> tableHeaders = - new HashMap<String, String[]>(); + protected Map<String, String[]> tableHeaders = new HashMap<>();
- protected Map<String, String[]> tableCellFormats = - new HashMap<String, String[]>(); + protected Map<String, String[]> tableCellFormats = new HashMap<>();
- protected Map<String, String[]> data = - new HashMap<String, String[]>(); + protected Map<String, String[]> data = new HashMap<>();
- protected Map<String, Category> categoriesById = - new HashMap<String, Category>(); + protected Map<String, Category> categoriesById = new HashMap<>();
@Override public void init() throws ServletException { super.init(); this.metrics = ContentProvider.getInstance().getMetricsList(); - Map<String, String> allTypesAndTitles = new HashMap<String, String>(); + Map<String, String> allTypesAndTitles = new HashMap<>(); for (Metric metric : this.metrics) { String id = metric.getId(); String title = metric.getTitle(); diff --git a/website/src/org/torproject/metrics/web/NewsServlet.java b/website/src/org/torproject/metrics/web/NewsServlet.java index cb1b93b..3df80d0 100644 --- a/website/src/org/torproject/metrics/web/NewsServlet.java +++ b/website/src/org/torproject/metrics/web/NewsServlet.java @@ -33,7 +33,7 @@ public class NewsServlet extends AnyServlet { @Override public void init() throws ServletException { super.init(); - List<News> sortedNews = new ArrayList<News>(); + List<News> sortedNews = new ArrayList<>(); for (News news : ContentProvider.getInstance().getNewsList()) { if (news.getStart() != null) { sortedNews.add(news); @@ -45,7 +45,7 @@ public class NewsServlet extends AnyServlet { } }); this.sortedNews = sortedNews; - SortedMap<String, String> countries = new TreeMap<String, String>(); + SortedMap<String, String> countries = new TreeMap<>(); for (String[] country : Countries.getInstance().getCountryList()) { countries.put(country[0], country[1]); } @@ -57,7 +57,7 @@ public class NewsServlet extends AnyServlet { HttpServletResponse response) throws IOException, ServletException {
/* Create categories based on current system time. */ - Map<String, String[]> cutOffDates = new LinkedHashMap<String, String[]>(); + Map<String, String[]> cutOffDates = new LinkedHashMap<>(); Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.US); cal.set(Calendar.DAY_OF_WEEK, 1); cutOffDates.put(String.format("%tF", cal), @@ -81,8 +81,7 @@ public class NewsServlet extends AnyServlet { && yearStart.compareTo(this.sortedNews.get(0).getStart()) > 0);
/* Sort news into categories. */ - Map<String[], List<String[]>> newsByCategory = - new LinkedHashMap<String[], List<String[]>>(); + Map<String[], List<String[]>> newsByCategory = new LinkedHashMap<>(); for (String[] category : cutOffDates.values()) { newsByCategory.put(category, new ArrayList<String[]>()); } diff --git a/website/src/org/torproject/metrics/web/TableServlet.java b/website/src/org/torproject/metrics/web/TableServlet.java index 4e20704..d8ffbb1 100644 --- a/website/src/org/torproject/metrics/web/TableServlet.java +++ b/website/src/org/torproject/metrics/web/TableServlet.java @@ -55,7 +55,7 @@ public class TableServlet extends MetricServlet { Category category = this.categoriesById.get(requestedId); request.setAttribute("categoryHeader", category.getHeader()); request.setAttribute("categoryDescription", category.getDescription()); - List<String[]> categoryTabs = new ArrayList<String[]>(); + List<String[]> categoryTabs = new ArrayList<>(); for (String metricId : category.getMetrics()) { categoryTabs.add(new String[] { this.titles.get(metricId), metricId }); } @@ -92,11 +92,10 @@ public class TableServlet extends MetricServlet { } List<Map<String, String>> tableData = objectGenerator .generateTable(requestedId, request.getParameterMap(), true); - List<List<String>> formattedTableData = - new ArrayList<List<String>>(); + List<List<String>> formattedTableData = new ArrayList<>(); String[] contents = this.tableCellFormats.get(requestedId); for (Map<String, String> row : tableData) { - List<String> formattedRow = new ArrayList<String>(); + List<String> formattedRow = new ArrayList<>(); StrSubstitutor sub = new StrSubstitutor(row); for (String con : contents) { formattedRow.add(sub.replace(con)); diff --git a/website/src/org/torproject/metrics/web/graphs/BubblesServlet.java b/website/src/org/torproject/metrics/web/graphs/BubblesServlet.java index 8f5749a..0348924 100644 --- a/website/src/org/torproject/metrics/web/graphs/BubblesServlet.java +++ b/website/src/org/torproject/metrics/web/graphs/BubblesServlet.java @@ -40,7 +40,7 @@ public class BubblesServlet extends MetricServlet { Category category = this.categoriesById.get(requestedId); request.setAttribute("categoryHeader", category.getHeader()); request.setAttribute("categoryDescription", category.getDescription()); - List<String[]> categoryTabs = new ArrayList<String[]>(); + List<String[]> categoryTabs = new ArrayList<>(); for (String metricId : category.getMetrics()) { categoryTabs.add(new String[] { this.titles.get(metricId), metricId }); } diff --git a/website/src/org/torproject/metrics/web/graphs/Countries.java b/website/src/org/torproject/metrics/web/graphs/Countries.java index 9355641..c10af45 100644 --- a/website/src/org/torproject/metrics/web/graphs/Countries.java +++ b/website/src/org/torproject/metrics/web/graphs/Countries.java @@ -19,7 +19,7 @@ public class Countries { private List<String[]> knownCountries;
private Countries() { - this.knownCountries = new ArrayList<String[]>(); + this.knownCountries = new ArrayList<>(); this.knownCountries.add("af;Afghanistan".split(";")); this.knownCountries.add("ax;Aland Islands".split(";")); this.knownCountries.add("al;Albania".split(";")); diff --git a/website/src/org/torproject/metrics/web/graphs/GraphParameterChecker.java b/website/src/org/torproject/metrics/web/graphs/GraphParameterChecker.java index 580e914..0b39adb 100644 --- a/website/src/org/torproject/metrics/web/graphs/GraphParameterChecker.java +++ b/website/src/org/torproject/metrics/web/graphs/GraphParameterChecker.java @@ -49,13 +49,13 @@ public class GraphParameterChecker { public GraphParameterChecker() { this.dateFormat = new SimpleDateFormat("yyyy-MM-dd"); this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - this.availableGraphs = new HashMap<String, String[]>(); + this.availableGraphs = new HashMap<>(); for (Metric metric : ContentProvider.getInstance().getMetricsList()) { if ("Graph".equals(metric.getType())) { this.availableGraphs.put(metric.getId(), metric.getParameters()); } } - this.knownParameterValues = new HashMap<String, String>(); + this.knownParameterValues = new HashMap<>(); this.knownParameterValues.put("flag", "Running,Exit,Guard,Fast,Stable,HSDir"); StringBuilder sb = new StringBuilder("all"); @@ -92,10 +92,9 @@ public class GraphParameterChecker {
/* Find out which other parameters are supported by this graph type * and parse them if they are given. */ - Set<String> supportedGraphParameters = new HashSet<String>( + Set<String> supportedGraphParameters = new HashSet<>( Arrays.asList(this.availableGraphs.get(graphType))); - Map<String, String[]> recognizedGraphParameters = - new HashMap<String, String[]>(); + Map<String, String[]> recognizedGraphParameters = new HashMap<>();
/* Parse start and end dates if supported by the graph type. If no end * date is provided, set it to today. If no start date is provided, diff --git a/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java b/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java index acdb146..aa6ab4f 100644 --- a/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java +++ b/website/src/org/torproject/metrics/web/graphs/RObjectGenerator.java @@ -57,8 +57,8 @@ public class RObjectGenerator implements ServletContextListener { this.cachedGraphsDirectory = servletContext.getInitParameter( "cachedGraphsDir");
- this.availableGraphs = new LinkedHashMap<String, Metric>(); - this.availableTables = new LinkedHashMap<String, Metric>(); + this.availableGraphs = new LinkedHashMap<>(); + this.availableTables = new LinkedHashMap<>(); for (Metric metric : ContentProvider.getInstance().getMetricsList()) { String type = metric.getType(); String id = metric.getId(); @@ -216,19 +216,18 @@ public class RObjectGenerator implements ServletContextListener { /* Write the table content to a map. */ List<Map<String, String>> result = null; try { - result = new ArrayList<Map<String, String>>(); + result = new ArrayList<>(); BufferedReader br = new BufferedReader(new InputStreamReader( new ByteArrayInputStream(tableBytes))); String line = br.readLine(); if (line != null) { - List<String> headers = new ArrayList<String>(Arrays.asList( - line.split(","))); + List<String> headers = new ArrayList<>(Arrays.asList(line.split(","))); while ((line = br.readLine()) != null) { String[] parts = line.split(","); if (headers.size() != parts.length) { return null; } - Map<String, String> row = new HashMap<String, String>(); + Map<String, String> row = new HashMap<>(); for (int i = 0; i < headers.size(); i++) { row.put(headers.get(i), parts[i]); } @@ -273,7 +272,7 @@ public class RObjectGenerator implements ServletContextListener { }
private Map<String, RObjectGeneratorWorker> objectGeneratorThreads = - new HashMap<String, RObjectGeneratorWorker>(); + new HashMap<>();
private class RObjectGeneratorWorker extends Thread {
diff --git a/website/src/org/torproject/metrics/web/graphs/TableParameterChecker.java b/website/src/org/torproject/metrics/web/graphs/TableParameterChecker.java index fea04c8..eb13531 100644 --- a/website/src/org/torproject/metrics/web/graphs/TableParameterChecker.java +++ b/website/src/org/torproject/metrics/web/graphs/TableParameterChecker.java @@ -46,7 +46,7 @@ public class TableParameterChecker { this.dateFormat = new SimpleDateFormat("yyyy-MM-dd"); this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- this.availableTables = new HashMap<String, String[]>(); + this.availableTables = new HashMap<>(); for (Metric metric : ContentProvider.getInstance().getMetricsList()) { if ("Table".equals(metric.getType())) { this.availableTables.put(metric.getId(), metric.getParameters()); @@ -70,10 +70,9 @@ public class TableParameterChecker {
/* Find out which other parameters are supported by this table type * and parse them if they are given. */ - Set<String> supportedTableParameters = new HashSet<String>( + Set<String> supportedTableParameters = new HashSet<>( Arrays.asList(this.availableTables.get(tableType))); - Map<String, String[]> recognizedTableParameters = - new HashMap<String, String[]>(); + Map<String, String[]> recognizedTableParameters = new HashMap<>();
/* Parse start and end dates if supported by the table type. If no end * date is provided, set it to today. If no start date is provided, diff --git a/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java b/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java index 42be8f6..eaea36c 100644 --- a/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java +++ b/website/src/org/torproject/metrics/web/research/ResearchStatsServlet.java @@ -29,7 +29,7 @@ public class ResearchStatsServlet extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); this.statsDir = new File(config.getInitParameter("statsDir")); - this.availableStatisticsFiles = new TreeSet<String>(); + this.availableStatisticsFiles = new TreeSet<>(); this.availableStatisticsFiles.add("servers"); this.availableStatisticsFiles.add("bandwidth"); this.availableStatisticsFiles.add("clients");
tor-commits@lists.torproject.org