[tor-commits] [metrics-web/master] Use switch-on-String in multiple places.
karsten at torproject.org
karsten at torproject.org
Fri Sep 1 20:01:58 UTC 2017
commit 59b315716133f5da7c11c724cb7be9b3f3c3464a
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Thu Aug 31 21:57:22 2017 +0200
Use switch-on-String in multiple places.
---
.../java/org/torproject/metrics/clients/Main.java | 42 ++++++----
.../cron/RelayDescriptorDatabaseImporter.java | 31 ++++---
.../org/torproject/metrics/web/GraphServlet.java | 95 ++++++++++------------
.../org/torproject/metrics/web/NewsServlet.java | 29 ++++---
.../metrics/web/graphs/RObjectGenerator.java | 13 ++-
5 files changed, 117 insertions(+), 93 deletions(-)
diff --git a/modules/clients/src/main/java/org/torproject/metrics/clients/Main.java b/modules/clients/src/main/java/org/torproject/metrics/clients/Main.java
index 384c621..ea198ff 100644
--- a/modules/clients/src/main/java/org/torproject/metrics/clients/Main.java
+++ b/modules/clients/src/main/java/org/torproject/metrics/clients/Main.java
@@ -296,12 +296,18 @@ public class Main {
* greater than 4, put in a default that we'll attribute all responses
* to. */
if (total == 0) {
- if (category.equals("country")) {
- frequenciesCopy.put("??", 4.0);
- } else if (category.equals("transport")) {
- frequenciesCopy.put("<OR>", 4.0);
- } else if (category.equals("version")) {
- frequenciesCopy.put("v4", 4.0);
+ switch (category) {
+ case "country":
+ frequenciesCopy.put("??", 4.0);
+ break;
+ case "transport":
+ frequenciesCopy.put("<OR>", 4.0);
+ break;
+ case "version":
+ frequenciesCopy.put("v4", 4.0);
+ break;
+ default:
+ /* Ignore any other categories. */
}
total = 4.0;
}
@@ -309,15 +315,21 @@ public class Main {
double intervalFraction = ((double) (toMillis - fromMillis))
/ ((double) dirreqStatsIntervalLengthMillis);
double val = resp * intervalFraction * e.getValue() / total;
- if (category.equals("country")) {
- writeOutputLine(fingerprint, "bridge", "responses", e.getKey(),
- "", "", fromMillis, toMillis, val, publishedMillis);
- } else if (category.equals("transport")) {
- writeOutputLine(fingerprint, "bridge", "responses", "",
- e.getKey(), "", fromMillis, toMillis, val, publishedMillis);
- } else if (category.equals("version")) {
- writeOutputLine(fingerprint, "bridge", "responses", "", "",
- e.getKey(), fromMillis, toMillis, val, publishedMillis);
+ switch (category) {
+ case "country":
+ writeOutputLine(fingerprint, "bridge", "responses", e.getKey(),
+ "", "", fromMillis, toMillis, val, publishedMillis);
+ break;
+ case "transport":
+ writeOutputLine(fingerprint, "bridge", "responses", "",
+ e.getKey(), "", fromMillis, toMillis, val, publishedMillis);
+ break;
+ case "version":
+ writeOutputLine(fingerprint, "bridge", "responses", "", "",
+ e.getKey(), fromMillis, toMillis, val, publishedMillis);
+ break;
+ default:
+ /* Ignore any other categories. */
}
}
}
diff --git a/modules/legacy/src/main/java/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java b/modules/legacy/src/main/java/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java
index f214f4c..a05c86c 100644
--- a/modules/legacy/src/main/java/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java
+++ b/modules/legacy/src/main/java/org/torproject/ernie/cron/RelayDescriptorDatabaseImporter.java
@@ -747,18 +747,25 @@ public final class RelayDescriptorDatabaseImporter {
int offset = (int) (lastIntervalTime / (15L * 60L * 1000L))
- longValues.length + 1;
String type = parts[2];
- if (type.equals("read-history")) {
- readArray = longValues;
- readOffset = offset;
- } else if (type.equals("write-history")) {
- writtenArray = longValues;
- writtenOffset = offset;
- } else if (type.equals("dirreq-read-history")) {
- dirreadArray = longValues;
- dirreadOffset = offset;
- } else if (type.equals("dirreq-write-history")) {
- dirwrittenArray = longValues;
- dirwrittenOffset = offset;
+ switch (type) {
+ case "read-history":
+ readArray = longValues;
+ readOffset = offset;
+ break;
+ case "write-history":
+ writtenArray = longValues;
+ writtenOffset = offset;
+ break;
+ case "dirreq-read-history":
+ dirreadArray = longValues;
+ dirreadOffset = offset;
+ break;
+ case "dirreq-write-history":
+ dirwrittenArray = longValues;
+ dirwrittenOffset = offset;
+ break;
+ default:
+ /* Ignore any other types. */
}
lastDate = currentDate;
}
diff --git a/website/src/main/java/org/torproject/metrics/web/GraphServlet.java b/website/src/main/java/org/torproject/metrics/web/GraphServlet.java
index 12652dc..b376be5 100644
--- a/website/src/main/java/org/torproject/metrics/web/GraphServlet.java
+++ b/website/src/main/java/org/torproject/metrics/web/GraphServlet.java
@@ -166,58 +166,53 @@ public class GraphServlet extends MetricServlet {
request.getParameterMap());
StringBuilder urlBuilder = new StringBuilder();
for (String parameter : this.parameters.get(requestedId)) {
- if (parameter.equals("start") || parameter.equals("end")) {
- String[] requestParameter;
- if (checkedParameters != null
- && checkedParameters.containsKey(parameter)) {
- requestParameter = checkedParameters.get(parameter);
- } else {
- requestParameter = new String[] {
- dateFormat.format(parameter.equals("start")
- ? defaultStartDate : defaultEndDate) };
- }
- urlBuilder.append(String.format("&%s=%s", parameter,
- requestParameter[0]));
- request.setAttribute(parameter, requestParameter);
- } else if (parameter.equals("p")
- || parameter.equals("n")
- || parameter.equals("flag")
- || parameter.equals("country")
- || parameter.equals("events")
- || parameter.equals("transport")
- || parameter.equals("version")
- || parameter.equals("source")
- || parameter.equals("server")
- || parameter.equals("filesize")) {
- String[][] defaultParameters =
- this.defaultParameters.get(parameter);
- String[][] requestParameters =
- new String[defaultParameters.length][];
- Set<String> checked = null;
- if (checkedParameters != null
- && checkedParameters.containsKey(parameter)) {
- checked = new HashSet<>(Arrays.asList(
- checkedParameters.get(parameter)));
- }
- String checkedOrSelected = parameter.equals("country")
- || parameter.equals("events") || parameter.equals("version")
- ? " selected" : " checked";
- for (int i = 0; i < defaultParameters.length; i++) {
- requestParameters[i] =
- new String[defaultParameters[i].length];
- System.arraycopy(defaultParameters[i], 0,
- requestParameters[i], 0, defaultParameters[i].length);
- if (checked != null) {
- if (checked.contains(requestParameters[i][0])) {
- requestParameters[i][1] = checkedOrSelected;
- urlBuilder.append(String.format("&%s=%s", parameter,
- requestParameters[i][0]));
- } else {
- requestParameters[i][1] = "";
+ switch (parameter) {
+ case "start":
+ case "end":
+ String[] requestParameter;
+ if (checkedParameters != null
+ && checkedParameters.containsKey(parameter)) {
+ requestParameter = checkedParameters.get(parameter);
+ } else {
+ requestParameter = new String[] {
+ dateFormat.format(parameter.equals("start")
+ ? defaultStartDate : defaultEndDate) };
+ }
+ urlBuilder.append(String.format("&%s=%s", parameter,
+ requestParameter[0]));
+ request.setAttribute(parameter, requestParameter);
+ break;
+ default:
+ String[][] defaultParameters =
+ this.defaultParameters.get(parameter);
+ String[][] requestParameters =
+ new String[defaultParameters.length][];
+ Set<String> checked = null;
+ if (checkedParameters != null
+ && checkedParameters.containsKey(parameter)) {
+ checked = new HashSet<>(Arrays.asList(
+ checkedParameters.get(parameter)));
+ }
+ String checkedOrSelected = parameter.equals("country")
+ || parameter.equals("events") || parameter.equals("version")
+ ? " selected" : " checked";
+ for (int i = 0; i < defaultParameters.length; i++) {
+ requestParameters[i] =
+ new String[defaultParameters[i].length];
+ System.arraycopy(defaultParameters[i], 0,
+ requestParameters[i], 0, defaultParameters[i].length);
+ if (checked != null) {
+ if (checked.contains(requestParameters[i][0])) {
+ requestParameters[i][1] = checkedOrSelected;
+ urlBuilder.append(String.format("&%s=%s", parameter,
+ requestParameters[i][0]));
+ } else {
+ requestParameters[i][1] = "";
+ }
}
}
- }
- request.setAttribute(parameter, requestParameters);
+ request.setAttribute(parameter, requestParameters);
+ break;
}
}
if (urlBuilder.length() > 5) {
diff --git a/website/src/main/java/org/torproject/metrics/web/NewsServlet.java b/website/src/main/java/org/torproject/metrics/web/NewsServlet.java
index 6dfaba7..1dfea4c 100644
--- a/website/src/main/java/org/torproject/metrics/web/NewsServlet.java
+++ b/website/src/main/java/org/torproject/metrics/web/NewsServlet.java
@@ -103,18 +103,23 @@ public class NewsServlet extends AnyServlet {
}
if (news.getProtocols() != null) {
for (String protocol : news.getProtocols()) {
- if (protocol.equals("relay")) {
- sb.append(" <span class=\"label label-success\">"
- + "Relays</span>");
- } else if (protocol.equals("bridge")) {
- sb.append(" <span class=\"label label-primary\">"
- + "Bridges</span>");
- } else if (protocol.equals("<OR>")) {
- sb.append(" <span class=\"label label-info\">"
- + "<OR></span>");
- } else {
- sb.append(" <span class=\"label label-info\">"
- + protocol + "</span>");
+ switch (protocol) {
+ case "relay":
+ sb.append(" <span class=\"label label-success\">"
+ + "Relays</span>");
+ break;
+ case "bridge":
+ sb.append(" <span class=\"label label-primary\">"
+ + "Bridges</span>");
+ break;
+ case "<OR>":
+ sb.append(" <span class=\"label label-info\">"
+ + "<OR></span>");
+ break;
+ default:
+ sb.append(" <span class=\"label label-info\">"
+ + protocol + "</span>");
+ break;
}
}
}
diff --git a/website/src/main/java/org/torproject/metrics/web/graphs/RObjectGenerator.java b/website/src/main/java/org/torproject/metrics/web/graphs/RObjectGenerator.java
index fa9e1d8..719a5c4 100644
--- a/website/src/main/java/org/torproject/metrics/web/graphs/RObjectGenerator.java
+++ b/website/src/main/java/org/torproject/metrics/web/graphs/RObjectGenerator.java
@@ -62,10 +62,15 @@ public class RObjectGenerator implements ServletContextListener {
for (Metric metric : ContentProvider.getInstance().getMetricsList()) {
String type = metric.getType();
String id = metric.getId();
- if ("Graph".equals(type)) {
- this.availableGraphs.put(id, metric);
- } else if ("Table".equals(type)) {
- this.availableTables.put(id, metric);
+ switch (type) {
+ case "Graph":
+ this.availableGraphs.put(id, metric);
+ break;
+ case "Table":
+ this.availableTables.put(id, metric);
+ break;
+ default:
+ /* Just skip any other types. */
}
}
More information about the tor-commits
mailing list