Switch to javax.servlet:3.1.0 Implement new required methods for Servlet 3.1 in test classes: Servlet 3.1 introduces several new abstract methods on interfaces or classes that existed in servlet 2.5. Provide a mimimal, throwing implementation that largely allows servlet 2.5-written classes to compile and run using servlet 3.1. PiperOrigin-RevId: 417877794 Change-Id: I9fe856fab678ede1b58dd7c0731bc5ed5927ed49
diff --git a/WORKSPACE b/WORKSPACE index 1fd87c1..6404298 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -105,12 +105,6 @@ ) maven_jar( - name = "servlet-api_2_5", - artifact = "org.eclipse.jetty.orbit:javax.servlet:2.5.0.v201103041518", - sha1 = "9c16011c06bc6fe5e9dba080fcb40ddb4b75dc85", -) - -maven_jar( name = "servlet-api", artifact = "javax.servlet:javax.servlet-api:3.1.0", sha1 = "3cd63d075497751784b2fa84be59432f4905bf7c",
diff --git a/java/com/google/gitiles/BUILD b/java/com/google/gitiles/BUILD index 8e79933..4b0850a 100644 --- a/java/com/google/gitiles/BUILD +++ b/java/com/google/gitiles/BUILD
@@ -30,7 +30,7 @@ java_library( name = "servlet-api", neverlink = 1, - exports = ["//lib:servlet-api_2_5"], + exports = ["//lib:servlet-api"], ) java_library(
diff --git a/javatests/com/google/gitiles/BUILD b/javatests/com/google/gitiles/BUILD index 5469beb..cfb3eae 100644 --- a/javatests/com/google/gitiles/BUILD +++ b/javatests/com/google/gitiles/BUILD
@@ -19,7 +19,7 @@ deps = DEPS + [ "//java/com/google/gitiles:servlet", "//lib:jsr305", - "//lib:servlet-api_2_5", + "//lib:servlet-api", "//lib/truth", "//lib:jgit-junit", "//lib/junit", @@ -40,7 +40,7 @@ deps = DEPS + [ "//java/com/google/gitiles:servlet", ":testutil", - "//lib:servlet-api_2_5", + "//lib:servlet-api", "//lib/truth", "//lib:jgit-junit", "//lib/junit",
diff --git a/javatests/com/google/gitiles/FakeHttpServletRequest.java b/javatests/com/google/gitiles/FakeHttpServletRequest.java index ba94c3e..14ddd59 100644 --- a/javatests/com/google/gitiles/FakeHttpServletRequest.java +++ b/javatests/com/google/gitiles/FakeHttpServletRequest.java
@@ -25,6 +25,7 @@ import com.google.common.collect.ListMultimap; import com.google.common.collect.Maps; import java.io.BufferedReader; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.security.Principal; @@ -34,11 +35,20 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import javax.servlet.AsyncContext; +import javax.servlet.DispatcherType; import javax.servlet.RequestDispatcher; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; import javax.servlet.ServletInputStream; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpUpgradeHandler; +import javax.servlet.http.Part; import org.eclipse.jgit.http.server.ServletUtils; import org.eclipse.jgit.internal.storage.dfs.DfsRepository; @@ -101,6 +111,11 @@ } @Override + public long getContentLengthLong() { + throw new UnsupportedOperationException(); + } + + @Override public String getContentType() { return null; } @@ -126,6 +141,41 @@ } @Override + public ServletContext getServletContext() { + throw new UnsupportedOperationException(); + } + + @Override + public AsyncContext startAsync() { + throw new UnsupportedOperationException(); + } + + @Override + public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isAsyncStarted() { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isAsyncSupported() { + throw new UnsupportedOperationException(); + } + + @Override + public AsyncContext getAsyncContext() { + throw new UnsupportedOperationException(); + } + + @Override + public DispatcherType getDispatcherType() { + throw new UnsupportedOperationException(); + } + + @Override public Locale getLocale() { return Locale.US; } @@ -353,6 +403,11 @@ } @Override + public String changeSessionId() { + throw new UnsupportedOperationException(); + } + + @Override public HttpSession getSession(boolean create) { throw new UnsupportedOperationException(); } @@ -379,6 +434,37 @@ } @Override + public boolean authenticate(HttpServletResponse response) throws IOException, ServletException { + throw new UnsupportedOperationException(); + } + + @Override + public void login(String username, String password) throws ServletException { + throw new UnsupportedOperationException(); + } + + @Override + public void logout() throws ServletException { + throw new UnsupportedOperationException(); + } + + @Override + public Collection<Part> getParts() throws IOException, ServletException { + throw new UnsupportedOperationException(); + } + + @Override + public Part getPart(String name) throws IOException, ServletException { + throw new UnsupportedOperationException(); + } + + @Override + public <T extends HttpUpgradeHandler> T upgrade(Class<T> httpUpgradeHandlerClass) + throws IOException, ServletException { + throw new UnsupportedOperationException(); + } + + @Override public boolean isRequestedSessionIdValid() { throw new UnsupportedOperationException(); }
diff --git a/javatests/com/google/gitiles/FakeHttpServletResponse.java b/javatests/com/google/gitiles/FakeHttpServletResponse.java index 2cf316d..ff20cea 100644 --- a/javatests/com/google/gitiles/FakeHttpServletResponse.java +++ b/javatests/com/google/gitiles/FakeHttpServletResponse.java
@@ -28,8 +28,10 @@ import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.nio.charset.Charset; +import java.util.Collection; import java.util.Locale; import javax.servlet.ServletOutputStream; +import javax.servlet.WriteListener; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; import org.eclipse.jgit.util.RawParseUtils; @@ -84,6 +86,16 @@ outputStream = new ServletOutputStream() { @Override + public boolean isReady() { + throw new UnsupportedOperationException(); + } + + @Override + public void setWriteListener(WriteListener listener) { + throw new UnsupportedOperationException(); + } + + @Override public void write(int c) throws IOException { osWriter.write(c); osWriter.flush(); @@ -134,6 +146,11 @@ } @Override + public void setContentLengthLong(long length) { + throw new UnsupportedOperationException(); + } + + @Override public void setContentType(String type) { headers.removeAll(HttpHeaders.CONTENT_TYPE); headers.put(HttpHeaders.CONTENT_TYPE, type); @@ -240,6 +257,7 @@ committed = true; } + @Override public synchronized int getStatus() { return status; } @@ -252,10 +270,21 @@ return RawParseUtils.decode(getActualBody()); } + @Override public String getHeader(String name) { return Iterables.getFirst(headers.get(checkNotNull(name)), null); } + @Override + public Collection<String> getHeaders(String name) { + throw new UnsupportedOperationException(); + } + + @Override + public Collection<String> getHeaderNames() { + throw new UnsupportedOperationException(); + } + private PrintWriter newPrintWriter() { return new PrintWriter(new OutputStreamWriter(actualBody, UTF_8)); }
diff --git a/lib/BUILD b/lib/BUILD index 0f9620e..a0dfa57 100644 --- a/lib/BUILD +++ b/lib/BUILD
@@ -17,7 +17,6 @@ "gfm-tables", "html-types", "jsr305", - "servlet-api_2_5", "servlet-api", "gson", "guava",
diff --git a/lib/jetty/BUILD b/lib/jetty/BUILD index 521fd22..3a35ef5 100644 --- a/lib/jetty/BUILD +++ b/lib/jetty/BUILD
@@ -8,7 +8,7 @@ name = "servlet", exports = [ ":security", - "//lib:servlet-api", # Different from the rest of gitiles-server. + "//lib:servlet-api", "@servlet//jar", ], )