Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 3152 invoked from network); 29 Mar 2006 16:42:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Mar 2006 16:42:27 -0000 Received: (qmail 60624 invoked by uid 500); 29 Mar 2006 16:42:26 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 60582 invoked by uid 500); 29 Mar 2006 16:42:26 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 60571 invoked by uid 99); 29 Mar 2006 16:42:25 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Mar 2006 08:42:25 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 29 Mar 2006 08:42:25 -0800 Received: (qmail 2924 invoked by uid 65534); 29 Mar 2006 16:42:04 -0000 Message-ID: <20060329164204.2923.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r389826 - /cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java Date: Wed, 29 Mar 2006 16:42:04 -0000 To: cvs@cocoon.apache.org From: ugo@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: ugo Date: Wed Mar 29 08:42:04 2006 New Revision: 389826 URL: http://svn.apache.org/viewcvs?rev=389826&view=rev Log: Applying patch COCOON-1812 Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java?rev=389826&r1=389825&r2=389826&view=diff ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/javaflow/java/org/apache/cocoon/forms/flow/java/FormInstance.java Wed Mar 29 08:42:04 2006 @@ -16,12 +16,17 @@ package org.apache.cocoon.forms.flow.java; +import java.io.IOException; import java.util.Locale; +import javax.servlet.http.HttpServletResponse; + import org.apache.avalon.framework.CascadingRuntimeException; import org.apache.cocoon.components.flow.FlowHelper; import org.apache.cocoon.components.flow.java.AbstractContinuable; +import org.apache.cocoon.components.flow.java.Continuation; import org.apache.cocoon.components.flow.java.VarMap; +import org.apache.cocoon.environment.http.HttpEnvironment; import org.apache.cocoon.forms.FormContext; import org.apache.cocoon.forms.FormManager; import org.apache.cocoon.forms.binding.Binding; @@ -177,14 +182,35 @@ do { sendPageAndWait(uri, bizData); - FormContext formContext = new FormContext(getRequest(), locale); - - // Prematurely add the bizData as a request attribute so that event listeners can use it - // (the same is done by cocoon.sendPage()) - FlowHelper.setContextObject(this.getObjectModel(), bizData); - - finished = this.form.process(formContext); - + if (getRequest().getParameter("cocoon-ajax-continue") == null) { + FormContext formContext = new FormContext(getRequest(), locale); + + // Prematurely add the bizData as a request attribute so that event listeners can use it + // (the same is done by cocoon.sendPage()) + FlowHelper.setContextObject(this.getObjectModel(), bizData); + + finished = this.form.process(formContext); + + // See /cocoon-2.1.X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/Form.js line 176-201 + if (finished && getRequest().getParameter("cocoon-ajax") != null) { + HttpServletResponse httpResponse = (HttpServletResponse) getObjectModel().get(HttpEnvironment.HTTP_RESPONSE_OBJECT); + sendStatus(200); + httpResponse.setContentType("text/xml"); + String text = ""; + httpResponse.setContentLength(text.length()); + try { + httpResponse.getWriter().print(text); + } catch (IOException e) { + // Do nothing + } + Continuation.suspend(); + } + } else { + finished = true; + } + } while(!finished); } /*