{"action":"created","comment":{"url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/comments/80739873","pull_request_review_id":1774612,"id":80739873,"diff_hunk":"@@ -0,0 +1,55 @@\n+package com.vimeo.networking.utils;\n+\n+import com.google.gson.JsonDeserializationContext;\n+import com.google.gson.JsonDeserializer;\n+import com.google.gson.JsonElement;\n+import com.google.gson.JsonParseException;\n+import com.google.gson.JsonPrimitive;\n+import com.google.gson.JsonSerializationContext;\n+import com.google.gson.JsonSerializer;\n+import com.google.gson.internal.bind.util.ISO8601Utils;\n+import com.vimeo.networking.logging.ClientLogger;\n+\n+import java.lang.reflect.Type;\n+import java.text.ParseException;\n+import java.text.ParsePosition;\n+import java.util.Date;\n+\n+/**\n+ * A wrapper class that serializes and deserializes dates\n+ * using the {@link ISO8601Utils} class that catches errors\n+ * and reports them to the client application, allowing\n+ * them to decide if they should crash or not. If we just\n+ * rely on the default adapter used by JSON, we are unable\n+ * to absorb date parsing errors or log them correctly.","path":"vimeo-networking/src/main/java/com/vimeo/networking/utils/ISO8601Wrapper.java","position":24,"original_position":24,"commit_id":"6dc168f021d0fd22baaf71c24253c50712d9f6ca","original_commit_id":"6dc168f021d0fd22baaf71c24253c50712d9f6ca","user":{"login":"anthonycr","id":1966779,"avatar_url":"https://avatars.githubusercontent.com/u/1966779?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonycr","html_url":"https://github.com/anthonycr","followers_url":"https://api.github.com/users/anthonycr/followers","following_url":"https://api.github.com/users/anthonycr/following{/other_user}","gists_url":"https://api.github.com/users/anthonycr/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonycr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonycr/subscriptions","organizations_url":"https://api.github.com/users/anthonycr/orgs","repos_url":"https://api.github.com/users/anthonycr/repos","events_url":"https://api.github.com/users/anthonycr/events{/privacy}","received_events_url":"https://api.github.com/users/anthonycr/received_events","type":"User","site_admin":false},"body":"yeah I'll update these docs to reflect the new findings","created_at":"2016-09-27T16:51:19Z","updated_at":"2016-09-27T16:51:19Z","html_url":"https://github.com/vimeo/vimeo-networking-java/pull/148#discussion_r80739873","pull_request_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148","_links":{"self":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/comments/80739873"},"html":{"href":"https://github.com/vimeo/vimeo-networking-java/pull/148#discussion_r80739873"},"pull_request":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148"}}},"pull_request":{"url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148","id":86802529,"html_url":"https://github.com/vimeo/vimeo-networking-java/pull/148","diff_url":"https://github.com/vimeo/vimeo-networking-java/pull/148.diff","patch_url":"https://github.com/vimeo/vimeo-networking-java/pull/148.patch","issue_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/148","number":148,"state":"open","locked":false,"title":"VA-1963 wrapping date deserialization","user":{"login":"anthonycr","id":1966779,"avatar_url":"https://avatars.githubusercontent.com/u/1966779?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonycr","html_url":"https://github.com/anthonycr","followers_url":"https://api.github.com/users/anthonycr/followers","following_url":"https://api.github.com/users/anthonycr/following{/other_user}","gists_url":"https://api.github.com/users/anthonycr/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonycr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonycr/subscriptions","organizations_url":"https://api.github.com/users/anthonycr/orgs","repos_url":"https://api.github.com/users/anthonycr/repos","events_url":"https://api.github.com/users/anthonycr/events{/privacy}","received_events_url":"https://api.github.com/users/anthonycr/received_events","type":"User","site_admin":false},"body":"#### Ticket\r\n[VA-1963](https://vimean.atlassian.net/browse/VA-1963)\r\n\r\n#### Ticket Summary\r\nThe date deserialization is crashing sometimes because the API seems to send us bad dates.\r\n\r\n#### Implementation Summary\r\nWrap the deserialization in a try catch so we can choose whether or not to crash on the client side.\r\n\r\n#### How to Test\r\nmake sure dates still show up correctly","created_at":"2016-09-26T19:21:37Z","updated_at":"2016-09-27T16:51:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bbc72d217b89b25a5e6b278650388df72e8def0a","assignee":{"login":"howardrigberg","id":1205432,"avatar_url":"https://avatars.githubusercontent.com/u/1205432?v=3","gravatar_id":"","url":"https://api.github.com/users/howardrigberg","html_url":"https://github.com/howardrigberg","followers_url":"https://api.github.com/users/howardrigberg/followers","following_url":"https://api.github.com/users/howardrigberg/following{/other_user}","gists_url":"https://api.github.com/users/howardrigberg/gists{/gist_id}","starred_url":"https://api.github.com/users/howardrigberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/howardrigberg/subscriptions","organizations_url":"https://api.github.com/users/howardrigberg/orgs","repos_url":"https://api.github.com/users/howardrigberg/repos","events_url":"https://api.github.com/users/howardrigberg/events{/privacy}","received_events_url":"https://api.github.com/users/howardrigberg/received_events","type":"User","site_admin":false},"assignees":[{"login":"howardrigberg","id":1205432,"avatar_url":"https://avatars.githubusercontent.com/u/1205432?v=3","gravatar_id":"","url":"https://api.github.com/users/howardrigberg","html_url":"https://github.com/howardrigberg","followers_url":"https://api.github.com/users/howardrigberg/followers","following_url":"https://api.github.com/users/howardrigberg/following{/other_user}","gists_url":"https://api.github.com/users/howardrigberg/gists{/gist_id}","starred_url":"https://api.github.com/users/howardrigberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/howardrigberg/subscriptions","organizations_url":"https://api.github.com/users/howardrigberg/orgs","repos_url":"https://api.github.com/users/howardrigberg/repos","events_url":"https://api.github.com/users/howardrigberg/events{/privacy}","received_events_url":"https://api.github.com/users/howardrigberg/received_events","type":"User","site_admin":false},{"login":"kvenn","id":1782467,"avatar_url":"https://avatars.githubusercontent.com/u/1782467?v=3","gravatar_id":"","url":"https://api.github.com/users/kvenn","html_url":"https://github.com/kvenn","followers_url":"https://api.github.com/users/kvenn/followers","following_url":"https://api.github.com/users/kvenn/following{/other_user}","gists_url":"https://api.github.com/users/kvenn/gists{/gist_id}","starred_url":"https://api.github.com/users/kvenn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvenn/subscriptions","organizations_url":"https://api.github.com/users/kvenn/orgs","repos_url":"https://api.github.com/users/kvenn/repos","events_url":"https://api.github.com/users/kvenn/events{/privacy}","received_events_url":"https://api.github.com/users/kvenn/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148/commits","review_comments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148/comments","review_comment_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/148/comments","statuses_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/statuses/6dc168f021d0fd22baaf71c24253c50712d9f6ca","head":{"label":"vimeo:VA-1963-date-parsing","ref":"VA-1963-date-parsing","sha":"6dc168f021d0fd22baaf71c24253c50712d9f6ca","user":{"login":"vimeo","id":317769,"avatar_url":"https://avatars.githubusercontent.com/u/317769?v=3","gravatar_id":"","url":"https://api.github.com/users/vimeo","html_url":"https://github.com/vimeo","followers_url":"https://api.github.com/users/vimeo/followers","following_url":"https://api.github.com/users/vimeo/following{/other_user}","gists_url":"https://api.github.com/users/vimeo/gists{/gist_id}","starred_url":"https://api.github.com/users/vimeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimeo/subscriptions","organizations_url":"https://api.github.com/users/vimeo/orgs","repos_url":"https://api.github.com/users/vimeo/repos","events_url":"https://api.github.com/users/vimeo/events{/privacy}","received_events_url":"https://api.github.com/users/vimeo/received_events","type":"Organization","site_admin":false},"repo":{"id":41306732,"name":"vimeo-networking-java","full_name":"vimeo/vimeo-networking-java","owner":{"login":"vimeo","id":317769,"avatar_url":"https://avatars.githubusercontent.com/u/317769?v=3","gravatar_id":"","url":"https://api.github.com/users/vimeo","html_url":"https://github.com/vimeo","followers_url":"https://api.github.com/users/vimeo/followers","following_url":"https://api.github.com/users/vimeo/following{/other_user}","gists_url":"https://api.github.com/users/vimeo/gists{/gist_id}","starred_url":"https://api.github.com/users/vimeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimeo/subscriptions","organizations_url":"https://api.github.com/users/vimeo/orgs","repos_url":"https://api.github.com/users/vimeo/repos","events_url":"https://api.github.com/users/vimeo/events{/privacy}","received_events_url":"https://api.github.com/users/vimeo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vimeo/vimeo-networking-java","description":"The Vimeo Java (Android) SDK","fork":false,"url":"https://api.github.com/repos/vimeo/vimeo-networking-java","forks_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/forks","keys_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/teams","hooks_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/hooks","issue_events_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/events{/number}","events_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/events","assignees_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/assignees{/user}","branches_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/branches{/branch}","tags_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/tags","blobs_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/statuses/{sha}","languages_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/languages","stargazers_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/stargazers","contributors_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/contributors","subscribers_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/subscribers","subscription_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/subscription","commits_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/contents/{+path}","compare_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/merges","archive_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/downloads","issues_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues{/number}","pulls_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls{/number}","milestones_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/milestones{/number}","notifications_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/labels{/name}","releases_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/releases{/id}","deployments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/deployments","created_at":"2015-08-24T14:09:01Z","updated_at":"2016-09-19T18:25:48Z","pushed_at":"2016-09-26T21:48:47Z","git_url":"git://github.com/vimeo/vimeo-networking-java.git","ssh_url":"git@github.com:vimeo/vimeo-networking-java.git","clone_url":"https://github.com/vimeo/vimeo-networking-java.git","svn_url":"https://github.com/vimeo/vimeo-networking-java","homepage":null,"size":742,"stargazers_count":17,"watchers_count":17,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":3,"forks":9,"open_issues":3,"watchers":17,"default_branch":"v2.0.0"}},"base":{"label":"vimeo:v2.0.0","ref":"v2.0.0","sha":"e6b6ce17c985fbdcd6c356b42582004a14dbb477","user":{"login":"vimeo","id":317769,"avatar_url":"https://avatars.githubusercontent.com/u/317769?v=3","gravatar_id":"","url":"https://api.github.com/users/vimeo","html_url":"https://github.com/vimeo","followers_url":"https://api.github.com/users/vimeo/followers","following_url":"https://api.github.com/users/vimeo/following{/other_user}","gists_url":"https://api.github.com/users/vimeo/gists{/gist_id}","starred_url":"https://api.github.com/users/vimeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimeo/subscriptions","organizations_url":"https://api.github.com/users/vimeo/orgs","repos_url":"https://api.github.com/users/vimeo/repos","events_url":"https://api.github.com/users/vimeo/events{/privacy}","received_events_url":"https://api.github.com/users/vimeo/received_events","type":"Organization","site_admin":false},"repo":{"id":41306732,"name":"vimeo-networking-java","full_name":"vimeo/vimeo-networking-java","owner":{"login":"vimeo","id":317769,"avatar_url":"https://avatars.githubusercontent.com/u/317769?v=3","gravatar_id":"","url":"https://api.github.com/users/vimeo","html_url":"https://github.com/vimeo","followers_url":"https://api.github.com/users/vimeo/followers","following_url":"https://api.github.com/users/vimeo/following{/other_user}","gists_url":"https://api.github.com/users/vimeo/gists{/gist_id}","starred_url":"https://api.github.com/users/vimeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vimeo/subscriptions","organizations_url":"https://api.github.com/users/vimeo/orgs","repos_url":"https://api.github.com/users/vimeo/repos","events_url":"https://api.github.com/users/vimeo/events{/privacy}","received_events_url":"https://api.github.com/users/vimeo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vimeo/vimeo-networking-java","description":"The Vimeo Java (Android) SDK","fork":false,"url":"https://api.github.com/repos/vimeo/vimeo-networking-java","forks_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/forks","keys_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/teams","hooks_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/hooks","issue_events_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/events{/number}","events_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/events","assignees_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/assignees{/user}","branches_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/branches{/branch}","tags_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/tags","blobs_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/refs{/sha}","trees_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/statuses/{sha}","languages_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/languages","stargazers_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/stargazers","contributors_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/contributors","subscribers_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/subscribers","subscription_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/subscription","commits_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/commits{/sha}","git_commits_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/git/commits{/sha}","comments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/comments{/number}","issue_comment_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/comments{/number}","contents_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/contents/{+path}","compare_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/merges","archive_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/downloads","issues_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues{/number}","pulls_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls{/number}","milestones_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/milestones{/number}","notifications_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/labels{/name}","releases_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/releases{/id}","deployments_url":"https://api.github.com/repos/vimeo/vimeo-networking-java/deployments","created_at":"2015-08-24T14:09:01Z","updated_at":"2016-09-19T18:25:48Z","pushed_at":"2016-09-26T21:48:47Z","git_url":"git://github.com/vimeo/vimeo-networking-java.git","ssh_url":"git@github.com:vimeo/vimeo-networking-java.git","clone_url":"https://github.com/vimeo/vimeo-networking-java.git","svn_url":"https://github.com/vimeo/vimeo-networking-java","homepage":null,"size":742,"stargazers_count":17,"watchers_count":17,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":3,"forks":9,"open_issues":3,"watchers":17,"default_branch":"v2.0.0"}},"_links":{"self":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148"},"html":{"href":"https://github.com/vimeo/vimeo-networking-java/pull/148"},"issue":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/148"},"comments":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/issues/148/comments"},"review_comments":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148/comments"},"review_comment":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/pulls/148/commits"},"statuses":{"href":"https://api.github.com/repos/vimeo/vimeo-networking-java/statuses/6dc168f021d0fd22baaf71c24253c50712d9f6ca"}}}}
{"actor":{"display_login":"anthonycr"}}