)]}'
{"id":"spymemcached~36695","triplet_id":"spymemcached~master~Icaca2f3fef658cdb2c376b6b4dba12ae0327f240","project":"spymemcached","branch":"master","hashtags":[],"change_id":"Icaca2f3fef658cdb2c376b6b4dba12ae0327f240","subject":"SPY-168: isJSONObject should handle null or empty input values.","status":"MERGED","created":"2014-05-05 07:00:11.000000000","updated":"2014-05-05 15:12:05.000000000","submitted":"2014-05-05 15:12:05.000000000","submitter":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e6483fd4e3c1a665ccdd568b635828ce15f5e9f2","_number":36695,"virtual_id_number":36695,"owner":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"actions":{},"labels":{"Verified":{"approved":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":1,"date":"2014-05-05 15:12:05.000000000","_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_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}]}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0},"Code-Review":{"approved":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"all":[{"value":2,"date":"2014-05-05 15:12:05.000000000","_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":2,"date":"2014-05-05 15:12:05.000000000","permitted_voting_range":{"min":2,"max":2},"_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}]}],"values":{"-2":"Do not submit","-1":"I would prefer that you didn\u0027t submit this"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0},"Well-Formed":{"all":[{"value":0,"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},{"value":0,"_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}]}],"values":{"-1":"Commit is not well-formed"," 0":"Well-formedness not checked","+1":"Commit is well-formed"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_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}]},{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-05-05 15:12:02.000000000","updated_by":{"_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}]},"reviewer":{"_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}]},"state":"REVIEWER"}],"messages":[{"id":"55f8b1fbf1d80741a05e0327956dc0adc71b3910","author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2014-05-05 07:00:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b278e580e41d0a049b641d058f06258bd74178a0","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}]},"date":"2014-05-05 15:01:41.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"7b2d1ca210106feca5c8261034a8ddfa6e334611","author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2014-05-05 15:11:47.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":1},{"id":"f6d01b0e123e9211d72491ba9f3cfede029a660f","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}]},"date":"2014-05-05 15:12:02.000000000","message":"Patch Set 2: Code-Review+2\n\nAutomatically re-added by Gerrit trivial rebase detection script.","accounts_in_message":[],"_revision_number":2},{"id":"862ac27a007f93e4db91929228f90c623d63bbec","author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2014-05-05 15:12:05.000000000","message":"Patch Set 2: Verified+1 Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"e6483fd4e3c1a665ccdd568b635828ce15f5e9f2","author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"date":"2014-05-05 15:12:05.000000000","message":"Change has been successfully cherry-picked as 386a843c57e9b61629e2d07887a0bf0eab37ad43","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"386a843c57e9b61629e2d07887a0bf0eab37ad43","revisions":{"f3786927639cf6db32382d23ebbd7685044c60ba":{"kind":"REWORK","_number":1,"created":"2014-05-05 07:00:11.000000000","uploader":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/95/36695/1","fetch":{"anonymous http":{"url":"https://review.couchbase.org/spymemcached","ref":"refs/changes/95/36695/1","commands":{"Branch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/1 \u0026\u0026 git checkout -b change-36695 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/spymemcached refs/changes/95/36695/1","Reset To":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"04285ea97c1b4f61d3285512c53f92d16b4512d2","subject":"SPY-163: Count down bulk get latch even when empty key list is provided."}],"author":{"name":"Michael Nitschinger","email":"michael@nitschinger.at","date":"2014-05-05 06:56:50.000000000","tz":120},"committer":{"name":"Michael Nitschinger","email":"michael@nitschinger.at","date":"2014-05-05 06:56:50.000000000","tz":120},"subject":"SPY-168: isJSONObject should handle null or empty input values.","message":"SPY-168: isJSONObject should handle null or empty input values.\n\nMotivation\n----------\nBefore this change, the isJSONObject was suspect to NPEs and possibly also\nregex match failings on empty strings, although that does not seem to be the\ncase on Java 1.7+.\n\nModifications\n-------------\nSpecific null and empty checks have been added to make the method more robust.\n\nResult\n------\nNPEs are not raised anymore and also empty strings are checked much quicker. Test\ncases have been added to verify functionality.\n\nSide note: An exception like this was reported on empty strings, but could not be\nverified with Java 1.7 onward. It is suspected that this changeset also fixes\nthe issue given the input type and code process:\n\nOriginal Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 0\nStack trace:\njava.lang.String.charAt(String.java:658)\njava.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)\njava.util.regex.Pattern$Ques.match(Pattern.java:4079)\njava.util.regex.Pattern$Begin.match(Pattern.java:3472)\njava.util.regex.Matcher.match(Matcher.java:1221)\njava.util.regex.Matcher.matches(Matcher.java:559)\nnet.spy.memcached.util.StringUtils.isJsonObject(StringUtils.java:109)\nnet.spy.memcached.transcoders.SerializingTranscoder.encode(Seriali\n...\n\nChange-Id: Icaca2f3fef658cdb2c376b6b4dba12ae0327f240\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"04285ea97c1b4f61d3285512c53f92d16b4512d2","is_merged_in_target_branch":true,"change_id":"I0711c399d9f15010bc808e0f651ce6ad605c06f0","change_number":36208,"patch_set_number":2,"change_status":"MERGED"}],"branch":"refs/heads/master"},"b6ebeda6745a1c94f56fb93e3c24d1a3e98968d6":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2014-05-05 15:11:47.000000000","uploader":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/95/36695/2","fetch":{"anonymous http":{"url":"https://review.couchbase.org/spymemcached","ref":"refs/changes/95/36695/2","commands":{"Branch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/2 \u0026\u0026 git checkout -b change-36695 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/spymemcached refs/changes/95/36695/2","Reset To":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/2 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"68daf93ca0a9958263f637d59e273792704db228","subject":"SPY-164: Clone gets correctly."}],"author":{"name":"Michael Nitschinger","email":"michael@nitschinger.at","date":"2014-05-05 06:56:50.000000000","tz":120},"committer":{"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","date":"2014-05-05 15:11:46.000000000","tz":0},"subject":"SPY-168: isJSONObject should handle null or empty input values.","message":"SPY-168: isJSONObject should handle null or empty input values.\n\nMotivation\n----------\nBefore this change, the isJSONObject was suspect to NPEs and possibly also\nregex match failings on empty strings, although that does not seem to be the\ncase on Java 1.7+.\n\nModifications\n-------------\nSpecific null and empty checks have been added to make the method more robust.\n\nResult\n------\nNPEs are not raised anymore and also empty strings are checked much quicker. Test\ncases have been added to verify functionality.\n\nSide note: An exception like this was reported on empty strings, but could not be\nverified with Java 1.7 onward. It is suspected that this changeset also fixes\nthe issue given the input type and code process:\n\nOriginal Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 0\nStack trace:\njava.lang.String.charAt(String.java:658)\njava.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)\njava.util.regex.Pattern$Ques.match(Pattern.java:4079)\njava.util.regex.Pattern$Begin.match(Pattern.java:3472)\njava.util.regex.Matcher.match(Matcher.java:1221)\njava.util.regex.Matcher.matches(Matcher.java:559)\nnet.spy.memcached.util.StringUtils.isJsonObject(StringUtils.java:109)\nnet.spy.memcached.transcoders.SerializingTranscoder.encode(Seriali\n...\n\nChange-Id: Icaca2f3fef658cdb2c376b6b4dba12ae0327f240\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"68daf93ca0a9958263f637d59e273792704db228","is_merged_in_target_branch":true,"change_id":"I7b8820bea20d0a0d9555f1bb9b2a46e5327a5f78","change_number":36221,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"},"386a843c57e9b61629e2d07887a0bf0eab37ad43":{"kind":"NO_CODE_CHANGE","_number":3,"created":"2014-05-05 15:12:05.000000000","uploader":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"ref":"refs/changes/95/36695/3","fetch":{"anonymous http":{"url":"https://review.couchbase.org/spymemcached","ref":"refs/changes/95/36695/3","commands":{"Branch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/3 \u0026\u0026 git checkout -b change-36695 FETCH_HEAD","Checkout":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.couchbase.org/spymemcached refs/changes/95/36695/3","Reset To":"git fetch https://review.couchbase.org/spymemcached refs/changes/95/36695/3 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"68daf93ca0a9958263f637d59e273792704db228","subject":"SPY-164: Clone gets correctly."}],"author":{"name":"Michael Nitschinger","email":"michael@nitschinger.at","date":"2014-05-05 06:56:50.000000000","tz":120},"committer":{"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","date":"2014-05-05 15:12:05.000000000","tz":0},"subject":"SPY-168: isJSONObject should handle null or empty input values.","message":"SPY-168: isJSONObject should handle null or empty input values.\n\nMotivation\n----------\nBefore this change, the isJSONObject was suspect to NPEs and possibly also\nregex match failings on empty strings, although that does not seem to be the\ncase on Java 1.7+.\n\nModifications\n-------------\nSpecific null and empty checks have been added to make the method more robust.\n\nResult\n------\nNPEs are not raised anymore and also empty strings are checked much quicker. Test\ncases have been added to verify functionality.\n\nSide note: An exception like this was reported on empty strings, but could not be\nverified with Java 1.7 onward. It is suspected that this changeset also fixes\nthe issue given the input type and code process:\n\nOriginal Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 0\nStack trace:\njava.lang.String.charAt(String.java:658)\njava.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)\njava.util.regex.Pattern$Ques.match(Pattern.java:4079)\njava.util.regex.Pattern$Begin.match(Pattern.java:3472)\njava.util.regex.Matcher.match(Matcher.java:1221)\njava.util.regex.Matcher.matches(Matcher.java:559)\nnet.spy.memcached.util.StringUtils.isJsonObject(StringUtils.java:109)\nnet.spy.memcached.transcoders.SerializingTranscoder.encode(Seriali\n...\n\nChange-Id: Icaca2f3fef658cdb2c376b6b4dba12ae0327f240\nReviewed-on: http://review.couchbase.org/36695\nReviewed-by: Matt Ingenthron \u003cmatt@couchbase.com\u003e\nReviewed-by: Michael Nitschinger \u003cmichael.nitschinger@couchbase.com\u003e\nTested-by: Michael Nitschinger \u003cmichael.nitschinger@couchbase.com\u003e\n"},"parents_data":[{"branch_name":"refs/heads/master","commit_id":"68daf93ca0a9958263f637d59e273792704db228","is_merged_in_target_branch":true,"change_id":"I7b8820bea20d0a0d9555f1bb9b2a46e5327a5f78","change_number":36221,"patch_set_number":3,"change_status":"MERGED"}],"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
