diff src/org/eclipse/jetty/continuation/ContinuationSupport.java @ 829:dfa742c663f9

remove ContinuationFilter and FauxContinuation
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 15 Sep 2016 18:16:25 -0600
parents 3428c60d7cfc
children
line wrap: on
line diff
--- a/src/org/eclipse/jetty/continuation/ContinuationSupport.java	Thu Sep 15 16:47:49 2016 -0600
+++ b/src/org/eclipse/jetty/continuation/ContinuationSupport.java	Thu Sep 15 18:16:25 2016 -0600
@@ -32,133 +32,23 @@
  */
 public class ContinuationSupport
 {
-    static final boolean __jetty6;
-    static final boolean __servlet3;
-    static final Class<?> __waitingContinuation;
-    static final Constructor<? extends Continuation> __newServlet3Continuation;
-    static final Constructor<? extends Continuation> __newJetty6Continuation;
-    static
-    {
-        boolean servlet3Support=false;
-        Constructor<? extends Continuation>s3cc=null;
-        try
-        {
-            boolean servlet3=ServletRequest.class.getMethod("startAsync")!=null;
-            if (servlet3)
-            {
-                Class<? extends Continuation> s3c = ContinuationSupport.class.getClassLoader().loadClass("org.eclipse.jetty.continuation.Servlet3Continuation").asSubclass(Continuation.class);
-                s3cc=s3c.getConstructor(ServletRequest.class);
-                servlet3Support=true;
-            }
-        }
-        catch (Exception e)
-        {}
-        finally
-        {
-            __servlet3=servlet3Support;
-            __newServlet3Continuation=s3cc;
-        }
-
-        boolean jetty6Support=false;
-        Constructor<? extends Continuation>j6cc=null;
-        try
-        {
-            Class<?> jetty6ContinuationClass = ContinuationSupport.class.getClassLoader().loadClass("org.mortbay.util.ajax.Continuation");
-            boolean jetty6=jetty6ContinuationClass!=null;
-            if (jetty6)
-            {
-                Class<? extends Continuation> j6c = ContinuationSupport.class.getClassLoader().loadClass("org.eclipse.jetty.continuation.Jetty6Continuation").asSubclass(Continuation.class);
-                j6cc=j6c.getConstructor(ServletRequest.class, jetty6ContinuationClass);
-                jetty6Support=true;
-            }
-        }
-        catch (Exception e)
-        {}
-        finally
-        {
-            __jetty6=jetty6Support;
-            __newJetty6Continuation=j6cc;
-        }
-
-        Class<?> waiting=null;
-        try
-        {
-            waiting=ContinuationSupport.class.getClassLoader().loadClass("org.mortbay.util.ajax.WaitingContinuation");
-        }
-        catch (Exception e)
-        {
-        }
-        finally
-        {
-            __waitingContinuation=waiting;
-        }
-    }
+	/* ------------------------------------------------------------ */
+	/**
+	 * Get a Continuation.  The type of the Continuation returned may
+	 * vary depending on the container in which the application is
+	 * deployed. It may be an implementation native to the container (eg
+	 * org.eclipse.jetty.server.AsyncContinuation) or one of the utility
+	 * implementations provided such as an internal <code>FauxContinuation</code>
+	 * or a real implementation like {@link org.eclipse.jetty.continuation.Servlet3Continuation}.
+	 * @param request The request
+	 * @return a Continuation instance
+	 */
+	public static Continuation getContinuation(ServletRequest request)
+	{
+		Continuation continuation = (Continuation) request.getAttribute(Continuation.ATTRIBUTE);
+		if (continuation!=null)
+			return continuation;
 
-    /* ------------------------------------------------------------ */
-    /**
-     * Get a Continuation.  The type of the Continuation returned may
-     * vary depending on the container in which the application is
-     * deployed. It may be an implementation native to the container (eg
-     * org.eclipse.jetty.server.AsyncContinuation) or one of the utility
-     * implementations provided such as an internal <code>FauxContinuation</code>
-     * or a real implementation like {@link org.eclipse.jetty.continuation.Servlet3Continuation}.
-     * @param request The request
-     * @return a Continuation instance
-     */
-    public static Continuation getContinuation(ServletRequest request)
-    {
-        Continuation continuation = (Continuation) request.getAttribute(Continuation.ATTRIBUTE);
-        if (continuation!=null)
-            return continuation;
-
-        while (request instanceof ServletRequestWrapper)
-            request=((ServletRequestWrapper)request).getRequest();
-
-        if (__servlet3 )
-        {
-            try
-            {
-                continuation=__newServlet3Continuation.newInstance(request);
-                request.setAttribute(Continuation.ATTRIBUTE,continuation);
-                return continuation;
-            }
-            catch(Exception e)
-            {
-                throw new RuntimeException(e);
-            }
-        }
-
-        if (__jetty6)
-        {
-            Object c=request.getAttribute("org.mortbay.jetty.ajax.Continuation");
-            try
-            {
-                if (c==null || __waitingContinuation==null || __waitingContinuation.isInstance(c))
-                    continuation=new FauxContinuation(request);
-                else
-                    continuation= __newJetty6Continuation.newInstance(request,c);
-                request.setAttribute(Continuation.ATTRIBUTE,continuation);
-                return continuation;
-            }
-            catch(Exception e)
-            {
-                throw new RuntimeException(e);
-            }
-        }
-
-        throw new IllegalStateException("!(Jetty || Servlet 3.0 || ContinuationFilter)");
-    }
-
-    /* ------------------------------------------------------------ */
-    /**
-     * @param request the servlet request
-     * @param response the servlet response
-     * @deprecated use {@link #getContinuation(ServletRequest)}
-     * @return the continuation
-     */
-    @Deprecated
-    public static Continuation getContinuation(final ServletRequest request, final ServletResponse response)
-    {
-        return getContinuation(request);
-    }
+		throw new IllegalStateException("!(Jetty || Servlet 3.0 || ContinuationFilter)");
+	}
 }