Fix warnings about missing cases in switch statements on enums For most of these, just add the missing cases above the default. For others that only do anything useful on one or two cases, rewrite with if-else-clauses. Change-Id: I57bb7a40a24efde197643e25646db0e50c2b5bde
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java index 1e7c1da..e839a9f 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
@@ -118,6 +118,7 @@ case JSON: doGetJson(req, res); break; + case DEFAULT: default: res.sendError(SC_BAD_REQUEST); break;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/CommitJsonData.java b/gitiles-servlet/src/main/java/com/google/gitiles/CommitJsonData.java index 1db047b..4b75ffd 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/CommitJsonData.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/CommitJsonData.java
@@ -144,6 +144,9 @@ case RENAME: d.score = de.getScore(); break; + case ADD: + case DELETE: + case MODIFY: default: break; }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesView.java b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesView.java index 2d674f8..057ebf4 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesView.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesView.java
@@ -169,26 +169,23 @@ } public Builder setRepositoryPrefix(String prefix) { - switch (type) { - case HOST_INDEX: - this.repositoryPrefix = - prefix != null ? Strings.emptyToNull(maybeTrimLeadingAndTrailingSlash(prefix)) : null; - return this; - default: - throw new IllegalStateException( - String.format("cannot set repository prefix on %s view", type)); + if (type == Type.HOST_INDEX) { + this.repositoryPrefix = prefix != null + ? Strings.emptyToNull(maybeTrimLeadingAndTrailingSlash(prefix)) + : null; + return this; } + throw new IllegalStateException( + String.format("cannot set repository prefix on %s view", type)); } public Builder setRepositoryName(String repositoryName) { - switch (type) { - case HOST_INDEX: - throw new IllegalStateException( - String.format("cannot set repository name on %s view", type)); - default: - this.repositoryName = checkNotNull(repositoryName); - return this; + if (type == Type.HOST_INDEX) { + throw new IllegalStateException( + String.format("cannot set repository name on %s view", type)); } + this.repositoryName = checkNotNull(repositoryName); + return this; } public String getRepositoryName() { @@ -202,6 +199,15 @@ case REFS: case DESCRIBE: throw new IllegalStateException(String.format("cannot set revision on %s view", type)); + case ARCHIVE: + case BLAME: + case DIFF: + case DOC: + case LOG: + case PATH: + case REVISION: + case ROOTED_DOC: + case SHOW: default: this.revision = checkNotNull(revision); return this; @@ -225,14 +231,9 @@ } public Builder setOldRevision(Revision revision) { - switch (type) { - case DIFF: - case LOG: - break; - default: - revision = firstNonNull(revision, Revision.NULL); - checkState(revision == Revision.NULL, "cannot set old revision on %s view", type); - break; + if (type != Type.DIFF && type != Type.LOG) { + revision = firstNonNull(revision, Revision.NULL); + checkState(revision == Revision.NULL, "cannot set old revision on %s view", type); } this.oldRevision = revision; return this; @@ -265,6 +266,9 @@ case DOC: case ROOTED_DOC: break; + case HOST_INDEX: + case REPOSITORY_INDEX: + case REVISION: default: checkState(path == null, "cannot set path on %s view", type); break; @@ -278,14 +282,10 @@ } public Builder setExtension(String extension) { - switch (type) { - default: - checkState(extension == null, "cannot set extension on %s view", type); - //$FALL-THROUGH$ - case ARCHIVE: - this.extension = extension; - break; + if (type != Type.ARCHIVE) { + checkState(extension == null, "cannot set extension on %s view", type); } + this.extension = extension; return this; } @@ -567,17 +567,14 @@ public String getRevisionRange() { if (oldRevision == Revision.NULL) { - switch (type) { - case LOG: - case DIFF: - // For types that require two revisions, NULL indicates the empty - // tree/commit. - return revision.getName() + "^!"; - default: - // For everything else NULL indicates it is not a range, just a single - // revision. - return null; + if (type == Type.LOG || type == Type.DIFF) { + // For types that require two revisions, NULL indicates the empty + // tree/commit. + return revision.getName() + "^!"; } + // For everything else NULL indicates it is not a range, just a single + // revision. + return null; } else if (type == Type.DIFF && isFirstParent(revision, oldRevision)) { return revision.getName() + "^!"; } else { @@ -842,6 +839,16 @@ case BLAME: copy = isLeaf ? blame() : path(); break; + case ARCHIVE: + case DESCRIBE: + case DOC: + case HOST_INDEX: + case PATH: + case REFS: + case REPOSITORY_INDEX: + case REVISION: + case ROOTED_DOC: + case SHOW: default: copy = path(); break;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java index c1f10e6..f0df112 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java
@@ -126,6 +126,7 @@ res.setStatus(HttpServletResponse.SC_OK); res.setContentType(format.get().getMimeType()); break; + case DEFAULT: default: res.sendError(SC_BAD_REQUEST); break;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java index 1cba00c..bd6219b 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java
@@ -186,6 +186,7 @@ case TREE: writeTreeText(req, res, wr); break; + case GITLINK: default: renderTextError(req, res, SC_NOT_FOUND, "Not a file"); break; @@ -253,21 +254,14 @@ try (RevWalk rw = new RevWalk(repo); WalkResult wr = WalkResult.forPath(rw, view, recursive)) { - if (wr == null) { + if (wr == null || wr.type != FileType.TREE) { res.setStatus(SC_NOT_FOUND); - return; - } - switch (wr.type) { - case TREE: - renderJson( - req, - res, - TreeJsonData.toJsonData(wr.id, wr.tw, includeSizes, recursive), - TreeJsonData.Tree.class); - break; - default: - res.setStatus(SC_NOT_FOUND); - break; + } else { + renderJson( + req, + res, + TreeJsonData.toJsonData(wr.id, wr.tw, includeSizes, recursive), + TreeJsonData.Tree.class); } } catch (LargeObjectException e) { res.setStatus(SC_INTERNAL_SERVER_ERROR);
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java index fee1507..3b754df 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
@@ -78,6 +78,7 @@ res.setContentType(format.get().getMimeType()); break; case TEXT: + case DEFAULT: default: res.sendError(SC_BAD_REQUEST); break;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/TreeSoyData.java b/gitiles-servlet/src/main/java/com/google/gitiles/TreeSoyData.java index ef3289a..f32e2cf 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/TreeSoyData.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/TreeSoyData.java
@@ -99,17 +99,15 @@ FileType type = FileType.forEntry(tw); String name = tw.getNameString(); - switch (view.getType()) { - case PATH: - urlBuilder.setPathPart(view.getPathPart() + "/" + name); - break; - case REVISION: - // Got here from a tag pointing at a tree. - urlBuilder.setPathPart(name); - break; - default: - throw new IllegalStateException( - String.format("Cannot render TreeSoyData from %s view", view.getType())); + GitilesView.Type viewType = view.getType(); + if (viewType == GitilesView.Type.PATH) { + urlBuilder.setPathPart(view.getPathPart() + "/" + name); + } else if (viewType == GitilesView.Type.REVISION) { + // Got here from a tag pointing at a tree. + urlBuilder.setPathPart(name); + } else { + throw new IllegalStateException( + String.format("Cannot render TreeSoyData from %s view", viewType)); } String url = urlBuilder.toUrl();