You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ga...@apache.org on 2011/03/09 14:23:03 UTC

svn commit: r1079785 - in /shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java

Author: gagan
Date: Wed Mar  9 13:23:02 2011
New Revision: 1079785

URL: http://svn.apache.org/viewvc?rev=1079785&view=rev
Log:
Patch by pulkitgoyal2000 | Issue 4257060: Json Concat Js throws error while rendering in IE | http://codereview.appspot.com/4257060/

Modified:
    shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java

Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java?rev=1079785&r1=1079784&r2=1079785&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java Wed Mar  9 13:23:02 2011
@@ -345,18 +345,26 @@ public class ConcatProxyServlet extends 
   }
 
   private static class JsonConcatOutputStream extends ConcatOutputStream {
+    private boolean firstEntry;
+
     public JsonConcatOutputStream(ServletOutputStream wrapped, String tok) throws IOException {
       super(wrapped);
       this.println(tok + "={");
+      this.firstEntry = true;
     }
 
     @Override
     protected void outputJs(Uri uri, String data) throws IOException {
+      if (!firstEntry) {
+        println(",");
+      }
+      firstEntry = false;
+
       print("\"");
       print(uri.toString());
       print("\":\"");
       print(StringEscapeUtils.escapeJavaScript(data));
-      println("\",");
+      print("\"");
     }
 
     @Override
@@ -367,4 +375,3 @@ public class ConcatProxyServlet extends 
 
   }
 }
-

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java?rev=1079785&r1=1079784&r2=1079785&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java Wed Mar  9 13:23:02 2011
@@ -110,7 +110,10 @@ public class ConcatProxyServletTest exte
    */
   private String addVar(String url, String data) {
     return '\"' + url + "\":\"" + data +"\",\r\n";
-    
+  }
+
+  private String addLastVar(String url, String data) {
+    return '\"' + url + "\":\"" + data +"\"";
   }
 
   /**
@@ -199,7 +202,7 @@ public class ConcatProxyServletTest exte
   public void testAsJsonConcat() throws Exception {
     String results = "_js={\r\n"
         + addVar(URL1.toString(), SCRT1_ESCAPED)
-        + addVar(URL2.toString(), SCRT2_ESCAPED)
+        + addLastVar(URL2.toString(), SCRT2_ESCAPED)
         + "};\r\n";
     runConcat(sequentialExecutor, results, "_js", URL1, URL2);
   }
@@ -209,7 +212,7 @@ public class ConcatProxyServletTest exte
     String results = "_js={\r\n"
         + addVar(URL1.toString(), SCRT1_ESCAPED)
         + addVar(URL2.toString(), SCRT2_ESCAPED)
-        + addVar(URL3.toString(), SCRT3_ESCAPED)
+        + addLastVar(URL3.toString(), SCRT3_ESCAPED)
         + "};\r\n";
     runConcat(sequentialExecutor, results, "_js", URL1, URL2, URL3);
   }
@@ -233,7 +236,7 @@ public class ConcatProxyServletTest exte
     expect(pipeline.execute(req)).andReturn(resp).anyTimes();
 
     String results = "_js={\r\n"
-        + addVar(URL1.toString(), SCRT1_ESCAPED)
+        + addLastVar(URL1.toString(), SCRT1_ESCAPED)
         + "/* ---- Error 404 (http://example.org/4.js) ---- */\r\n"
         + "};\r\n";
     runConcat(sequentialExecutor, results, "_js", URL1, URL4);
@@ -251,7 +254,7 @@ public class ConcatProxyServletTest exte
     servlet.doGet(request, recorder);
     verify();
     String results = "_js={\r\n"
-      + addVar(URL1.toString(), SCRT1_ESCAPED)
+      + addLastVar(URL1.toString(), SCRT1_ESCAPED)
       + addConcatErrComment(GadgetException.Code.FAILED_TO_RETRIEVE_CONTENT, URL4.toString()) + "};\r\n";
     assertEquals(results, recorder.getResponseAsString());
     assertEquals(400, recorder.getHttpStatusCode());
@@ -266,7 +269,7 @@ public class ConcatProxyServletTest exte
         new GadgetException(GadgetException.Code.HTML_PARSE_ERROR)).anyTimes();
 
     String results = "_js={\r\n"
-        + addVar(URL1.toString(), SCRT1_ESCAPED)
+        + addLastVar(URL1.toString(), SCRT1_ESCAPED)
         + addConcatErrComment(GadgetException.Code.HTML_PARSE_ERROR, URL4.toString()) + "};\r\n";
 
     expectRequestWithUris(Lists.newArrayList(URL1, URL4), "_js");