)]}'
{"src/main/java/net/spy/memcached/protocol/couch/HttpOperationImpl.java":[{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9f011f93e4d6c30283a4a67e4ddfa083428be9b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"\t\t\t\t\t\t\t+ errorcode);"},{"line_number":105,"context_line":"\t\t\t\t}"},{"line_number":106,"context_line":"\t\t\t} catch (JSONException e) {"},{"line_number":107,"context_line":"\t\t\t\tthrow new ParseException(\"Cannot read json: \" + json, 0);"},{"line_number":108,"context_line":"\t\t\t}"},{"line_number":109,"context_line":"\t\t}"},{"line_number":110,"context_line":"\t\treturn new OperationStatus(false, \"Error Code: \" +  errorcode"}],"source_content_type":"text/x-java","patch_set":2,"id":"AAABin%2F%2F%2F5w%3D","line":107,"updated":"2011-08-17 16:32:57.000000000","message":"something here doesn\u0027t seem right.  You\u0027re now throwing an org.apache.http.ParseException, as a result of bad JSON.   Though above, when you catch the same thing, you say it\u0027s bad http headers.  I know there\u0027s no direct link there, but just seeing all of this in the same patchset makes me wonder if the exception path is pretty clear.\n\nWhat is ParseException really supposed to mean in this class?  We\u0027re returning it to other protected-level callers potentially.","commit_id":"2bb629612ffed7d472e5efc22cd28ae46a1464cc"},{"author":{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4a085a91ae1e03830f0a25d3bd0280c0e9f833de","unresolved":false,"context_lines":[{"line_number":104,"context_line":"\t\t\t\t\t\t\t+ errorcode);"},{"line_number":105,"context_line":"\t\t\t\t}"},{"line_number":106,"context_line":"\t\t\t} catch (JSONException e) {"},{"line_number":107,"context_line":"\t\t\t\tthrow new ParseException(\"Cannot read json: \" + json, 0);"},{"line_number":108,"context_line":"\t\t\t}"},{"line_number":109,"context_line":"\t\t}"},{"line_number":110,"context_line":"\t\treturn new OperationStatus(false, \"Error Code: \" +  errorcode"}],"source_content_type":"text/x-java","patch_set":2,"id":"AAABin%2F%2F%2F10%3D","line":107,"in_reply_to":"AAABin%2F%2F%2F5w%3D","updated":"2011-08-17 19:21:25.000000000","message":"This looks confusing because of the skipped lines. Take a look at the entire file and let me know if you still have questions.","commit_id":"2bb629612ffed7d472e5efc22cd28ae46a1464cc"}],"src/main/java/net/spy/memcached/protocol/couch/ViewOperationImpl.java":[{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9f011f93e4d6c30283a4a67e4ddfa083428be9b","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\t\t\t((ViewCallback) callback).gotData(vr);"},{"line_number":31,"context_line":"\t\t\tcallback.receivedStatus(status);"},{"line_number":32,"context_line":"\t\t} catch (ParseException e) {"},{"line_number":33,"context_line":"\t\t\texception \u003d new OperationException(OperationErrorType.GENERAL,"},{"line_number":34,"context_line":"\t\t\t\t\t\"Error parsing JSON\");"},{"line_number":35,"context_line":"\t\t}"}],"source_content_type":"text/x-java","patch_set":2,"id":"AAABin%2F%2F%2F5s%3D","line":32,"updated":"2011-08-17 16:32:57.000000000","message":"now we\u0027re back to java.text.ParseException","commit_id":"2bb629612ffed7d472e5efc22cd28ae46a1464cc"},{"author":{"_account_id":1000136,"name":"Mike Wiederhold","email":"mike@couchbase.com","username":"mikewied","avatars":[{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/337c57dab3946ecdea245eaabfe99a17.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4a085a91ae1e03830f0a25d3bd0280c0e9f833de","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"\t\t\t((ViewCallback) callback).gotData(vr);"},{"line_number":31,"context_line":"\t\t\tcallback.receivedStatus(status);"},{"line_number":32,"context_line":"\t\t} catch (ParseException e) {"},{"line_number":33,"context_line":"\t\t\texception \u003d new OperationException(OperationErrorType.GENERAL,"},{"line_number":34,"context_line":"\t\t\t\t\t\"Error parsing JSON\");"},{"line_number":35,"context_line":"\t\t}"}],"source_content_type":"text/x-java","patch_set":2,"id":"AAABin%2F%2F%2F1w%3D","line":32,"in_reply_to":"AAABin%2F%2F%2F5s%3D","updated":"2011-08-17 19:21:25.000000000","message":"See my other comment. This is the right exception to throw here.","commit_id":"2bb629612ffed7d472e5efc22cd28ae46a1464cc"}]}
