{"action":"created","issue":{"url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/24","labels_url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/24/comments","events_url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/24/events","html_url":"https://github.com/vert-x3/vertx-mongo-client/issues/24","id":89795214,"number":24,"title":"Groovy: update converts inner map/list to JsonObject/JsonArray","user":{"login":"sfitts","id":1710006,"avatar_url":"https://avatars.githubusercontent.com/u/1710006?v=3","gravatar_id":"","url":"https://api.github.com/users/sfitts","html_url":"https://github.com/sfitts","followers_url":"https://api.github.com/users/sfitts/followers","following_url":"https://api.github.com/users/sfitts/following{/other_user}","gists_url":"https://api.github.com/users/sfitts/gists{/gist_id}","starred_url":"https://api.github.com/users/sfitts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfitts/subscriptions","organizations_url":"https://api.github.com/users/sfitts/orgs","repos_url":"https://api.github.com/users/sfitts/repos","events_url":"https://api.github.com/users/sfitts/events{/privacy}","received_events_url":"https://api.github.com/users/sfitts/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2015-06-20T17:39:41Z","updated_at":"2015-06-21T19:34:06Z","closed_at":null,"body":"\r\nIn the Mongo client API update has the side effect of reserializing the updated data from the DB in place.  This means that the interior property values are repopulated via the installed Codec which in our case means that they are recreated as JsonObject/JsonArray instances.  In the case of select we explicitly convert the objects using `InternalHelper.wrapObject`, but that doesn't happen in the update case.  Fixing this may be a bit tricky as the conversion needs to occur after the operation has completed, but the update callback doesn't have access to the orignally updated object.  I think this will invovle wrapping the supplied handler with one that has access to the original object and can perform the wrap call.  However, I'm not sure that the code generator is capable of expressing this (not to mention the fact that this is specific to the way the mongo API works, so we may not want to do this generally).\r\n\r\nI'll work up a gist which demonstrates the issue."},"comment":{"url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/comments/113946999","html_url":"https://github.com/vert-x3/vertx-mongo-client/issues/24#issuecomment-113946999","issue_url":"https://api.github.com/repos/vert-x3/vertx-mongo-client/issues/24","id":113946999,"user":{"login":"purplefox","id":701906,"avatar_url":"https://avatars.githubusercontent.com/u/701906?v=3","gravatar_id":"","url":"https://api.github.com/users/purplefox","html_url":"https://github.com/purplefox","followers_url":"https://api.github.com/users/purplefox/followers","following_url":"https://api.github.com/users/purplefox/following{/other_user}","gists_url":"https://api.github.com/users/purplefox/gists{/gist_id}","starred_url":"https://api.github.com/users/purplefox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/purplefox/subscriptions","organizations_url":"https://api.github.com/users/purplefox/orgs","repos_url":"https://api.github.com/users/purplefox/repos","events_url":"https://api.github.com/users/purplefox/events{/privacy}","received_events_url":"https://api.github.com/users/purplefox/received_events","type":"User","site_admin":false},"created_at":"2015-06-21T19:34:06Z","updated_at":"2015-06-21T19:34:06Z","body":"Actually, no need to worry, I've fixed it in core and added a test in mongo client too."}}