Looks good. One recommended refactoring to keep ApiServlet small(er).
http://codereview.appspot.com/28042/diff/1049/1065 File java/common/src/main/java/org/apache/shindig/protocol/ApiServlet.java (right): http://codereview.appspot.com/28042/diff/1049/1065#newcode200 Line 200: String contentType) throws InvalidContentTypeException { checkContentTypes() - and all the constants - should be in a separate class, injected into ApiServlet. Or just into the subclasses where it's used. I'd probably name it ContentTypes. http://codereview.appspot.com/28042/diff/1049/1061 File java/common/src/main/java/org/apache/shindig/protocol/conversion/BeanJsonConverter.java (right): http://codereview.appspot.com/28042/diff/1049/1061#newcode75 Line 75: * @return An object whos toString method will return json whos/whose http://codereview.appspot.com/28042/diff/1049/1061#newcode145 Line 145: return value instanceof String ? Boolean.valueOf((String)value) : Boolean.TRUE.equals(value); space after ) http://codereview.appspot.com/28042