{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments/185867168","pull_request_review_id":117343646,"id":185867168,"diff_hunk":"@@ -0,0 +1,49 @@\n+\n+package com.google.cloud.tools.eclipse.appengine.validation;\n+\n+import java.net.URI;\n+import java.util.Collections;\n+import java.util.Map;\n+import org.eclipse.core.runtime.Path;\n+import org.eclipse.wst.xml.core.contentmodel.modelquery.IExternalSchemaLocationProvider;\n+\n+/**\n+ * Associate schemas for App Engine standard environment configuration files.\n+ * \n+ * @seealso the {@code org.eclipse.wst.xml.core.externalSchemaLocations} extension point\n+ */\n+public class AppEngineConfigFileSchemaLocationProvider implements IExternalSchemaLocationProvider {\n+  // Relevant XSDs are in this bundle\n+  private static final String SCHEMA_LOCATIONS_PREFIX =\n+      \"platform:/plugin/com.google.cloud.tools.eclipse.appengine.validation/xsd/\";\n+\n+  @Override\n+  public Map<String, String> getExternalSchemaLocation(URI fileURI) {","path":"plugins/com.google.cloud.tools.eclipse.appengine.validation/src/com/google/cloud/tools/eclipse/appengine/validation/AppEngineConfigFileSchemaLocationProvider.java","position":21,"original_position":21,"commit_id":"019d4fa1fdd9ddb57659ec95e54ea88d9611bb1d","original_commit_id":"019d4fa1fdd9ddb57659ec95e54ea88d9611bb1d","user":{"login":"briandealwis","id":202851,"avatar_url":"https://avatars3.githubusercontent.com/u/202851?v=4","gravatar_id":"","url":"https://api.github.com/users/briandealwis","html_url":"https://github.com/briandealwis","followers_url":"https://api.github.com/users/briandealwis/followers","following_url":"https://api.github.com/users/briandealwis/following{/other_user}","gists_url":"https://api.github.com/users/briandealwis/gists{/gist_id}","starred_url":"https://api.github.com/users/briandealwis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briandealwis/subscriptions","organizations_url":"https://api.github.com/users/briandealwis/orgs","repos_url":"https://api.github.com/users/briandealwis/repos","events_url":"https://api.github.com/users/briandealwis/events{/privacy}","received_events_url":"https://api.github.com/users/briandealwis/received_events","type":"User","site_admin":false},"body":"It is almost impossible for a 0-segment fileURI since this is used for XML files.  But I'll check.\r\n\r\nThe WTP `XMLValidator` uses both the schema-location and no-namespace-schema-location.  The `XMLAssociationProvider` , which seems to be used by the autocomplete, only uses the no-namespace-schema-location.  The `CMDocumentLoader`, which is quite heavily used, uses the schema-location if the document has namespaces, or the no-namespace-schema-location otherwise.\r\n\r\nAnd basically our cron.xml, datastore-indexes.xml, dispatch.xml, dos.xml, and queue.xml files don't have namespaces anyways.\r\n\r\nAlthough the callers all support being returned `null`, it's not documented in the javadoc, so I'll return an empty map.","created_at":"2018-05-03T16:48:26Z","updated_at":"2018-05-03T16:48:26Z","html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046#discussion_r185867168","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments/185867168"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046#discussion_r185867168"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046"}},"in_reply_to_id":185857204},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046","id":185756659,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046","diff_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046.diff","patch_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/3046","number":3046,"state":"open","locked":false,"title":"Incorporate XSDs for AES XML configuration files from App Engine SDK","user":{"login":"briandealwis","id":202851,"avatar_url":"https://avatars3.githubusercontent.com/u/202851?v=4","gravatar_id":"","url":"https://api.github.com/users/briandealwis","html_url":"https://github.com/briandealwis","followers_url":"https://api.github.com/users/briandealwis/followers","following_url":"https://api.github.com/users/briandealwis/following{/other_user}","gists_url":"https://api.github.com/users/briandealwis/gists{/gist_id}","starred_url":"https://api.github.com/users/briandealwis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briandealwis/subscriptions","organizations_url":"https://api.github.com/users/briandealwis/orgs","repos_url":"https://api.github.com/users/briandealwis/repos","events_url":"https://api.github.com/users/briandealwis/events{/privacy}","received_events_url":"https://api.github.com/users/briandealwis/received_events","type":"User","site_admin":false},"body":"Adds a WTP XML schema-location provider to associate schemas based on file name patterns.  This is sufficient to bring in validation and auto-complete on the associated elements.\r\n\r\nFor now, all but the `appengine-web.xsd` are brought in as `noNamespaceSchemaLocation` as they have no formal namespaces.\r\n\r\nFixes #1757, #1758, #1759, #1760, #1761","created_at":"2018-05-03T15:36:29Z","updated_at":"2018-05-03T16:48:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"193b083e816d39736c2a7e03084b2ea4e04b68c4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":345327985,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/labels/cla:%20yes","name":"cla: yes","color":"009800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/3046/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/019d4fa1fdd9ddb57659ec95e54ea88d9611bb1d","head":{"label":"GoogleCloudPlatform:i1759","ref":"i1759","sha":"019d4fa1fdd9ddb57659ec95e54ea88d9611bb1d","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":53369484,"name":"google-cloud-eclipse","full_name":"GoogleCloudPlatform/google-cloud-eclipse","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","description":"Google Cloud Platform plugin for Eclipse","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/deployments","created_at":"2016-03-08T00:30:03Z","updated_at":"2018-05-01T18:20:57Z","pushed_at":"2018-05-03T15:40:14Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-eclipse.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","homepage":"","size":10791,"stargazers_count":44,"watchers_count":44,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"open_issues_count":313,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":29,"open_issues":313,"watchers":44,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"7ad70db9afd0af7b207de9b2ffc0a43e950cd1b9","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":53369484,"name":"google-cloud-eclipse","full_name":"GoogleCloudPlatform/google-cloud-eclipse","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars0.githubusercontent.com/u/2810941?v=4","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","description":"Google Cloud Platform plugin for Eclipse","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/releases{/id}","deployments_url":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/deployments","created_at":"2016-03-08T00:30:03Z","updated_at":"2018-05-01T18:20:57Z","pushed_at":"2018-05-03T15:40:14Z","git_url":"git://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","ssh_url":"git@github.com:GoogleCloudPlatform/google-cloud-eclipse.git","clone_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse.git","svn_url":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse","homepage":"","size":10791,"stargazers_count":44,"watchers_count":44,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"open_issues_count":313,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":29,"open_issues":313,"watchers":44,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046"},"html":{"href":"https://github.com/GoogleCloudPlatform/google-cloud-eclipse/pull/3046"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/3046"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/issues/3046/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/pulls/3046/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/google-cloud-eclipse/statuses/019d4fa1fdd9ddb57659ec95e54ea88d9611bb1d"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"briandealwis"}}