01: //========================================================================
02: //$Id: ContinuationSupport.java,v 1.1 2005/11/14 17:45:56 gregwilkins Exp $
03: //Copyright 2004-2005 Mort Bay Consulting Pty. Ltd.
04: //------------------------------------------------------------------------
05: //Licensed under the Apache License, Version 2.0 (the "License");
06: //you may not use this file except in compliance with the License.
07: //You may obtain a copy of the License at
08: //http://www.apache.org/licenses/LICENSE-2.0
09: //Unless required by applicable law or agreed to in writing, software
10: //distributed under the License is distributed on an "AS IS" BASIS,
11: //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: //See the License for the specific language governing permissions and
13: //limitations under the License.
14: //========================================================================
15:
16: package org.mortbay.util.ajax;
17:
18: import javax.servlet.http.HttpServletRequest;
19:
20: /* ------------------------------------------------------------ */
21: /** ContinuationSupport.
22: * Conveniance class to avoid classloading visibility issues.
23: * @author gregw
24: *
25: */
26: public class ContinuationSupport {
27: public static Continuation getContinuation(
28: HttpServletRequest request, Object lock) {
29: Continuation continuation = (Continuation) request
30: .getAttribute("org.mortbay.jetty.ajax.Continuation");
31: if (continuation == null)
32: continuation = new WaitingContinuation(lock);
33: else if (continuation instanceof WaitingContinuation
34: && continuation.isNew() && lock != null)
35: ((WaitingContinuation) continuation).setMutex(lock);
36: return continuation;
37: }
38: }
|