Mercurial Hosting > luan
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)"); + } }