{"action":"created","comment":{"url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/comments/59887204","id":59887204,"diff_hunk":"@@ -0,0 +1,69 @@\n+/*\n+ * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com\n+ * The software in this package is published under the terms of the CPAL v1.0\n+ * license, a copy of which has been included with this distribution in the\n+ * LICENSE.txt file.\n+ */\n+package org.mule.extension.api.introspection.property;\n+\n+\n+import org.mule.extension.api.introspection.ExtensionModel;\n+import org.mule.extension.api.introspection.ModelProperty;\n+import org.mule.metadata.api.model.MetadataType;\n+\n+import java.util.Collections;\n+import java.util.Map;\n+\n+/**\n+ * An immutable model property which specifies the {@link MetadataType} used by\n+ * the {@link ExtensionModel} that have to be imported from a different {@link ExtensionModel}\n+ *\n+ * @since 1.0\n+ */\n+public final class ImportedTypesModelProperty implements ModelProperty\n+{\n+\n+    private final Map<MetadataType, Class<?>> importedTypes;\n+\n+    /**\n+     * Creates a new instance containing all the imported {@link MetadataType} declarations\n+     * along with the {@link Class} from where they have to be imported from\n+     *\n+     * @param importedTypes\n+     */\n+    public ImportedTypesModelProperty(Map<MetadataType, Class<?>> importedTypes)\n+    {\n+        this.importedTypes = importedTypes;\n+    }\n+\n+    /**\n+     * @return a {@link Map} containing the {@link Class} from where the {@code key}\n+     * {@link MetadataType} was imported from\n+     */\n+    public Map<MetadataType, Class<?>> getImportedTypes()\n+    {\n+        return Collections.unmodifiableMap(importedTypes);\n+    }\n+\n+    /**\n+     * {@inheritDoc}\n+     *\n+     * @return {@code importedTypesProperty}\n+     */\n+    @Override\n+    public String getName()\n+    {\n+        return \"importedTypesProperty\";","path":"mule-extensions-api/src/main/java/org/mule/extension/api/introspection/property/ImportedTypesModelProperty.java","position":56,"original_position":56,"commit_id":"d3e1225d80dcbee95109fefdb0d119ff8dc5295c","original_commit_id":"d3e1225d80dcbee95109fefdb0d119ff8dc5295c","user":{"login":"marianogonzalez","id":1272771,"avatar_url":"https://avatars.githubusercontent.com/u/1272771?v=3","gravatar_id":"","url":"https://api.github.com/users/marianogonzalez","html_url":"https://github.com/marianogonzalez","followers_url":"https://api.github.com/users/marianogonzalez/followers","following_url":"https://api.github.com/users/marianogonzalez/following{/other_user}","gists_url":"https://api.github.com/users/marianogonzalez/gists{/gist_id}","starred_url":"https://api.github.com/users/marianogonzalez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marianogonzalez/subscriptions","organizations_url":"https://api.github.com/users/marianogonzalez/orgs","repos_url":"https://api.github.com/users/marianogonzalez/repos","events_url":"https://api.github.com/users/marianogonzalez/events{/privacy}","received_events_url":"https://api.github.com/users/marianogonzalez/received_events","type":"User","site_admin":false},"body":"doesn't this also require changes on the extensions serializer?","created_at":"2016-04-15T14:56:46Z","updated_at":"2016-04-15T14:56:46Z","html_url":"https://github.com/mulesoft/mule-extensions-api/pull/76#discussion_r59887204","pull_request_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76","_links":{"self":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/comments/59887204"},"html":{"href":"https://github.com/mulesoft/mule-extensions-api/pull/76#discussion_r59887204"},"pull_request":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76"}}},"pull_request":{"url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76","id":66651562,"html_url":"https://github.com/mulesoft/mule-extensions-api/pull/76","diff_url":"https://github.com/mulesoft/mule-extensions-api/pull/76.diff","patch_url":"https://github.com/mulesoft/mule-extensions-api/pull/76.patch","issue_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/76","number":76,"state":"open","locked":false,"title":"MULE-9487: Extension support for TopLevel elements import","user":{"login":"alegmarra","id":1502904,"avatar_url":"https://avatars.githubusercontent.com/u/1502904?v=3","gravatar_id":"","url":"https://api.github.com/users/alegmarra","html_url":"https://github.com/alegmarra","followers_url":"https://api.github.com/users/alegmarra/followers","following_url":"https://api.github.com/users/alegmarra/following{/other_user}","gists_url":"https://api.github.com/users/alegmarra/gists{/gist_id}","starred_url":"https://api.github.com/users/alegmarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alegmarra/subscriptions","organizations_url":"https://api.github.com/users/alegmarra/orgs","repos_url":"https://api.github.com/users/alegmarra/repos","events_url":"https://api.github.com/users/alegmarra/events{/privacy}","received_events_url":"https://api.github.com/users/alegmarra/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-15T14:29:31Z","updated_at":"2016-04-15T14:56:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e593fd1b31ffa9bc6cb8df4b2ce4ca77b11e121a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76/commits","review_comments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76/comments","review_comment_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/76/comments","statuses_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/statuses/d3e1225d80dcbee95109fefdb0d119ff8dc5295c","head":{"label":"mulesoft:MULE-9487","ref":"MULE-9487","sha":"d3e1225d80dcbee95109fefdb0d119ff8dc5295c","user":{"login":"mulesoft","id":185740,"avatar_url":"https://avatars.githubusercontent.com/u/185740?v=3","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"repo":{"id":26641628,"name":"mule-extensions-api","full_name":"mulesoft/mule-extensions-api","owner":{"login":"mulesoft","id":185740,"avatar_url":"https://avatars.githubusercontent.com/u/185740?v=3","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mulesoft/mule-extensions-api","description":"Mule Extensions API","fork":false,"url":"https://api.github.com/repos/mulesoft/mule-extensions-api","forks_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/forks","keys_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/teams","hooks_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/hooks","issue_events_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/events{/number}","events_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/events","assignees_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/assignees{/user}","branches_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/branches{/branch}","tags_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/tags","blobs_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/statuses/{sha}","languages_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/languages","stargazers_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/stargazers","contributors_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/contributors","subscribers_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/subscribers","subscription_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/subscription","commits_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/contents/{+path}","compare_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/merges","archive_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/downloads","issues_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues{/number}","pulls_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls{/number}","milestones_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/milestones{/number}","notifications_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/labels{/name}","releases_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/releases{/id}","deployments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/deployments","created_at":"2014-11-14T14:18:37Z","updated_at":"2016-01-14T19:56:08Z","pushed_at":"2016-04-15T14:29:31Z","git_url":"git://github.com/mulesoft/mule-extensions-api.git","ssh_url":"git@github.com:mulesoft/mule-extensions-api.git","clone_url":"https://github.com/mulesoft/mule-extensions-api.git","svn_url":"https://github.com/mulesoft/mule-extensions-api","homepage":null,"size":505,"stargazers_count":1,"watchers_count":1,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":3,"forks":1,"open_issues":3,"watchers":1,"default_branch":"master"}},"base":{"label":"mulesoft:master","ref":"master","sha":"17172651595351f4d50c482738d3dbf8192b629b","user":{"login":"mulesoft","id":185740,"avatar_url":"https://avatars.githubusercontent.com/u/185740?v=3","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"repo":{"id":26641628,"name":"mule-extensions-api","full_name":"mulesoft/mule-extensions-api","owner":{"login":"mulesoft","id":185740,"avatar_url":"https://avatars.githubusercontent.com/u/185740?v=3","gravatar_id":"","url":"https://api.github.com/users/mulesoft","html_url":"https://github.com/mulesoft","followers_url":"https://api.github.com/users/mulesoft/followers","following_url":"https://api.github.com/users/mulesoft/following{/other_user}","gists_url":"https://api.github.com/users/mulesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/mulesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mulesoft/subscriptions","organizations_url":"https://api.github.com/users/mulesoft/orgs","repos_url":"https://api.github.com/users/mulesoft/repos","events_url":"https://api.github.com/users/mulesoft/events{/privacy}","received_events_url":"https://api.github.com/users/mulesoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mulesoft/mule-extensions-api","description":"Mule Extensions API","fork":false,"url":"https://api.github.com/repos/mulesoft/mule-extensions-api","forks_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/forks","keys_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/teams","hooks_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/hooks","issue_events_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/events{/number}","events_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/events","assignees_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/assignees{/user}","branches_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/branches{/branch}","tags_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/tags","blobs_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/statuses/{sha}","languages_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/languages","stargazers_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/stargazers","contributors_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/contributors","subscribers_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/subscribers","subscription_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/subscription","commits_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/contents/{+path}","compare_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/merges","archive_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/downloads","issues_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues{/number}","pulls_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls{/number}","milestones_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/milestones{/number}","notifications_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/labels{/name}","releases_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/releases{/id}","deployments_url":"https://api.github.com/repos/mulesoft/mule-extensions-api/deployments","created_at":"2014-11-14T14:18:37Z","updated_at":"2016-01-14T19:56:08Z","pushed_at":"2016-04-15T14:29:31Z","git_url":"git://github.com/mulesoft/mule-extensions-api.git","ssh_url":"git@github.com:mulesoft/mule-extensions-api.git","clone_url":"https://github.com/mulesoft/mule-extensions-api.git","svn_url":"https://github.com/mulesoft/mule-extensions-api","homepage":null,"size":505,"stargazers_count":1,"watchers_count":1,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":3,"forks":1,"open_issues":3,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76"},"html":{"href":"https://github.com/mulesoft/mule-extensions-api/pull/76"},"issue":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/76"},"comments":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/issues/76/comments"},"review_comments":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76/comments"},"review_comment":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/pulls/76/commits"},"statuses":{"href":"https://api.github.com/repos/mulesoft/mule-extensions-api/statuses/d3e1225d80dcbee95109fefdb0d119ff8dc5295c"}}}}