{"action":"closed","number":566,"pull_request":{"url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566","id":170577075,"html_url":"https://github.com/eclipse/eclipse.jdt.ls/pull/566","diff_url":"https://github.com/eclipse/eclipse.jdt.ls/pull/566.diff","patch_url":"https://github.com/eclipse/eclipse.jdt.ls/pull/566.patch","issue_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/566","number":566,"state":"closed","locked":false,"title":"[WIP] Use OrganizeImportsOperation in o.e.jdt.core.manipulation.","user":{"login":"rgrunber","id":1417342,"avatar_url":"https://avatars0.githubusercontent.com/u/1417342?v=4","gravatar_id":"","url":"https://api.github.com/users/rgrunber","html_url":"https://github.com/rgrunber","followers_url":"https://api.github.com/users/rgrunber/followers","following_url":"https://api.github.com/users/rgrunber/following{/other_user}","gists_url":"https://api.github.com/users/rgrunber/gists{/gist_id}","starred_url":"https://api.github.com/users/rgrunber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgrunber/subscriptions","organizations_url":"https://api.github.com/users/rgrunber/orgs","repos_url":"https://api.github.com/users/rgrunber/repos","events_url":"https://api.github.com/users/rgrunber/events{/privacy}","received_events_url":"https://api.github.com/users/rgrunber/received_events","type":"User","site_admin":false},"body":"- With http://eclip.se/506239, OrganizeImportsOperation is now API\r\n- ImportReferencesCollector is now API in\r\norg.eclipse.jdt.core.manipulation\r\n- non-UI methods of SharedASTProvider are exposed in\r\norg.eclipse.jdt.core.manipulation through CoreASTProvider\r\n- Preferences such as ORGIMPORTS_IMPORTORDER can now be defined entirely\r\nthrough the IEclipsePreferences facility. Simply use\r\nJavaManipulation.setJavaUIPluginId() to let the JDT know which plug-in\r\nnode will be used to store preferences, and then default/runtime\r\npreferences for consumption.\r\n- StubUtility.createImportRewrite() methods are now public API in\r\nCodeStyleConfiguration\r\n\r\nSigned-off-by: Roland Grunberg <rgrunber@redhat.com>\r\n\r\nI figured I'd get the ball rolling on this now that it finally got accepted into JD UI. There are of course still a few items to fix up, and possibly more as I find them :\r\n\r\n- [x] Move preference related code into the preference manager\r\n- [ ] AFAICT JDT-LS caches many ASTs but JDT only ever cached the one for the active document. This patch returns to the old behaviour. Is this a bad thing ? Do we really see a huge gain from caching many different ASTs ? The JDT SharedASTProvider javadoc mention that more than one AST should never be held in memory for performance reasons.\r\n  - Easiest solution if these methods are really wanted for testing is to wrap all of CoreASTProvider (can't be subclassed) by some new class and provide those methods there\r\n  - [ ] Need replacements for sharedASTProvider's clearASTCreationCount() getASTCreationCount() getCacheSize()\r\n- [ ] Wait until Oxygen M6 is released so we can stop depending on the 4.8-I-builds to build this change, and just use the current 4.8milestones in the target platform\r\n","created_at":"2018-02-21T20:17:20Z","updated_at":"2018-03-15T20:08:39Z","closed_at":"2018-03-15T20:08:39Z","merged_at":null,"merge_commit_sha":"b0d46710c9fe00d5ee20f173753e702821db835c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":505128863,"url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/labels/debt","name":"debt","color":"fbca04","default":false}],"milestone":{"url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/milestones/33","html_url":"https://github.com/eclipse/eclipse.jdt.ls/milestone/33","labels_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/milestones/33/labels","id":3145513,"number":33,"title":"End March 2018","description":"","creator":{"login":"fbricon","id":148698,"avatar_url":"https://avatars3.githubusercontent.com/u/148698?v=4","gravatar_id":"","url":"https://api.github.com/users/fbricon","html_url":"https://github.com/fbricon","followers_url":"https://api.github.com/users/fbricon/followers","following_url":"https://api.github.com/users/fbricon/following{/other_user}","gists_url":"https://api.github.com/users/fbricon/gists{/gist_id}","starred_url":"https://api.github.com/users/fbricon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fbricon/subscriptions","organizations_url":"https://api.github.com/users/fbricon/orgs","repos_url":"https://api.github.com/users/fbricon/repos","events_url":"https://api.github.com/users/fbricon/events{/privacy}","received_events_url":"https://api.github.com/users/fbricon/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":1,"state":"open","created_at":"2018-02-26T22:17:37Z","updated_at":"2018-03-15T20:08:39Z","due_on":"2018-03-30T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566/commits","review_comments_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566/comments","review_comment_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/comments{/number}","comments_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/566/comments","statuses_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/statuses/b7d74f01f288c4efad4c36810814c9dd1d04257a","head":{"label":"rgrunber:organize-imports","ref":"organize-imports","sha":"b7d74f01f288c4efad4c36810814c9dd1d04257a","user":{"login":"rgrunber","id":1417342,"avatar_url":"https://avatars0.githubusercontent.com/u/1417342?v=4","gravatar_id":"","url":"https://api.github.com/users/rgrunber","html_url":"https://github.com/rgrunber","followers_url":"https://api.github.com/users/rgrunber/followers","following_url":"https://api.github.com/users/rgrunber/following{/other_user}","gists_url":"https://api.github.com/users/rgrunber/gists{/gist_id}","starred_url":"https://api.github.com/users/rgrunber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgrunber/subscriptions","organizations_url":"https://api.github.com/users/rgrunber/orgs","repos_url":"https://api.github.com/users/rgrunber/repos","events_url":"https://api.github.com/users/rgrunber/events{/privacy}","received_events_url":"https://api.github.com/users/rgrunber/received_events","type":"User","site_admin":false},"repo":{"id":122381802,"name":"eclipse.jdt.ls","full_name":"rgrunber/eclipse.jdt.ls","owner":{"login":"rgrunber","id":1417342,"avatar_url":"https://avatars0.githubusercontent.com/u/1417342?v=4","gravatar_id":"","url":"https://api.github.com/users/rgrunber","html_url":"https://github.com/rgrunber","followers_url":"https://api.github.com/users/rgrunber/followers","following_url":"https://api.github.com/users/rgrunber/following{/other_user}","gists_url":"https://api.github.com/users/rgrunber/gists{/gist_id}","starred_url":"https://api.github.com/users/rgrunber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgrunber/subscriptions","organizations_url":"https://api.github.com/users/rgrunber/orgs","repos_url":"https://api.github.com/users/rgrunber/repos","events_url":"https://api.github.com/users/rgrunber/events{/privacy}","received_events_url":"https://api.github.com/users/rgrunber/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rgrunber/eclipse.jdt.ls","description":"Java language server","fork":true,"url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls","forks_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/forks","keys_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/teams","hooks_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/hooks","issue_events_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/issues/events{/number}","events_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/events","assignees_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/assignees{/user}","branches_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/branches{/branch}","tags_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/tags","blobs_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/git/refs{/sha}","trees_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/statuses/{sha}","languages_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/languages","stargazers_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/stargazers","contributors_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/contributors","subscribers_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/subscribers","subscription_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/subscription","commits_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/commits{/sha}","git_commits_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/git/commits{/sha}","comments_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/comments{/number}","issue_comment_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/issues/comments{/number}","contents_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/contents/{+path}","compare_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/merges","archive_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/downloads","issues_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/issues{/number}","pulls_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/pulls{/number}","milestones_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/milestones{/number}","notifications_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/labels{/name}","releases_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/releases{/id}","deployments_url":"https://api.github.com/repos/rgrunber/eclipse.jdt.ls/deployments","created_at":"2018-02-21T19:19:14Z","updated_at":"2018-02-21T19:19:17Z","pushed_at":"2018-03-06T19:47:40Z","git_url":"git://github.com/rgrunber/eclipse.jdt.ls.git","ssh_url":"git@github.com:rgrunber/eclipse.jdt.ls.git","clone_url":"https://github.com/rgrunber/eclipse.jdt.ls.git","svn_url":"https://github.com/rgrunber/eclipse.jdt.ls","homepage":null,"size":4194,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"eclipse:master","ref":"master","sha":"f14cc545348e5f72ed0bf01bd7402d5dcfd587b3","user":{"login":"eclipse","id":56974,"avatar_url":"https://avatars1.githubusercontent.com/u/56974?v=4","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"repo":{"id":62056780,"name":"eclipse.jdt.ls","full_name":"eclipse/eclipse.jdt.ls","owner":{"login":"eclipse","id":56974,"avatar_url":"https://avatars1.githubusercontent.com/u/56974?v=4","gravatar_id":"","url":"https://api.github.com/users/eclipse","html_url":"https://github.com/eclipse","followers_url":"https://api.github.com/users/eclipse/followers","following_url":"https://api.github.com/users/eclipse/following{/other_user}","gists_url":"https://api.github.com/users/eclipse/gists{/gist_id}","starred_url":"https://api.github.com/users/eclipse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eclipse/subscriptions","organizations_url":"https://api.github.com/users/eclipse/orgs","repos_url":"https://api.github.com/users/eclipse/repos","events_url":"https://api.github.com/users/eclipse/events{/privacy}","received_events_url":"https://api.github.com/users/eclipse/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/eclipse/eclipse.jdt.ls","description":"Java language server","fork":false,"url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls","forks_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/forks","keys_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/teams","hooks_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/hooks","issue_events_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/events{/number}","events_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/events","assignees_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/assignees{/user}","branches_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/branches{/branch}","tags_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/tags","blobs_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/git/refs{/sha}","trees_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/statuses/{sha}","languages_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/languages","stargazers_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/stargazers","contributors_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/contributors","subscribers_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/subscribers","subscription_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/subscription","commits_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/commits{/sha}","git_commits_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/git/commits{/sha}","comments_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/comments{/number}","issue_comment_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/comments{/number}","contents_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/contents/{+path}","compare_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/merges","archive_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/downloads","issues_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues{/number}","pulls_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls{/number}","milestones_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/milestones{/number}","notifications_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/labels{/name}","releases_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/releases{/id}","deployments_url":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/deployments","created_at":"2016-06-27T13:06:53Z","updated_at":"2018-03-15T20:07:10Z","pushed_at":"2018-03-15T20:07:07Z","git_url":"git://github.com/eclipse/eclipse.jdt.ls.git","ssh_url":"git@github.com:eclipse/eclipse.jdt.ls.git","clone_url":"https://github.com/eclipse/eclipse.jdt.ls.git","svn_url":"https://github.com/eclipse/eclipse.jdt.ls","homepage":null,"size":4215,"stargazers_count":287,"watchers_count":287,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":81,"mirror_url":null,"archived":false,"open_issues_count":94,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0"},"forks":81,"open_issues":94,"watchers":287,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566"},"html":{"href":"https://github.com/eclipse/eclipse.jdt.ls/pull/566"},"issue":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/566"},"comments":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/issues/566/comments"},"review_comments":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566/comments"},"review_comment":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/pulls/566/commits"},"statuses":{"href":"https://api.github.com/repos/eclipse/eclipse.jdt.ls/statuses/b7d74f01f288c4efad4c36810814c9dd1d04257a"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":false,"rebaseable":false,"mergeable_state":"dirty","merged_by":null,"comments":13,"review_comments":4,"maintainer_can_modify":false,"commits":1,"additions":329,"deletions":1884,"changed_files":50}}
{"actor":{"display_login":"fbricon"}}