{"action":"closed","number":5469,"pull_request":{"url":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469","id":78713115,"html_url":"https://github.com/jOOQ/jOOQ/pull/5469","diff_url":"https://github.com/jOOQ/jOOQ/pull/5469.diff","patch_url":"https://github.com/jOOQ/jOOQ/pull/5469.patch","issue_url":"https://api.github.com/repos/jOOQ/jOOQ/issues/5469","number":5469,"state":"closed","locked":false,"title":"Applied skeletal implementation to interface migration automated refactoring","user":{"login":"khatchad","id":2048831,"avatar_url":"https://avatars.githubusercontent.com/u/2048831?v=3","gravatar_id":"","url":"https://api.github.com/users/khatchad","html_url":"https://github.com/khatchad","followers_url":"https://api.github.com/users/khatchad/followers","following_url":"https://api.github.com/users/khatchad/following{/other_user}","gists_url":"https://api.github.com/users/khatchad/gists{/gist_id}","starred_url":"https://api.github.com/users/khatchad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khatchad/subscriptions","organizations_url":"https://api.github.com/users/khatchad/orgs","repos_url":"https://api.github.com/users/khatchad/repos","events_url":"https://api.github.com/users/khatchad/events{/privacy}","received_events_url":"https://api.github.com/users/khatchad/received_events","type":"User","site_admin":false},"body":"This is a semantics-preserving automated refactoring that migrates existing method implementations in classes to the corresponding implemented interface methods as `default` methods. The tool **does not** add new code; it only rearranges *existing* code.\r\n\r\n- We are evaluating a research prototype automated refactoring Eclipse plug-in called [Migrate Skeletal Implementation to Interface](https://github.com/khatchad/Migrate-Skeletal-Implementation-to-Interface-Refactoring). We have applied the tool to your project in the hopes of receiving feedback.\r\n- The approach is very conservative. Specifically, it only performs a migration if the target interface is unambiguous. That may mean that not all changes that can be made were made. Please feel free to continue the refactoring manually if you wish.\r\n- We only migrated methods declared in abstract classes. We believe such methods to be likely suitable default methods in corresponding interfaces.\r\n- The source code should be semantically equivalent to the original.\r\n\r\nThank you for your help in this evaluation! Any feedback you can provide would be very helpful. In particular, we are interested if *each* of the proposed changes are helpful or not.","created_at":"2016-07-25T16:38:29Z","updated_at":"2016-07-26T06:34:38Z","closed_at":"2016-07-26T06:34:38Z","merged_at":null,"merge_commit_sha":"9dd853d55bdbc7b07396d7cd87225e8e448358bc","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/jOOQ/jOOQ/milestones/125","html_url":"https://github.com/jOOQ/jOOQ/milestones/Version%203.9.0","labels_url":"https://api.github.com/repos/jOOQ/jOOQ/milestones/125/labels","id":1397345,"number":125,"title":"Version 3.9.0","description":"","creator":{"login":"lukaseder","id":734593,"avatar_url":"https://avatars.githubusercontent.com/u/734593?v=3","gravatar_id":"","url":"https://api.github.com/users/lukaseder","html_url":"https://github.com/lukaseder","followers_url":"https://api.github.com/users/lukaseder/followers","following_url":"https://api.github.com/users/lukaseder/following{/other_user}","gists_url":"https://api.github.com/users/lukaseder/gists{/gist_id}","starred_url":"https://api.github.com/users/lukaseder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukaseder/subscriptions","organizations_url":"https://api.github.com/users/lukaseder/orgs","repos_url":"https://api.github.com/users/lukaseder/repos","events_url":"https://api.github.com/users/lukaseder/events{/privacy}","received_events_url":"https://api.github.com/users/lukaseder/received_events","type":"User","site_admin":false},"open_issues":426,"closed_issues":128,"state":"open","created_at":"2015-11-06T09:31:19Z","updated_at":"2016-07-26T06:34:38Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469/commits","review_comments_url":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469/comments","review_comment_url":"https://api.github.com/repos/jOOQ/jOOQ/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jOOQ/jOOQ/issues/5469/comments","statuses_url":"https://api.github.com/repos/jOOQ/jOOQ/statuses/1297777e136714d907f5cbf7fb4250212e492edc","head":{"label":"khatchadourian-lab:master","ref":"master","sha":"1297777e136714d907f5cbf7fb4250212e492edc","user":{"login":"khatchadourian-lab","id":13737584,"avatar_url":"https://avatars.githubusercontent.com/u/13737584?v=3","gravatar_id":"","url":"https://api.github.com/users/khatchadourian-lab","html_url":"https://github.com/khatchadourian-lab","followers_url":"https://api.github.com/users/khatchadourian-lab/followers","following_url":"https://api.github.com/users/khatchadourian-lab/following{/other_user}","gists_url":"https://api.github.com/users/khatchadourian-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/khatchadourian-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khatchadourian-lab/subscriptions","organizations_url":"https://api.github.com/users/khatchadourian-lab/orgs","repos_url":"https://api.github.com/users/khatchadourian-lab/repos","events_url":"https://api.github.com/users/khatchadourian-lab/events{/privacy}","received_events_url":"https://api.github.com/users/khatchadourian-lab/received_events","type":"Organization","site_admin":false},"repo":{"id":64148992,"name":"jOOQ","full_name":"khatchadourian-lab/jOOQ","owner":{"login":"khatchadourian-lab","id":13737584,"avatar_url":"https://avatars.githubusercontent.com/u/13737584?v=3","gravatar_id":"","url":"https://api.github.com/users/khatchadourian-lab","html_url":"https://github.com/khatchadourian-lab","followers_url":"https://api.github.com/users/khatchadourian-lab/followers","following_url":"https://api.github.com/users/khatchadourian-lab/following{/other_user}","gists_url":"https://api.github.com/users/khatchadourian-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/khatchadourian-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khatchadourian-lab/subscriptions","organizations_url":"https://api.github.com/users/khatchadourian-lab/orgs","repos_url":"https://api.github.com/users/khatchadourian-lab/repos","events_url":"https://api.github.com/users/khatchadourian-lab/events{/privacy}","received_events_url":"https://api.github.com/users/khatchadourian-lab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/khatchadourian-lab/jOOQ","description":"jOOQ is an innovative solution for a better integration of Java applications with popular databases like Oracle, Microsoft SQL Server, IBM DB2, or SAP Sybase. When using jOOQ, our customers benefit from a significant added value and ROI as their software developers can express database queries in a much simpler and faster way. From our experience, this leads to a 10% - 20% decrease of programming effort, which again leads to higher quality and to a lower error rate in program code, and thus in the entire application.","fork":true,"url":"https://api.github.com/repos/khatchadourian-lab/jOOQ","forks_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/forks","keys_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/keys{/key_id}","collaborators_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/teams","hooks_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/hooks","issue_events_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/issues/events{/number}","events_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/events","assignees_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/assignees{/user}","branches_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/branches{/branch}","tags_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/tags","blobs_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/git/refs{/sha}","trees_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/git/trees{/sha}","statuses_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/statuses/{sha}","languages_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/languages","stargazers_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/stargazers","contributors_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/contributors","subscribers_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/subscribers","subscription_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/subscription","commits_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/commits{/sha}","git_commits_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/git/commits{/sha}","comments_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/comments{/number}","issue_comment_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/issues/comments{/number}","contents_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/contents/{+path}","compare_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/compare/{base}...{head}","merges_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/merges","archive_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/downloads","issues_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/issues{/number}","pulls_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/pulls{/number}","milestones_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/milestones{/number}","notifications_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/labels{/name}","releases_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/releases{/id}","deployments_url":"https://api.github.com/repos/khatchadourian-lab/jOOQ/deployments","created_at":"2016-07-25T16:05:31Z","updated_at":"2016-07-25T16:05:38Z","pushed_at":"2016-07-25T16:34:43Z","git_url":"git://github.com/khatchadourian-lab/jOOQ.git","ssh_url":"git@github.com:khatchadourian-lab/jOOQ.git","clone_url":"https://github.com/khatchadourian-lab/jOOQ.git","svn_url":"https://github.com/khatchadourian-lab/jOOQ","homepage":"http://www.jooq.org","size":121101,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"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":"jOOQ:master","ref":"master","sha":"da5f74eb3fc49e04b25a19034873eb18889ef856","user":{"login":"jOOQ","id":1666512,"avatar_url":"https://avatars.githubusercontent.com/u/1666512?v=3","gravatar_id":"","url":"https://api.github.com/users/jOOQ","html_url":"https://github.com/jOOQ","followers_url":"https://api.github.com/users/jOOQ/followers","following_url":"https://api.github.com/users/jOOQ/following{/other_user}","gists_url":"https://api.github.com/users/jOOQ/gists{/gist_id}","starred_url":"https://api.github.com/users/jOOQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jOOQ/subscriptions","organizations_url":"https://api.github.com/users/jOOQ/orgs","repos_url":"https://api.github.com/users/jOOQ/repos","events_url":"https://api.github.com/users/jOOQ/events{/privacy}","received_events_url":"https://api.github.com/users/jOOQ/received_events","type":"Organization","site_admin":false},"repo":{"id":1625986,"name":"jOOQ","full_name":"jOOQ/jOOQ","owner":{"login":"jOOQ","id":1666512,"avatar_url":"https://avatars.githubusercontent.com/u/1666512?v=3","gravatar_id":"","url":"https://api.github.com/users/jOOQ","html_url":"https://github.com/jOOQ","followers_url":"https://api.github.com/users/jOOQ/followers","following_url":"https://api.github.com/users/jOOQ/following{/other_user}","gists_url":"https://api.github.com/users/jOOQ/gists{/gist_id}","starred_url":"https://api.github.com/users/jOOQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jOOQ/subscriptions","organizations_url":"https://api.github.com/users/jOOQ/orgs","repos_url":"https://api.github.com/users/jOOQ/repos","events_url":"https://api.github.com/users/jOOQ/events{/privacy}","received_events_url":"https://api.github.com/users/jOOQ/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jOOQ/jOOQ","description":"jOOQ is an innovative solution for a better integration of Java applications with popular databases like Oracle, Microsoft SQL Server, IBM DB2, or SAP Sybase. When using jOOQ, our customers benefit from a significant added value and ROI as their software developers can express database queries in a much simpler and faster way. From our experience, this leads to a 10% - 20% decrease of programming effort, which again leads to higher quality and to a lower error rate in program code, and thus in the entire application.","fork":false,"url":"https://api.github.com/repos/jOOQ/jOOQ","forks_url":"https://api.github.com/repos/jOOQ/jOOQ/forks","keys_url":"https://api.github.com/repos/jOOQ/jOOQ/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jOOQ/jOOQ/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jOOQ/jOOQ/teams","hooks_url":"https://api.github.com/repos/jOOQ/jOOQ/hooks","issue_events_url":"https://api.github.com/repos/jOOQ/jOOQ/issues/events{/number}","events_url":"https://api.github.com/repos/jOOQ/jOOQ/events","assignees_url":"https://api.github.com/repos/jOOQ/jOOQ/assignees{/user}","branches_url":"https://api.github.com/repos/jOOQ/jOOQ/branches{/branch}","tags_url":"https://api.github.com/repos/jOOQ/jOOQ/tags","blobs_url":"https://api.github.com/repos/jOOQ/jOOQ/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jOOQ/jOOQ/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jOOQ/jOOQ/git/refs{/sha}","trees_url":"https://api.github.com/repos/jOOQ/jOOQ/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jOOQ/jOOQ/statuses/{sha}","languages_url":"https://api.github.com/repos/jOOQ/jOOQ/languages","stargazers_url":"https://api.github.com/repos/jOOQ/jOOQ/stargazers","contributors_url":"https://api.github.com/repos/jOOQ/jOOQ/contributors","subscribers_url":"https://api.github.com/repos/jOOQ/jOOQ/subscribers","subscription_url":"https://api.github.com/repos/jOOQ/jOOQ/subscription","commits_url":"https://api.github.com/repos/jOOQ/jOOQ/commits{/sha}","git_commits_url":"https://api.github.com/repos/jOOQ/jOOQ/git/commits{/sha}","comments_url":"https://api.github.com/repos/jOOQ/jOOQ/comments{/number}","issue_comment_url":"https://api.github.com/repos/jOOQ/jOOQ/issues/comments{/number}","contents_url":"https://api.github.com/repos/jOOQ/jOOQ/contents/{+path}","compare_url":"https://api.github.com/repos/jOOQ/jOOQ/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jOOQ/jOOQ/merges","archive_url":"https://api.github.com/repos/jOOQ/jOOQ/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jOOQ/jOOQ/downloads","issues_url":"https://api.github.com/repos/jOOQ/jOOQ/issues{/number}","pulls_url":"https://api.github.com/repos/jOOQ/jOOQ/pulls{/number}","milestones_url":"https://api.github.com/repos/jOOQ/jOOQ/milestones{/number}","notifications_url":"https://api.github.com/repos/jOOQ/jOOQ/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jOOQ/jOOQ/labels{/name}","releases_url":"https://api.github.com/repos/jOOQ/jOOQ/releases{/id}","deployments_url":"https://api.github.com/repos/jOOQ/jOOQ/deployments","created_at":"2011-04-17T10:43:33Z","updated_at":"2016-07-25T14:50:23Z","pushed_at":"2016-07-25T16:38:29Z","git_url":"git://github.com/jOOQ/jOOQ.git","ssh_url":"git@github.com:jOOQ/jOOQ.git","clone_url":"https://github.com/jOOQ/jOOQ.git","svn_url":"https://github.com/jOOQ/jOOQ","homepage":"http://www.jooq.org","size":248235,"stargazers_count":1302,"watchers_count":1302,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":321,"mirror_url":null,"open_issues_count":1126,"forks":321,"open_issues":1126,"watchers":1302,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469"},"html":{"href":"https://github.com/jOOQ/jOOQ/pull/5469"},"issue":{"href":"https://api.github.com/repos/jOOQ/jOOQ/issues/5469"},"comments":{"href":"https://api.github.com/repos/jOOQ/jOOQ/issues/5469/comments"},"review_comments":{"href":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469/comments"},"review_comment":{"href":"https://api.github.com/repos/jOOQ/jOOQ/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jOOQ/jOOQ/pulls/5469/commits"},"statuses":{"href":"https://api.github.com/repos/jOOQ/jOOQ/statuses/1297777e136714d907f5cbf7fb4250212e492edc"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"commits":4,"additions":93,"deletions":187,"changed_files":22}}
{"actor":{"display_login":"lukaseder"}}