| /* |
| * Copyright 2010 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.user.server; |
| |
| import java.io.IOException; |
| import java.io.PrintWriter; |
| |
| import javax.servlet.Servlet; |
| import javax.servlet.ServletConfig; |
| import javax.servlet.ServletException; |
| import javax.servlet.ServletRequest; |
| import javax.servlet.ServletResponse; |
| import javax.servlet.http.HttpServlet; |
| import javax.servlet.http.HttpServletRequest; |
| import javax.servlet.http.HttpServletResponse; |
| |
| /** |
| * Holds servlets which are bad in various ways, used by BadServletsTest, to |
| * make sure that JUnitShell keeps going after a bad servlet is specified. |
| */ |
| public class BadServlets { |
| |
| /** |
| * Test an abstract servlet. |
| */ |
| public static abstract class Abstract implements Servlet { |
| } |
| |
| /** |
| * Test a servlet that throws an exception in its constructor. |
| */ |
| public static class CtorException extends HttpServlet { |
| public CtorException() { |
| super(); |
| throw new RuntimeException("ctor failed"); |
| } |
| } |
| |
| /** |
| * Test a servlet that is just an interface. |
| */ |
| public interface Interface extends Servlet { |
| } |
| |
| /** |
| * Test a servlet with no default constructor. |
| */ |
| public static class NoDefaultCtor extends HttpServlet { |
| |
| public NoDefaultCtor(int bogus) { |
| super(); |
| } |
| } |
| |
| /** |
| * Test a servlet that is not an HttpServlet. |
| */ |
| public static class NotHttpServlet implements Servlet { |
| |
| public void destroy() { |
| } |
| |
| public ServletConfig getServletConfig() { |
| return null; |
| } |
| |
| public String getServletInfo() { |
| return null; |
| } |
| |
| public void init(ServletConfig config) throws ServletException { |
| } |
| |
| public void service(ServletRequest req, ServletResponse res) |
| throws ServletException, IOException { |
| } |
| } |
| |
| /** |
| * Ok servlet, to make sure the test setup is correct. |
| */ |
| public static class Ok extends HttpServlet { |
| @Override |
| protected void doGet(HttpServletRequest req, HttpServletResponse resp) |
| throws ServletException, IOException { |
| resp.setStatus(HttpServletResponse.SC_OK); |
| resp.setContentType("text/plain"); |
| PrintWriter writer = resp.getWriter(); |
| writer.print("ok"); |
| writer.flush(); |
| } |
| } |
| |
| /** |
| * Test a servlet that throws an exception in its static initializer. |
| */ |
| public static class StaticException extends HttpServlet { |
| static { |
| @SuppressWarnings("unused") |
| int divideByZero = 1 / 0; |
| } |
| } |
| } |