Tests look awesome. Just one more niggling request.
http://codereview.appspot.com/183045/diff/18/19 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java (right): http://codereview.appspot.com/183045/diff/18/19#newcode85 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java:85: // Check for asJSON concat s/asJSON/json/g http://codereview.appspot.com/183045/diff/18/19#newcode374 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java:374: super(); not needed http://codereview.appspot.com/183045/diff/18/19#newcode377 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java:377: outputStream.print("\"" + var + "\":\""); Let's pull the delimiter logic into the wrapper too, so the outputstream _just_ escapes. http://codereview.appspot.com/183045/diff/18/20 File java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java (right): http://codereview.appspot.com/183045/diff/18/20#newcode44 java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ConcatProxyServletTest.java:44: "var v2 = { \\\"a-b\\\": 1 , c: \\\"hello!,\\\" };"; nit: you could also use the escaper itself to generate these vars http://codereview.appspot.com/183045

