{"action":"created","comment":{"url":"https://api.github.com/repos/google/sagetv/pulls/comments/77740041","id":77740041,"diff_hunk":"@@ -2182,14 +2066,7 @@ else if (\"FanArt\".equals(packages[i].type))\n     }\n     finally\n     {\n-      if (stagedRenameWriter != null)\n-      {\n-        try\n-        {\n-          stagedRenameWriter.close();\n-        }\n-        catch (Exception e){}\n-      }\n+      IOUtils.closeQuietly(stagedRenameWriter);","path":"java/sage/plugin/CorePluginManager.java","position":368,"original_position":368,"commit_id":"e9d54339e3e8bd2e1c2c4e907a0b9fd7063f6151","original_commit_id":"e9d54339e3e8bd2e1c2c4e907a0b9fd7063f6151","user":{"login":"stuckless","id":1056553,"avatar_url":"https://avatars.githubusercontent.com/u/1056553?v=3","gravatar_id":"","url":"https://api.github.com/users/stuckless","html_url":"https://github.com/stuckless","followers_url":"https://api.github.com/users/stuckless/followers","following_url":"https://api.github.com/users/stuckless/following{/other_user}","gists_url":"https://api.github.com/users/stuckless/gists{/gist_id}","starred_url":"https://api.github.com/users/stuckless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuckless/subscriptions","organizations_url":"https://api.github.com/users/stuckless/orgs","repos_url":"https://api.github.com/users/stuckless/repos","events_url":"https://api.github.com/users/stuckless/events{/privacy}","received_events_url":"https://api.github.com/users/stuckless/received_events","type":"User","site_admin":false},"body":"Basically, stagedRenameWriter was a writer before, and now it holds a reference to the writer.   the wrapper implements closeable so closeQUietly is doing the same as the lines it is replacing.    The stagedRenameWriter.close() method closes the underlying implementation.  Does it not??","created_at":"2016-09-06T23:55:06Z","updated_at":"2016-09-06T23:55:06Z","html_url":"https://github.com/google/sagetv/pull/169#discussion_r77740041","pull_request_url":"https://api.github.com/repos/google/sagetv/pulls/169","_links":{"self":{"href":"https://api.github.com/repos/google/sagetv/pulls/comments/77740041"},"html":{"href":"https://github.com/google/sagetv/pull/169#discussion_r77740041"},"pull_request":{"href":"https://api.github.com/repos/google/sagetv/pulls/169"}}},"pull_request":{"url":"https://api.github.com/repos/google/sagetv/pulls/169","id":84210660,"html_url":"https://github.com/google/sagetv/pull/169","diff_url":"https://github.com/google/sagetv/pull/169.diff","patch_url":"https://github.com/google/sagetv/pull/169.patch","issue_url":"https://api.github.com/repos/google/sagetv/issues/169","number":169,"state":"open","locked":false,"title":"Plugin Manager Changes","user":{"login":"stuckless","id":1056553,"avatar_url":"https://avatars.githubusercontent.com/u/1056553?v=3","gravatar_id":"","url":"https://api.github.com/users/stuckless","html_url":"https://github.com/stuckless","followers_url":"https://api.github.com/users/stuckless/followers","following_url":"https://api.github.com/users/stuckless/following{/other_user}","gists_url":"https://api.github.com/users/stuckless/gists{/gist_id}","starred_url":"https://api.github.com/users/stuckless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuckless/subscriptions","organizations_url":"https://api.github.com/users/stuckless/orgs","repos_url":"https://api.github.com/users/stuckless/repos","events_url":"https://api.github.com/users/stuckless/events{/privacy}","received_events_url":"https://api.github.com/users/stuckless/received_events","type":"User","site_admin":false},"body":"These changes allow that that the JAR package in a plugin can be a direct reference to jar file to download.  The MD5 can be optionally supplied or it will be automatically resolved by using the base url of the jar and appending .md5.  (this is standard maven format).\r\n\r\nNOTE:  installFile is code that was refactored out of the zip loop and moved to a new method so that it could be reused.  This doesn't show very well in the diff, since the file offsets are off by alot, but the code is nearly identical, with the exception that installFile does not rely on a ZipEntry but rather an InstallableItem facade that provides access to the 'real' data being installed (File or ZipEntry).  This preserves the original logic and allows it to be applied to ZipEntries or normal files (ie Jar File).","created_at":"2016-09-06T22:55:51Z","updated_at":"2016-09-06T23:55:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e5918627a54dcf0255343c0f6ffd5f1383775d34","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/google/sagetv/pulls/169/commits","review_comments_url":"https://api.github.com/repos/google/sagetv/pulls/169/comments","review_comment_url":"https://api.github.com/repos/google/sagetv/pulls/comments{/number}","comments_url":"https://api.github.com/repos/google/sagetv/issues/169/comments","statuses_url":"https://api.github.com/repos/google/sagetv/statuses/e9d54339e3e8bd2e1c2c4e907a0b9fd7063f6151","head":{"label":"stuckless:master","ref":"master","sha":"e9d54339e3e8bd2e1c2c4e907a0b9fd7063f6151","user":{"login":"stuckless","id":1056553,"avatar_url":"https://avatars.githubusercontent.com/u/1056553?v=3","gravatar_id":"","url":"https://api.github.com/users/stuckless","html_url":"https://github.com/stuckless","followers_url":"https://api.github.com/users/stuckless/followers","following_url":"https://api.github.com/users/stuckless/following{/other_user}","gists_url":"https://api.github.com/users/stuckless/gists{/gist_id}","starred_url":"https://api.github.com/users/stuckless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuckless/subscriptions","organizations_url":"https://api.github.com/users/stuckless/orgs","repos_url":"https://api.github.com/users/stuckless/repos","events_url":"https://api.github.com/users/stuckless/events{/privacy}","received_events_url":"https://api.github.com/users/stuckless/received_events","type":"User","site_admin":false},"repo":{"id":40509069,"name":"sagetv","full_name":"stuckless/sagetv","owner":{"login":"stuckless","id":1056553,"avatar_url":"https://avatars.githubusercontent.com/u/1056553?v=3","gravatar_id":"","url":"https://api.github.com/users/stuckless","html_url":"https://github.com/stuckless","followers_url":"https://api.github.com/users/stuckless/followers","following_url":"https://api.github.com/users/stuckless/following{/other_user}","gists_url":"https://api.github.com/users/stuckless/gists{/gist_id}","starred_url":"https://api.github.com/users/stuckless/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuckless/subscriptions","organizations_url":"https://api.github.com/users/stuckless/orgs","repos_url":"https://api.github.com/users/stuckless/repos","events_url":"https://api.github.com/users/stuckless/events{/privacy}","received_events_url":"https://api.github.com/users/stuckless/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stuckless/sagetv","description":null,"fork":true,"url":"https://api.github.com/repos/stuckless/sagetv","forks_url":"https://api.github.com/repos/stuckless/sagetv/forks","keys_url":"https://api.github.com/repos/stuckless/sagetv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stuckless/sagetv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stuckless/sagetv/teams","hooks_url":"https://api.github.com/repos/stuckless/sagetv/hooks","issue_events_url":"https://api.github.com/repos/stuckless/sagetv/issues/events{/number}","events_url":"https://api.github.com/repos/stuckless/sagetv/events","assignees_url":"https://api.github.com/repos/stuckless/sagetv/assignees{/user}","branches_url":"https://api.github.com/repos/stuckless/sagetv/branches{/branch}","tags_url":"https://api.github.com/repos/stuckless/sagetv/tags","blobs_url":"https://api.github.com/repos/stuckless/sagetv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stuckless/sagetv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stuckless/sagetv/git/refs{/sha}","trees_url":"https://api.github.com/repos/stuckless/sagetv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stuckless/sagetv/statuses/{sha}","languages_url":"https://api.github.com/repos/stuckless/sagetv/languages","stargazers_url":"https://api.github.com/repos/stuckless/sagetv/stargazers","contributors_url":"https://api.github.com/repos/stuckless/sagetv/contributors","subscribers_url":"https://api.github.com/repos/stuckless/sagetv/subscribers","subscription_url":"https://api.github.com/repos/stuckless/sagetv/subscription","commits_url":"https://api.github.com/repos/stuckless/sagetv/commits{/sha}","git_commits_url":"https://api.github.com/repos/stuckless/sagetv/git/commits{/sha}","comments_url":"https://api.github.com/repos/stuckless/sagetv/comments{/number}","issue_comment_url":"https://api.github.com/repos/stuckless/sagetv/issues/comments{/number}","contents_url":"https://api.github.com/repos/stuckless/sagetv/contents/{+path}","compare_url":"https://api.github.com/repos/stuckless/sagetv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stuckless/sagetv/merges","archive_url":"https://api.github.com/repos/stuckless/sagetv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stuckless/sagetv/downloads","issues_url":"https://api.github.com/repos/stuckless/sagetv/issues{/number}","pulls_url":"https://api.github.com/repos/stuckless/sagetv/pulls{/number}","milestones_url":"https://api.github.com/repos/stuckless/sagetv/milestones{/number}","notifications_url":"https://api.github.com/repos/stuckless/sagetv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stuckless/sagetv/labels{/name}","releases_url":"https://api.github.com/repos/stuckless/sagetv/releases{/id}","deployments_url":"https://api.github.com/repos/stuckless/sagetv/deployments","created_at":"2015-08-10T22:24:28Z","updated_at":"2016-01-13T12:12:29Z","pushed_at":"2016-09-06T22:49:56Z","git_url":"git://github.com/stuckless/sagetv.git","ssh_url":"git@github.com:stuckless/sagetv.git","clone_url":"https://github.com/stuckless/sagetv.git","svn_url":"https://github.com/stuckless/sagetv","homepage":null,"size":68947,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"google:master","ref":"master","sha":"47d0081de7f403fe2f01d57c6742d1c3780a7f79","user":{"login":"google","id":1342004,"avatar_url":"https://avatars.githubusercontent.com/u/1342004?v=3","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"repo":{"id":40379991,"name":"sagetv","full_name":"google/sagetv","owner":{"login":"google","id":1342004,"avatar_url":"https://avatars.githubusercontent.com/u/1342004?v=3","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/google/sagetv","description":"SageTV is a cross-platform networked DVR and media management system","fork":false,"url":"https://api.github.com/repos/google/sagetv","forks_url":"https://api.github.com/repos/google/sagetv/forks","keys_url":"https://api.github.com/repos/google/sagetv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/google/sagetv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/google/sagetv/teams","hooks_url":"https://api.github.com/repos/google/sagetv/hooks","issue_events_url":"https://api.github.com/repos/google/sagetv/issues/events{/number}","events_url":"https://api.github.com/repos/google/sagetv/events","assignees_url":"https://api.github.com/repos/google/sagetv/assignees{/user}","branches_url":"https://api.github.com/repos/google/sagetv/branches{/branch}","tags_url":"https://api.github.com/repos/google/sagetv/tags","blobs_url":"https://api.github.com/repos/google/sagetv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/google/sagetv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/google/sagetv/git/refs{/sha}","trees_url":"https://api.github.com/repos/google/sagetv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/google/sagetv/statuses/{sha}","languages_url":"https://api.github.com/repos/google/sagetv/languages","stargazers_url":"https://api.github.com/repos/google/sagetv/stargazers","contributors_url":"https://api.github.com/repos/google/sagetv/contributors","subscribers_url":"https://api.github.com/repos/google/sagetv/subscribers","subscription_url":"https://api.github.com/repos/google/sagetv/subscription","commits_url":"https://api.github.com/repos/google/sagetv/commits{/sha}","git_commits_url":"https://api.github.com/repos/google/sagetv/git/commits{/sha}","comments_url":"https://api.github.com/repos/google/sagetv/comments{/number}","issue_comment_url":"https://api.github.com/repos/google/sagetv/issues/comments{/number}","contents_url":"https://api.github.com/repos/google/sagetv/contents/{+path}","compare_url":"https://api.github.com/repos/google/sagetv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/google/sagetv/merges","archive_url":"https://api.github.com/repos/google/sagetv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/google/sagetv/downloads","issues_url":"https://api.github.com/repos/google/sagetv/issues{/number}","pulls_url":"https://api.github.com/repos/google/sagetv/pulls{/number}","milestones_url":"https://api.github.com/repos/google/sagetv/milestones{/number}","notifications_url":"https://api.github.com/repos/google/sagetv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/google/sagetv/labels{/name}","releases_url":"https://api.github.com/repos/google/sagetv/releases{/id}","deployments_url":"https://api.github.com/repos/google/sagetv/deployments","created_at":"2015-08-07T20:37:14Z","updated_at":"2016-09-05T10:40:19Z","pushed_at":"2016-09-06T22:55:51Z","git_url":"git://github.com/google/sagetv.git","ssh_url":"git@github.com:google/sagetv.git","clone_url":"https://github.com/google/sagetv.git","svn_url":"https://github.com/google/sagetv","homepage":"http://forums.sagetv.com/","size":69065,"stargazers_count":120,"watchers_count":120,"language":"Java","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":113,"mirror_url":null,"open_issues_count":61,"forks":113,"open_issues":61,"watchers":120,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/google/sagetv/pulls/169"},"html":{"href":"https://github.com/google/sagetv/pull/169"},"issue":{"href":"https://api.github.com/repos/google/sagetv/issues/169"},"comments":{"href":"https://api.github.com/repos/google/sagetv/issues/169/comments"},"review_comments":{"href":"https://api.github.com/repos/google/sagetv/pulls/169/comments"},"review_comment":{"href":"https://api.github.com/repos/google/sagetv/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/google/sagetv/pulls/169/commits"},"statuses":{"href":"https://api.github.com/repos/google/sagetv/statuses/e9d54339e3e8bd2e1c2c4e907a0b9fd7063f6151"}}}}
{"actor":{"display_login":"stuckless"}}