public void render()

in portlet-tck_3.0/V3ResourceAsyncTests/src/main/java/javax/portlet/tck/portlets/ResourceAsyncTests_SPEC_21_Async.java [149:892]


   public void render(RenderRequest portletReq, RenderResponse portletResp) throws PortletException, IOException {

      PrintWriter writer = portletResp.getWriter();

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_isAsyncSupported              */
      /* Details: "The ResourceRequest object isAsyncSupported() method returns     */
      /* true if the portlet supports async processing"                             */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSUPPORTED) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSUPPORTED, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_isAsyncStarted1               */
      /* Details: "The ResourceRequest object isAsyncStarted() method returns false */
      /* if asynchronous processing has not been started"                           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSTARTED1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSTARTED1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_isAsyncStarted2               */
      /* Details: "The ResourceRequest object isAsyncStarted() method returns true  */
      /* if asynchronous processing has been started"                               */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSTARTED2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ISASYNCSTARTED2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_startAsync1                   */
      /* Details: "The ResourceRequest object startAsync() method returns a         */
      /* PortletAsyncContext object"                                                */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_startAsync2                   */
      /* Details: "The ResourceRequest object startAsync(ResourceRequest,           */
      /* ResourceResponse) method returns a PortletAsyncContext object"             */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_startAsync3                   */
      /* Details: "The ResourceRequest object startAsync() method throws an         */
      /* IllegalStateException if asynchronous processing has already been started" */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_startAsync4                   */
      /* Details: "The ResourceRequest object startAsync(ResourceRequest,           */
      /* ResourceResponse) method throws an IllegalStateException if asynchronous   */
      /* processing has already been started"                                       */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_STARTASYNC4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getDispatcherType1            */
      /* Details: "The ResourceRequest object getDispatcherType() method returns    */
      /* the value DispatcherType.REQUEST within the resource method before the     */
      /* container dispatch cycle in which asynchronous processing is started       */
      /* returns"                                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getDispatcherType2            */
      /* Details: "The ResourceRequest object getDispatcherType() method returns    */
      /* the value DispatcherType.REQUEST within the resource filter before the     */
      /* container dispatch cycle in which asynchronous processing is started       */
      /* returns"                                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getDispatcherType3            */
      /* Details: "The ResourceRequest object getDispatcherType() method returns    */
      /* the value DispatcherType.ASYNC within the resource method when the         */
      /* PortletAsyncContext object dispatch() method is used to dispatch to the    */
      /* resource method "                                                          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getDispatcherType4            */
      /* Details: "The ResourceRequest object getDispatcherType() method returns    */
      /* the value DispatcherType.ASYNC within the resource filter when the         */
      /* PortletAsyncContext object dispatch() method is used to dispatch to the    */
      /* resource method "                                                          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getDispatcherType5            */
      /* Details: "The ResourceRequest object getDispatcherType() method returns    */
      /* the value DispatcherType.ASYNC within the dispatch target method when the  */
      /* PortletAsyncContext object dispatch(String) method is used to dispatch to  */
      /* the resource method "                                                      */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE5) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETDISPATCHERTYPE5, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getPortletAsyncContext1       */
      /* Details: "The ResourceRequest object getPortletAsyncContext() method       */
      /* returns the value null if async processing has not been started"           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getPortletAsyncContext2       */
      /* Details: "The ResourceRequest object getPortletAsyncContext() method       */
      /* returns a PortletAsyncContext object if async processing has been started" */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete1                     */
      /* Details: "The PortletAsyncContext object complete() method completes       */
      /* asynchronous processing within the original resource request"              */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete2                     */
      /* Details: "The PortletAsyncContext object complete() method completes       */
      /* asynchronous processing within an asynchronous thread"                     */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete3                     */
      /* Details: "The PortletAsyncContext object complete() method throws an       */
      /* IllegalStateException if called before asynchronous processing has         */
      /* started"                                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete4                     */
      /* Details: "The PortletAsyncContext object complete() method throws an       */
      /* IllegalStateException if called after asynchronous processing has          */
      /* completed"                                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete5                     */
      /* Details: "The PortletAsyncContext object complete() method throws an       */
      /* IllegalStateException if called after the PortletAsyncContext object       */
      /* dispatch() method has been called"                                         */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE5) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE5, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_complete6                     */
      /* Details: "The PortletAsyncContext object complete() method throws an       */
      /* IllegalStateException if called after the PortletAsyncContext object       */
      /* dispatch(String) method has been called"                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE6) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_COMPLETE6, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_setTimeout                    */
      /* Details: "The PortletAsyncContext object setTimeout() method sets the      */
      /* asynchronous timeout value"                                                */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_SETTIMEOUT) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_SETTIMEOUT, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getTimeout1                   */
      /* Details: "The PortletAsyncContext object getTimeout() method returns the   */
      /* default value of 30000 ms"                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTIMEOUT1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTIMEOUT1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getTimeout2                   */
      /* Details: "The PortletAsyncContext object getTimeout() method returns a     */
      /* previously set timeout value"                                              */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTIMEOUT2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTIMEOUT2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_hasOriginalRequestAndResponse1 */
      /* Details: "The PortletAsyncContext object hasOriginalRequestAndResponse()   */
      /* method returns true if asynchronous processing was started through the     */
      /* startPortletAsync() method"                                                */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_hasOriginalRequestAndResponse2 */
      /* Details: "The PortletAsyncContext object hasOriginalRequestAndResponse()   */
      /* method returns true if asynchronous processing was started through the     */
      /* startPortletAsync(ResourceRequest, ResourceResponse) method if the request */
      /* and response objects were not wrapped"                                     */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_hasOriginalRequestAndResponse3 */
      /* Details: "The PortletAsyncContext object hasOriginalRequestAndResponse()   */
      /* method returns false if asynchronous processing was started through the    */
      /* startPortletAsync(ResourceRequest, ResourceResponse) method if the request */
      /* and response objects were wrapped"                                         */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_HASORIGINALREQUESTANDRESPONSE3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceRequest1           */
      /* Details: "The PortletAsyncContext object getResourceRequest() method       */
      /* returns the original ResourceRequest object if asynchronous processing was */
      /* started through the startPortletAsync() method"                            */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceRequest2           */
      /* Details: "The PortletAsyncContext object getResourceRequest() method       */
      /* returns the original ResourceRequest object if asynchronous processing was */
      /* started through the startPortletAsync(ResourceRequest, ResourceResponse)   */
      /* method if the request and response objects were not wrapped"               */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceRequest3           */
      /* Details: "The PortletAsyncContext object getResourceRequest() method       */
      /* returns the wrapped ResourceRequest object if asynchronous processing was  */
      /* started through the startPortletAsync(ResourceRequest, ResourceResponse)   */
      /* method if the request and response objects were wrapped"                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCEREQUEST3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceResponse1          */
      /* Details: "The PortletAsyncContext object getResourceResponse() method      */
      /* returns the original ResourceResponse object if asynchronous processing    */
      /* was started through the startPortletAsync() method"                        */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceResponse2          */
      /* Details: "The PortletAsyncContext object getResourceResponse() method      */
      /* returns the original ResourceResponse object if asynchronous processing    */
      /* was started through the startPortletAsync(ResourceRequest,                 */
      /* ResourceResponse) method if the request and response objects were not      */
      /* wrapped"                                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getResourceResponse3          */
      /* Details: "The PortletAsyncContext object getResourceResponse() method      */
      /* returns the wrapped ResourceResponse object if asynchronous processing was */
      /* started through the startPortletAsync(ResourceRequest, ResourceResponse)   */
      /* method if the request and response objects were wrapped"                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETRESOURCERESPONSE3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_createPortletAsyncListener1   */
      /* Details: "The PortletAsyncContext object createPortletAsyncListener(Class) */
      /* method returns an instance of the PortletAsyncListener class provided"     */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_createPortletAsyncListener2   */
      /* Details: "The PortletAsyncContext object createPortletAsyncListener(Class) */
      /* method throws a PortletException if the class provided is not of type      */
      /* PortletAsyncListener"                                                      */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_createPortletAsyncListener3   */
      /* Details: "The PortletAsyncContext object createPortletAsyncListener(Class) */
      /* method throws a PortletException if the class provided cannot be           */
      /* instantiated"                                                              */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_createPortletAsyncListener4   */
      /* Details: "The PortletAsyncContext object createPortletAsyncListener(Class) */
      /* method throws a PortletException if the class provided does not have a     */
      /* zero argument constructor"                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CREATEPORTLETASYNCLISTENER4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_addListener1                  */
      /* Details: "The PortletAsyncContext object addListener(PortletAsyncListener) */
      /* method adds a portlet asynchronous listener"                               */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_addListener2                  */
      /* Details: "The PortletAsyncContext object addListener(PortletAsyncListener) */
      /* method throws an IllegalStateException if called after the                 */
      /* container-initiated dispatch during which one of the startAsync() methods  */
      /* was called has returned to the container"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_addListener3                  */
      /* Details: "The PortletAsyncContext object addListener(PortletAsyncListener, */
      /* ResourceRequest, ResourceResponse) method adds a portlet asynchronous      */
      /* listener"                                                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_addListener4                  */
      /* Details: "The PortletAsyncContext object addListener(PortletAsyncListener, */
      /* ResourceRequest, ResourceResponse) method throws an IllegalStateException  */
      /* if called after the container-initiated dispatch during which one of the   */
      /* startAsync() methods was called has returned to the container"             */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ADDLISTENER4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch1                     */
      /* Details: "The PortletAsyncContext object dispatch() method dispatches to   */
      /* the resource method if called from within the original resource request"   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch2                     */
      /* Details: "The PortletAsyncContext object dispatch() method dispatches to   */
      /* the resource method if called from within an asynchronous thread"          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch3                     */
      /* Details: "The PortletAsyncContext object dispatch() method throws an       */
      /* IllegalStateException if called before a new asynchronous processing cycle */
      /* has been started"                                                          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch4                     */
      /* Details: "The PortletAsyncContext object dispatch() method throws an       */
      /* IllegalStateException if called after asynchronous processing has          */
      /* completed"                                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch5                     */
      /* Details: "The PortletAsyncContext object dispatch() method throws an       */
      /* IllegalStateException if called after a dispatch method has been called    */
      /* within the same container dispatch cycle"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH5) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH5, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch6                     */
      /* Details: "The PortletAsyncContext object dispatch(String) method           */
      /* dispatches to the given path if called from within the original resource   */
      /* request"                                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH6) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH6, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch7                     */
      /* Details: "The PortletAsyncContext object dispatch(String) method           */
      /* dispatches to the given path if called from within an asynchronous thread" */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH7) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH7, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch8                     */
      /* Details: "The PortletAsyncContext object dispatch(String) method throws an */
      /* IllegalStateException if called before a new asynchronous processing cycle */
      /* has been started"                                                          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH8) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH8, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatch9                     */
      /* Details: "The PortletAsyncContext object dispatch(String) method throws an */
      /* IllegalStateException if called after asynchronous processing has          */
      /* completed"                                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH9) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCH9, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_dispatchA                     */
      /* Details: "The PortletAsyncContext object dispatch(String) method throws an */
      /* IllegalStateException if called after a dispatch method has been called    */
      /* within the same container dispatch cycle"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCHA) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_DISPATCHA, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_start1                        */
      /* Details: "The PortletAsyncContext object start(Runnable) method causes an    */
      /* asynchronous thread to run"                                                */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_start2                        */
      /* Details: "The PortletAsyncContext object start(Runnable) method throws an    */
      /* IllegalStateException if called before a new asynchronous processing cycle */
      /* has been started"                                                          */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_start3                        */
      /* Details: "The PortletAsyncContext object start(Runnable) method throws an    */
      /* IllegalStateException if called after asynchronous processing has          */
      /* completed"                                                                 */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_start4                        */
      /* Details: "The PortletAsyncContext object start(Runnable) method throws an    */
      /* IllegalStateException if called after a dispatch method has been called    */
      /* within the same container dispatch cycle"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START4) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_START4, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_cdi1                          */
      /* Details: "When CDI is available and the asynchronous thread is started     */
      /* through the PortletAsyncContext object, the asynchronous thread runs in    */
      /* the same context as the original request"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_cdi2                          */
      /* Details: "When CDI is available and the asynchronous thread is started     */
      /* through the PortletAsyncContext object, the PortletAsyncListener runs in   */
      /* the same context as the original request"                                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_cdi3                          */
      /* Details: "When CDI is available and the asynchronous thread is started     */
      /* through the PortletAsyncContext object, the resource filter runs in the    */
      /* same context as the original request"                                      */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI3) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_CDI3, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_onTimeout                     */
      /* Details: "The PortletAsyncListener object onTimeout(PortletAsyncEvent)     */
      /* method is called when a timeout occurs "                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONTIMEOUT) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONTIMEOUT, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_onError                       */
      /* Details: "The PortletAsyncListener object onError(PortletAsyncEvent)       */
      /* method is called if an exception is thrown in an asynchronous thread       */
      /* started through the PortletAsyncContext object "                           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONERROR) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONERROR, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_onComplete                    */
      /* Details: "The PortletAsyncListener object onComplete(PortletAsyncEvent)    */
      /* method is called when asynchronous processing completes "                  */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONCOMPLETE) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONCOMPLETE, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_onStartAsync                  */
      /* Details: "The PortletAsyncListener object onStartAsync(PortletAsyncEvent)  */
      /* method is called when asynchronous processing is restarted "               */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONSTARTASYNC) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_ONSTARTASYNC, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getPortletAsyncContext        */
      /* Details: "The PortletAsyncEvent object getPortletAsyncContext() method     */
      /* returns the PortletAsyncContext object for the request"                    */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETPORTLETASYNCCONTEXT, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getSuppliedRequest1           */
      /* Details: "The PortletAsyncEvent object getSuppliedRequest() method returns */
      /* null if no resource request was supplied when the PortletAsyncListener was */
      /* added "                                                                    */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDREQUEST1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDREQUEST1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getSuppliedRequest2           */
      /* Details: "The PortletAsyncEvent object getSuppliedRequest() method returns */
      /* the supplied request if a resource request was supplied when the           */
      /* PortletAsyncListener was added "                                           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDREQUEST2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDREQUEST2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getSuppliedResponse1          */
      /* Details: "The PortletAsyncEvent object getSuppliedResponse() method        */
      /* returns null if no resource response was supplied when the                 */
      /* PortletAsyncListener was added "                                           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDRESPONSE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDRESPONSE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getSuppliedResponse2          */
      /* Details: "The PortletAsyncEvent object getSuppliedResponse() method        */
      /* returns the supplied response if a resource response was supplied when the */
      /* PortletAsyncListener was added "                                           */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDRESPONSE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETSUPPLIEDRESPONSE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getThrowable1                 */
      /* Details: "The PortletAsyncEvent object getThrowable() method returns null  */
      /* within the PortletAsyncListener object onComplete(), onTimeout(), and      */
      /* onStartAsync() methods"                                                    */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTHROWABLE1) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTHROWABLE1, rurl);
         link.writeResourceFetcherAsync(writer);
      }

      /* TestCase: V3ResourceAsyncTests_SPEC_21_Async_getThrowable2                 */
      /* Details: "The PortletAsyncEvent object getThrowable() method returns the   */
      /* Throwable object associated with the error within the PortletAsyncListener */
      /* object onError() method"                                                   */
      {
         ResourceURL rurl = portletResp.createResourceURL();
         rurl.getResourceParameters().setValue("testcase",V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTHROWABLE2) ;
         ResourceLink link = new ResourceLink(V3RESOURCEASYNCTESTS_SPEC_21_ASYNC_GETTHROWABLE2, rurl);
         link.writeResourceFetcherAsync(writer);
      }

   }