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");