{"action":"closed","number":67,"pull_request":{"url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67","id":50599992,"html_url":"https://github.com/CMPUT301F15T03/301p/pull/67","diff_url":"https://github.com/CMPUT301F15T03/301p/pull/67.diff","patch_url":"https://github.com/CMPUT301F15T03/301p/pull/67.patch","issue_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/67","number":67,"state":"closed","locked":false,"title":"Implemented QueuedDataManager","user":{"login":"udeyrishi","id":4692593,"avatar_url":"https://avatars.githubusercontent.com/u/4692593?v=3","gravatar_id":"","url":"https://api.github.com/users/udeyrishi","html_url":"https://github.com/udeyrishi","followers_url":"https://api.github.com/users/udeyrishi/followers","following_url":"https://api.github.com/users/udeyrishi/following{/other_user}","gists_url":"https://api.github.com/users/udeyrishi/gists{/gist_id}","starred_url":"https://api.github.com/users/udeyrishi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udeyrishi/subscriptions","organizations_url":"https://api.github.com/users/udeyrishi/orgs","repos_url":"https://api.github.com/users/udeyrishi/repos","events_url":"https://api.github.com/users/udeyrishi/events{/privacy}","received_events_url":"https://api.github.com/users/udeyrishi/received_events","type":"User","site_admin":false},"body":"Implemented QueuedDataManager. There are some minor API changes, but I fixed all the places that were affected. \r\n\r\nQueuedDataManager guarantees:\r\n* All the write and delete operations will eventually go through, no matter what the current internet state is. The requests are persisted, so that they are still sent even if the app restarts.\r\n* All the operations will be sent in the exact same order as they were queued. This guarantees data integrity for operations that work on the same remote object.\r\n* All the write and delete operations will be performed on a different thread. So these methods can be called on the UI thread safely, even though network is accessed.\r\n\r\nTo get an all configured QDM instance, you can go <pre><code>TradeApp.getInstance().createDataManager(useExplicitExposeAnnotation: boolean)</code></pre>.","created_at":"2015-11-13T03:16:04Z","updated_at":"2015-11-15T04:13:54Z","closed_at":"2015-11-15T04:13:54Z","merged_at":"2015-11-15T04:13:54Z","merge_commit_sha":"052c326984a73262632a88833a06b52821323ea4","assignee":null,"milestone":{"url":"https://api.github.com/repos/CMPUT301F15T03/301p/milestones/2","html_url":"https://github.com/CMPUT301F15T03/301p/milestones/Project%20Part%205","labels_url":"https://api.github.com/repos/CMPUT301F15T03/301p/milestones/2/labels","id":1344680,"number":2,"title":"Project Part 5","description":"Finish the remaining user stories assigned to this milestone.\r\n- Develop a usable, interactive application using Java and Android.\r\n- Create behavioural design documentation.\r\n- Adapt to changing project requirements\r\n\r\nDue date\tMonday, 30 November 2015, 4:00 PM","creator":{"login":"kyleoshaughnessy","id":5834110,"avatar_url":"https://avatars.githubusercontent.com/u/5834110?v=3","gravatar_id":"","url":"https://api.github.com/users/kyleoshaughnessy","html_url":"https://github.com/kyleoshaughnessy","followers_url":"https://api.github.com/users/kyleoshaughnessy/followers","following_url":"https://api.github.com/users/kyleoshaughnessy/following{/other_user}","gists_url":"https://api.github.com/users/kyleoshaughnessy/gists{/gist_id}","starred_url":"https://api.github.com/users/kyleoshaughnessy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kyleoshaughnessy/subscriptions","organizations_url":"https://api.github.com/users/kyleoshaughnessy/orgs","repos_url":"https://api.github.com/users/kyleoshaughnessy/repos","events_url":"https://api.github.com/users/kyleoshaughnessy/events{/privacy}","received_events_url":"https://api.github.com/users/kyleoshaughnessy/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":1,"state":"open","created_at":"2015-10-08T14:10:17Z","updated_at":"2015-11-15T04:13:54Z","due_on":"2015-11-30T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67/commits","review_comments_url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67/comments","review_comment_url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/67/comments","statuses_url":"https://api.github.com/repos/CMPUT301F15T03/301p/statuses/c3c275d6fd30e1660450ff69ffdc67912f1670f9","head":{"label":"CMPUT301F15T03:qdm","ref":"qdm","sha":"c3c275d6fd30e1660450ff69ffdc67912f1670f9","user":{"login":"CMPUT301F15T03","id":14153092,"avatar_url":"https://avatars.githubusercontent.com/u/14153092?v=3","gravatar_id":"","url":"https://api.github.com/users/CMPUT301F15T03","html_url":"https://github.com/CMPUT301F15T03","followers_url":"https://api.github.com/users/CMPUT301F15T03/followers","following_url":"https://api.github.com/users/CMPUT301F15T03/following{/other_user}","gists_url":"https://api.github.com/users/CMPUT301F15T03/gists{/gist_id}","starred_url":"https://api.github.com/users/CMPUT301F15T03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMPUT301F15T03/subscriptions","organizations_url":"https://api.github.com/users/CMPUT301F15T03/orgs","repos_url":"https://api.github.com/users/CMPUT301F15T03/repos","events_url":"https://api.github.com/users/CMPUT301F15T03/events{/privacy}","received_events_url":"https://api.github.com/users/CMPUT301F15T03/received_events","type":"Organization","site_admin":false},"repo":{"id":42413172,"name":"301p","full_name":"CMPUT301F15T03/301p","owner":{"login":"CMPUT301F15T03","id":14153092,"avatar_url":"https://avatars.githubusercontent.com/u/14153092?v=3","gravatar_id":"","url":"https://api.github.com/users/CMPUT301F15T03","html_url":"https://github.com/CMPUT301F15T03","followers_url":"https://api.github.com/users/CMPUT301F15T03/followers","following_url":"https://api.github.com/users/CMPUT301F15T03/following{/other_user}","gists_url":"https://api.github.com/users/CMPUT301F15T03/gists{/gist_id}","starred_url":"https://api.github.com/users/CMPUT301F15T03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMPUT301F15T03/subscriptions","organizations_url":"https://api.github.com/users/CMPUT301F15T03/orgs","repos_url":"https://api.github.com/users/CMPUT301F15T03/repos","events_url":"https://api.github.com/users/CMPUT301F15T03/events{/privacy}","received_events_url":"https://api.github.com/users/CMPUT301F15T03/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CMPUT301F15T03/301p","description":"Photography equipment trading post!","fork":false,"url":"https://api.github.com/repos/CMPUT301F15T03/301p","forks_url":"https://api.github.com/repos/CMPUT301F15T03/301p/forks","keys_url":"https://api.github.com/repos/CMPUT301F15T03/301p/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CMPUT301F15T03/301p/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CMPUT301F15T03/301p/teams","hooks_url":"https://api.github.com/repos/CMPUT301F15T03/301p/hooks","issue_events_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/events{/number}","events_url":"https://api.github.com/repos/CMPUT301F15T03/301p/events","assignees_url":"https://api.github.com/repos/CMPUT301F15T03/301p/assignees{/user}","branches_url":"https://api.github.com/repos/CMPUT301F15T03/301p/branches{/branch}","tags_url":"https://api.github.com/repos/CMPUT301F15T03/301p/tags","blobs_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/refs{/sha}","trees_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CMPUT301F15T03/301p/statuses/{sha}","languages_url":"https://api.github.com/repos/CMPUT301F15T03/301p/languages","stargazers_url":"https://api.github.com/repos/CMPUT301F15T03/301p/stargazers","contributors_url":"https://api.github.com/repos/CMPUT301F15T03/301p/contributors","subscribers_url":"https://api.github.com/repos/CMPUT301F15T03/301p/subscribers","subscription_url":"https://api.github.com/repos/CMPUT301F15T03/301p/subscription","commits_url":"https://api.github.com/repos/CMPUT301F15T03/301p/commits{/sha}","git_commits_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/commits{/sha}","comments_url":"https://api.github.com/repos/CMPUT301F15T03/301p/comments{/number}","issue_comment_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/comments{/number}","contents_url":"https://api.github.com/repos/CMPUT301F15T03/301p/contents/{+path}","compare_url":"https://api.github.com/repos/CMPUT301F15T03/301p/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CMPUT301F15T03/301p/merges","archive_url":"https://api.github.com/repos/CMPUT301F15T03/301p/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CMPUT301F15T03/301p/downloads","issues_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues{/number}","pulls_url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls{/number}","milestones_url":"https://api.github.com/repos/CMPUT301F15T03/301p/milestones{/number}","notifications_url":"https://api.github.com/repos/CMPUT301F15T03/301p/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CMPUT301F15T03/301p/labels{/name}","releases_url":"https://api.github.com/repos/CMPUT301F15T03/301p/releases{/id}","created_at":"2015-09-13T21:13:23Z","updated_at":"2015-10-08T01:12:02Z","pushed_at":"2015-11-15T04:13:54Z","git_url":"git://github.com/CMPUT301F15T03/301p.git","ssh_url":"git@github.com:CMPUT301F15T03/301p.git","clone_url":"https://github.com/CMPUT301F15T03/301p.git","svn_url":"https://github.com/CMPUT301F15T03/301p","homepage":"","size":21624,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":26,"forks":5,"open_issues":26,"watchers":0,"default_branch":"master"}},"base":{"label":"CMPUT301F15T03:master","ref":"master","sha":"a9dcf299e2d37839cee0788f79c3bcdee777320a","user":{"login":"CMPUT301F15T03","id":14153092,"avatar_url":"https://avatars.githubusercontent.com/u/14153092?v=3","gravatar_id":"","url":"https://api.github.com/users/CMPUT301F15T03","html_url":"https://github.com/CMPUT301F15T03","followers_url":"https://api.github.com/users/CMPUT301F15T03/followers","following_url":"https://api.github.com/users/CMPUT301F15T03/following{/other_user}","gists_url":"https://api.github.com/users/CMPUT301F15T03/gists{/gist_id}","starred_url":"https://api.github.com/users/CMPUT301F15T03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMPUT301F15T03/subscriptions","organizations_url":"https://api.github.com/users/CMPUT301F15T03/orgs","repos_url":"https://api.github.com/users/CMPUT301F15T03/repos","events_url":"https://api.github.com/users/CMPUT301F15T03/events{/privacy}","received_events_url":"https://api.github.com/users/CMPUT301F15T03/received_events","type":"Organization","site_admin":false},"repo":{"id":42413172,"name":"301p","full_name":"CMPUT301F15T03/301p","owner":{"login":"CMPUT301F15T03","id":14153092,"avatar_url":"https://avatars.githubusercontent.com/u/14153092?v=3","gravatar_id":"","url":"https://api.github.com/users/CMPUT301F15T03","html_url":"https://github.com/CMPUT301F15T03","followers_url":"https://api.github.com/users/CMPUT301F15T03/followers","following_url":"https://api.github.com/users/CMPUT301F15T03/following{/other_user}","gists_url":"https://api.github.com/users/CMPUT301F15T03/gists{/gist_id}","starred_url":"https://api.github.com/users/CMPUT301F15T03/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CMPUT301F15T03/subscriptions","organizations_url":"https://api.github.com/users/CMPUT301F15T03/orgs","repos_url":"https://api.github.com/users/CMPUT301F15T03/repos","events_url":"https://api.github.com/users/CMPUT301F15T03/events{/privacy}","received_events_url":"https://api.github.com/users/CMPUT301F15T03/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CMPUT301F15T03/301p","description":"Photography equipment trading post!","fork":false,"url":"https://api.github.com/repos/CMPUT301F15T03/301p","forks_url":"https://api.github.com/repos/CMPUT301F15T03/301p/forks","keys_url":"https://api.github.com/repos/CMPUT301F15T03/301p/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CMPUT301F15T03/301p/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CMPUT301F15T03/301p/teams","hooks_url":"https://api.github.com/repos/CMPUT301F15T03/301p/hooks","issue_events_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/events{/number}","events_url":"https://api.github.com/repos/CMPUT301F15T03/301p/events","assignees_url":"https://api.github.com/repos/CMPUT301F15T03/301p/assignees{/user}","branches_url":"https://api.github.com/repos/CMPUT301F15T03/301p/branches{/branch}","tags_url":"https://api.github.com/repos/CMPUT301F15T03/301p/tags","blobs_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/refs{/sha}","trees_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CMPUT301F15T03/301p/statuses/{sha}","languages_url":"https://api.github.com/repos/CMPUT301F15T03/301p/languages","stargazers_url":"https://api.github.com/repos/CMPUT301F15T03/301p/stargazers","contributors_url":"https://api.github.com/repos/CMPUT301F15T03/301p/contributors","subscribers_url":"https://api.github.com/repos/CMPUT301F15T03/301p/subscribers","subscription_url":"https://api.github.com/repos/CMPUT301F15T03/301p/subscription","commits_url":"https://api.github.com/repos/CMPUT301F15T03/301p/commits{/sha}","git_commits_url":"https://api.github.com/repos/CMPUT301F15T03/301p/git/commits{/sha}","comments_url":"https://api.github.com/repos/CMPUT301F15T03/301p/comments{/number}","issue_comment_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/comments{/number}","contents_url":"https://api.github.com/repos/CMPUT301F15T03/301p/contents/{+path}","compare_url":"https://api.github.com/repos/CMPUT301F15T03/301p/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CMPUT301F15T03/301p/merges","archive_url":"https://api.github.com/repos/CMPUT301F15T03/301p/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CMPUT301F15T03/301p/downloads","issues_url":"https://api.github.com/repos/CMPUT301F15T03/301p/issues{/number}","pulls_url":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls{/number}","milestones_url":"https://api.github.com/repos/CMPUT301F15T03/301p/milestones{/number}","notifications_url":"https://api.github.com/repos/CMPUT301F15T03/301p/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CMPUT301F15T03/301p/labels{/name}","releases_url":"https://api.github.com/repos/CMPUT301F15T03/301p/releases{/id}","created_at":"2015-09-13T21:13:23Z","updated_at":"2015-10-08T01:12:02Z","pushed_at":"2015-11-15T04:13:54Z","git_url":"git://github.com/CMPUT301F15T03/301p.git","ssh_url":"git@github.com:CMPUT301F15T03/301p.git","clone_url":"https://github.com/CMPUT301F15T03/301p.git","svn_url":"https://github.com/CMPUT301F15T03/301p","homepage":"","size":21624,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":26,"forks":5,"open_issues":26,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67"},"html":{"href":"https://github.com/CMPUT301F15T03/301p/pull/67"},"issue":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/67"},"comments":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/issues/67/comments"},"review_comments":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67/comments"},"review_comment":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/pulls/67/commits"},"statuses":{"href":"https://api.github.com/repos/CMPUT301F15T03/301p/statuses/c3c275d6fd30e1660450ff69ffdc67912f1670f9"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"udeyrishi","id":4692593,"avatar_url":"https://avatars.githubusercontent.com/u/4692593?v=3","gravatar_id":"","url":"https://api.github.com/users/udeyrishi","html_url":"https://github.com/udeyrishi","followers_url":"https://api.github.com/users/udeyrishi/followers","following_url":"https://api.github.com/users/udeyrishi/following{/other_user}","gists_url":"https://api.github.com/users/udeyrishi/gists{/gist_id}","starred_url":"https://api.github.com/users/udeyrishi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/udeyrishi/subscriptions","organizations_url":"https://api.github.com/users/udeyrishi/orgs","repos_url":"https://api.github.com/users/udeyrishi/repos","events_url":"https://api.github.com/users/udeyrishi/events{/privacy}","received_events_url":"https://api.github.com/users/udeyrishi/received_events","type":"User","site_admin":false},"comments":3,"review_comments":1,"commits":47,"additions":1226,"deletions":204,"changed_files":33}}