coliver     2004/01/09 16:04:37

  Modified:    src/documentation/xdocs/userdocs/flow api.xml
               src/java/org/apache/cocoon/components/flow/javascript/fom
                        fom_system.js
  Log:
  Added function parameter to sendPageAndWait which will execute after pipeline 
processing but before the script is suspended
  
  Revision  Changes    Path
  1.31      +17 -1     cocoon-2.1/src/documentation/xdocs/userdocs/flow/api.xml
  
  Index: api.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/flow/api.xml,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- api.xml   27 Dec 2003 07:30:42 -0000      1.30
  +++ api.xml   10 Jan 2004 00:04:37 -0000      1.31
  @@ -91,7 +91,7 @@
       </s3>
       <s3 title = "sendPageAndWait"><anchor id="sendPageAndWait"/>
       <p>
  -    <em>Function</em> <code>[WebContinuation] sendPageAndWait([String] uri, 
[Object] bean, [Number] timeToLive)</code>
  +    <em>Function</em> <code>[WebContinuation] sendPageAndWait([String] uri, 
[Object] bean, [Function] postPipelineCode, [Number] timeToLive)</code>
       </p>
        <p>
        Passes control to the Cocoon sitemap to generate the output page.
  @@ -102,6 +102,22 @@
         <p>
           <code>bean</code> is a context object which can be accessed inside 
this page to extract
           various values and place them in the generated page.</p>
  +     <p>If provided, the <code>postPipelineCode</code> function will be 
executed after pipeline processing is complete but before the script is 
suspended. You can use this to release resources that are needed during the 
pipeline processing but should not become part of the continuation. For 
example:</p>
  +<source>
  +
  +function processPage() {
  +   var id = ...
  +   var bizData = ...
  +   var uri = ...
  +   var comp = cocoon.getComponent(id);
  +   // use comp
  +   ...
  +   cocoon.sendPageAndWait(uri, bizData, function() {
  +      cocoon.releaseComponent(comp);
  +      comp = null;
  +   });
  +}
  +</source>
        <p><code>timeToLive</code> is the time to live in milliseconds for the 
continuation created.</p>
        <p>The return value is the <link 
href="#WebContinuation">continuation</link> object.</p>
       </s3>
  
  
  
  1.2       +4 -1      
cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/fom_system.js
  
  Index: fom_system.js
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/components/flow/javascript/fom/fom_system.js,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- fom_system.js     8 Jul 2003 05:48:52 -0000       1.1
  +++ fom_system.js     10 Jan 2004 00:04:37 -0000      1.2
  @@ -1,7 +1,10 @@
   FOM_Cocoon.suicide = new Continuation();
   
  -FOM_Cocoon.prototype.sendPageAndWait = function(uri, bizData) {
  +FOM_Cocoon.prototype.sendPageAndWait = function(uri, bizData, fun) {
       this.sendPage(uri, bizData, new Continuation());
  +    if (fun instanceof Function) {
  +      fun();
  +    }
       FOM_Cocoon.suicide();
   }
   
  
  
  

Reply via email to