You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2010/03/25 18:18:06 UTC

svn commit: r927507 - /myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java

Author: lofwyr
Date: Thu Mar 25 17:18:06 2010
New Revision: 927507

URL: http://svn.apache.org/viewvc?rev=927507&view=rev
Log:
TOBAGO-664: The state should be called after the encoding.
(Error was "activated" of Popup was saved incorrectly)

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java?rev=927507&r1=927506&r2=927507&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java Thu Mar 25 17:18:06 2010
@@ -41,11 +41,7 @@ import javax.faces.render.RenderKitFacto
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.EmptyStackException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class AjaxResponseRenderer {
   
@@ -136,10 +132,9 @@ public class AjaxResponseRenderer {
     writer.write("\n  }");
   }
 
-  private void saveState(FacesContext facesContext, RenderKit renderKit)
-      throws IOException {
-    ResponseWriter stateWriter =
-        renderKit.createResponseWriter(getPrintWriter(facesContext), contentType, null);
+  private void saveState(FacesContext facesContext, RenderKit renderKit) throws IOException {
+
+    ResponseWriter stateWriter = renderKit.createResponseWriter(getPrintWriter(facesContext), contentType, null);
     facesContext.setResponseWriter(stateWriter);
 
     StateManager stateManager = facesContext.getApplication().getStateManager();
@@ -176,13 +171,6 @@ public class AjaxResponseRenderer {
     writer.write("  \"responseCode\": ");
     writer.write(reloadRequired ? Integer.toString(CODE_RELOAD_REQUIRED) : Integer.toString(CODE_SUCCESS));
 
-    if (!reloadRequired) {
-      writer.write(",\n");
-      writer.write("  \"jsfState\": \"");
-      saveState(facesContext, renderKit);
-      writer.write("\"");
-    }
-
     Map<String, UIComponent> ajaxComponents = AjaxInternalUtils.getAjaxComponents(facesContext);
     int i = 0;
     for (Map.Entry<String, UIComponent> entry : ajaxComponents.entrySet()) {
@@ -198,6 +186,13 @@ public class AjaxResponseRenderer {
       renderComponent(facesContext, renderKit, entry.getKey(), component);
     }
 
+    if (!reloadRequired) {
+      writer.write(",\n");
+      writer.write("  \"jsfState\": \"");
+      saveState(facesContext, renderKit);
+      writer.write("\"");
+    }
+
     writer.write("\n}\n");
     writer.flush();
     writer.close();