{"action":"created","comment":{"url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/comments/167091989","pull_request_review_id":95261980,"id":167091989,"diff_hunk":"@@ -65,6 +65,14 @@ class FragmentProviderGenerator {\n           return super.getFragmentSegment(object);\r\n         }\r\n \r\n+        «IF it.extension»\r\n+        @Override\r\n+        protected CharSequence getFragmentSegmentFallback(final EObject object) {\r\n+          // For export extension we must return null, so the logic will try other extensions\r\n+          return null;\r\n+        }\r\n+        «ENDIF»\r","path":"com.avaloq.tools.ddk.xtext.export/src/com/avaloq/tools/ddk/xtext/export/generator/FragmentProviderGenerator.xtend","position":10,"original_position":10,"commit_id":"724fd1e9b9f4c07969db808536f4413f98a2817d","original_commit_id":"cf542e2378896a7cf3643fb1396fa01ab7289f17","user":{"login":"rmitin","id":4581831,"avatar_url":"https://avatars2.githubusercontent.com/u/4581831?v=4","gravatar_id":"","url":"https://api.github.com/users/rmitin","html_url":"https://github.com/rmitin","followers_url":"https://api.github.com/users/rmitin/followers","following_url":"https://api.github.com/users/rmitin/following{/other_user}","gists_url":"https://api.github.com/users/rmitin/gists{/gist_id}","starred_url":"https://api.github.com/users/rmitin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmitin/subscriptions","organizations_url":"https://api.github.com/users/rmitin/orgs","repos_url":"https://api.github.com/users/rmitin/repos","events_url":"https://api.github.com/users/rmitin/events{/privacy}","received_events_url":"https://api.github.com/users/rmitin/received_events","type":"User","site_admin":false},"body":"Good point. Done.","created_at":"2018-02-08T22:48:33Z","updated_at":"2018-02-08T22:48:33Z","html_url":"https://github.com/dsldevkit/dsl-devkit/pull/47#discussion_r167091989","pull_request_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/comments/167091989"},"html":{"href":"https://github.com/dsldevkit/dsl-devkit/pull/47#discussion_r167091989"},"pull_request":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47"}},"in_reply_to_id":167075368},"pull_request":{"url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47","id":166000051,"html_url":"https://github.com/dsldevkit/dsl-devkit/pull/47","diff_url":"https://github.com/dsldevkit/dsl-devkit/pull/47.diff","patch_url":"https://github.com/dsldevkit/dsl-devkit/pull/47.patch","issue_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/47","number":47,"state":"open","locked":false,"title":"Initial support for export contributions","user":{"login":"rmitin","id":4581831,"avatar_url":"https://avatars2.githubusercontent.com/u/4581831?v=4","gravatar_id":"","url":"https://api.github.com/users/rmitin","html_url":"https://github.com/rmitin","followers_url":"https://api.github.com/users/rmitin/followers","following_url":"https://api.github.com/users/rmitin/following{/other_user}","gists_url":"https://api.github.com/users/rmitin/gists{/gist_id}","starred_url":"https://api.github.com/users/rmitin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmitin/subscriptions","organizations_url":"https://api.github.com/users/rmitin/orgs","repos_url":"https://api.github.com/users/rmitin/repos","events_url":"https://api.github.com/users/rmitin/events{/privacy}","received_events_url":"https://api.github.com/users/rmitin/received_events","type":"User","site_admin":false},"body":"Generalize existing IAdditionalModelInferrer pattern to support\r\nextending multiple services. For now we add services required for export\r\ngrouped together (fingerprint computer, resource description strategy,\r\nqualified name provider) in IExportFeatureExtension.\r\n\r\nWe keep IAdditionalModelInferrer as is (only renamed to IModelInferrerFeatureExtension), but do not register it directly anymore in an extension point. Instead in extension point we register\r\nILanguageExtensions where we can register extensions for multiple services. Check extension will then also come into this service. Later we might need a similar thing for UI services when we are to extend\r\ncontent assist.\r\n\r\nAll *FeatureExtensionService are language specific and can be injected by languages that support extensions. These services have default implementations (DefaultExportFeatureExtensionService,\r\nDefaultModelInferrerFeatureExtensionService) which rely on global\r\nILanguageExtensionsService. ILanguageExtensions service is the one that may have different implementations for the standalone builder and for Eclipse OSGi use case.\r\n\r\nSupport for extensions in a DSL still done manually in the DSL. Support for that will be done in a follow up. In this change we only automate creation of extensions themselves (as this is the more common thing). We added a reference to the grammar for which extension is created and a name for export files.\r\nExport DSL now generates the necessary extension classes, so extensions need nothing in\r\naddition to .export file. \r\n\r\nFor export files that are not defining an extension nothing changed.\r\n\r\nIssue #46","created_at":"2018-01-30T14:44:34Z","updated_at":"2018-02-08T22:48:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7ef523e63dfb66e022b084191bff7c51c40bc5f5","assignee":null,"assignees":[],"requested_reviewers":[{"login":"gghezzi","id":306568,"avatar_url":"https://avatars0.githubusercontent.com/u/306568?v=4","gravatar_id":"","url":"https://api.github.com/users/gghezzi","html_url":"https://github.com/gghezzi","followers_url":"https://api.github.com/users/gghezzi/followers","following_url":"https://api.github.com/users/gghezzi/following{/other_user}","gists_url":"https://api.github.com/users/gghezzi/gists{/gist_id}","starred_url":"https://api.github.com/users/gghezzi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gghezzi/subscriptions","organizations_url":"https://api.github.com/users/gghezzi/orgs","repos_url":"https://api.github.com/users/gghezzi/repos","events_url":"https://api.github.com/users/gghezzi/events{/privacy}","received_events_url":"https://api.github.com/users/gghezzi/received_events","type":"User","site_admin":false}],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47/commits","review_comments_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47/comments","review_comment_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/47/comments","statuses_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/statuses/724fd1e9b9f4c07969db808536f4413f98a2817d","head":{"label":"rmitin:mir_export_extn","ref":"mir_export_extn","sha":"724fd1e9b9f4c07969db808536f4413f98a2817d","user":{"login":"rmitin","id":4581831,"avatar_url":"https://avatars2.githubusercontent.com/u/4581831?v=4","gravatar_id":"","url":"https://api.github.com/users/rmitin","html_url":"https://github.com/rmitin","followers_url":"https://api.github.com/users/rmitin/followers","following_url":"https://api.github.com/users/rmitin/following{/other_user}","gists_url":"https://api.github.com/users/rmitin/gists{/gist_id}","starred_url":"https://api.github.com/users/rmitin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmitin/subscriptions","organizations_url":"https://api.github.com/users/rmitin/orgs","repos_url":"https://api.github.com/users/rmitin/repos","events_url":"https://api.github.com/users/rmitin/events{/privacy}","received_events_url":"https://api.github.com/users/rmitin/received_events","type":"User","site_admin":false},"repo":{"id":91453577,"name":"dsl-devkit","full_name":"rmitin/dsl-devkit","owner":{"login":"rmitin","id":4581831,"avatar_url":"https://avatars2.githubusercontent.com/u/4581831?v=4","gravatar_id":"","url":"https://api.github.com/users/rmitin","html_url":"https://github.com/rmitin","followers_url":"https://api.github.com/users/rmitin/followers","following_url":"https://api.github.com/users/rmitin/following{/other_user}","gists_url":"https://api.github.com/users/rmitin/gists{/gist_id}","starred_url":"https://api.github.com/users/rmitin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmitin/subscriptions","organizations_url":"https://api.github.com/users/rmitin/orgs","repos_url":"https://api.github.com/users/rmitin/repos","events_url":"https://api.github.com/users/rmitin/events{/privacy}","received_events_url":"https://api.github.com/users/rmitin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rmitin/dsl-devkit","description":"Developer kit for implementing Domain Specific Languages with Xtext. Format, Check, Export and Scope languages of DSL DevKit standardize DSL implementations.","fork":true,"url":"https://api.github.com/repos/rmitin/dsl-devkit","forks_url":"https://api.github.com/repos/rmitin/dsl-devkit/forks","keys_url":"https://api.github.com/repos/rmitin/dsl-devkit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rmitin/dsl-devkit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rmitin/dsl-devkit/teams","hooks_url":"https://api.github.com/repos/rmitin/dsl-devkit/hooks","issue_events_url":"https://api.github.com/repos/rmitin/dsl-devkit/issues/events{/number}","events_url":"https://api.github.com/repos/rmitin/dsl-devkit/events","assignees_url":"https://api.github.com/repos/rmitin/dsl-devkit/assignees{/user}","branches_url":"https://api.github.com/repos/rmitin/dsl-devkit/branches{/branch}","tags_url":"https://api.github.com/repos/rmitin/dsl-devkit/tags","blobs_url":"https://api.github.com/repos/rmitin/dsl-devkit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rmitin/dsl-devkit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rmitin/dsl-devkit/git/refs{/sha}","trees_url":"https://api.github.com/repos/rmitin/dsl-devkit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rmitin/dsl-devkit/statuses/{sha}","languages_url":"https://api.github.com/repos/rmitin/dsl-devkit/languages","stargazers_url":"https://api.github.com/repos/rmitin/dsl-devkit/stargazers","contributors_url":"https://api.github.com/repos/rmitin/dsl-devkit/contributors","subscribers_url":"https://api.github.com/repos/rmitin/dsl-devkit/subscribers","subscription_url":"https://api.github.com/repos/rmitin/dsl-devkit/subscription","commits_url":"https://api.github.com/repos/rmitin/dsl-devkit/commits{/sha}","git_commits_url":"https://api.github.com/repos/rmitin/dsl-devkit/git/commits{/sha}","comments_url":"https://api.github.com/repos/rmitin/dsl-devkit/comments{/number}","issue_comment_url":"https://api.github.com/repos/rmitin/dsl-devkit/issues/comments{/number}","contents_url":"https://api.github.com/repos/rmitin/dsl-devkit/contents/{+path}","compare_url":"https://api.github.com/repos/rmitin/dsl-devkit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rmitin/dsl-devkit/merges","archive_url":"https://api.github.com/repos/rmitin/dsl-devkit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rmitin/dsl-devkit/downloads","issues_url":"https://api.github.com/repos/rmitin/dsl-devkit/issues{/number}","pulls_url":"https://api.github.com/repos/rmitin/dsl-devkit/pulls{/number}","milestones_url":"https://api.github.com/repos/rmitin/dsl-devkit/milestones{/number}","notifications_url":"https://api.github.com/repos/rmitin/dsl-devkit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rmitin/dsl-devkit/labels{/name}","releases_url":"https://api.github.com/repos/rmitin/dsl-devkit/releases{/id}","deployments_url":"https://api.github.com/repos/rmitin/dsl-devkit/deployments","created_at":"2017-05-16T12:04:06Z","updated_at":"2017-05-16T12:04:11Z","pushed_at":"2018-02-08T21:46:56Z","git_url":"git://github.com/rmitin/dsl-devkit.git","ssh_url":"git@github.com:rmitin/dsl-devkit.git","clone_url":"https://github.com/rmitin/dsl-devkit.git","svn_url":"https://github.com/rmitin/dsl-devkit","homepage":"https://dsldevkit.github.io/","size":9523,"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":"dsldevkit:master","ref":"master","sha":"98c2e68553e6b35cb550404ef7726409e55a6b01","user":{"login":"dsldevkit","id":22159209,"avatar_url":"https://avatars0.githubusercontent.com/u/22159209?v=4","gravatar_id":"","url":"https://api.github.com/users/dsldevkit","html_url":"https://github.com/dsldevkit","followers_url":"https://api.github.com/users/dsldevkit/followers","following_url":"https://api.github.com/users/dsldevkit/following{/other_user}","gists_url":"https://api.github.com/users/dsldevkit/gists{/gist_id}","starred_url":"https://api.github.com/users/dsldevkit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsldevkit/subscriptions","organizations_url":"https://api.github.com/users/dsldevkit/orgs","repos_url":"https://api.github.com/users/dsldevkit/repos","events_url":"https://api.github.com/users/dsldevkit/events{/privacy}","received_events_url":"https://api.github.com/users/dsldevkit/received_events","type":"Organization","site_admin":false},"repo":{"id":68199193,"name":"dsl-devkit","full_name":"dsldevkit/dsl-devkit","owner":{"login":"dsldevkit","id":22159209,"avatar_url":"https://avatars0.githubusercontent.com/u/22159209?v=4","gravatar_id":"","url":"https://api.github.com/users/dsldevkit","html_url":"https://github.com/dsldevkit","followers_url":"https://api.github.com/users/dsldevkit/followers","following_url":"https://api.github.com/users/dsldevkit/following{/other_user}","gists_url":"https://api.github.com/users/dsldevkit/gists{/gist_id}","starred_url":"https://api.github.com/users/dsldevkit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dsldevkit/subscriptions","organizations_url":"https://api.github.com/users/dsldevkit/orgs","repos_url":"https://api.github.com/users/dsldevkit/repos","events_url":"https://api.github.com/users/dsldevkit/events{/privacy}","received_events_url":"https://api.github.com/users/dsldevkit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dsldevkit/dsl-devkit","description":"Developer kit for implementing Domain Specific Languages with Xtext. Format, Check, Export and Scope languages of DSL DevKit standardize DSL implementations.","fork":false,"url":"https://api.github.com/repos/dsldevkit/dsl-devkit","forks_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/forks","keys_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/teams","hooks_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/hooks","issue_events_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/events{/number}","events_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/events","assignees_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/assignees{/user}","branches_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/branches{/branch}","tags_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/tags","blobs_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/git/refs{/sha}","trees_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/statuses/{sha}","languages_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/languages","stargazers_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/stargazers","contributors_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/contributors","subscribers_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/subscribers","subscription_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/subscription","commits_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/commits{/sha}","git_commits_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/git/commits{/sha}","comments_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/comments{/number}","issue_comment_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/comments{/number}","contents_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/contents/{+path}","compare_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/merges","archive_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/downloads","issues_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues{/number}","pulls_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls{/number}","milestones_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/milestones{/number}","notifications_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/labels{/name}","releases_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/releases{/id}","deployments_url":"https://api.github.com/repos/dsldevkit/dsl-devkit/deployments","created_at":"2016-09-14T11:07:04Z","updated_at":"2018-01-23T20:01:57Z","pushed_at":"2018-02-08T21:46:58Z","git_url":"git://github.com/dsldevkit/dsl-devkit.git","ssh_url":"git@github.com:dsldevkit/dsl-devkit.git","clone_url":"https://github.com/dsldevkit/dsl-devkit.git","svn_url":"https://github.com/dsldevkit/dsl-devkit","homepage":"https://ddk.tools.avaloq.com","size":9302,"stargazers_count":8,"watchers_count":8,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12,"mirror_url":null,"archived":false,"open_issues_count":7,"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":12,"open_issues":7,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47"},"html":{"href":"https://github.com/dsldevkit/dsl-devkit/pull/47"},"issue":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/47"},"comments":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/issues/47/comments"},"review_comments":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47/comments"},"review_comment":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/pulls/47/commits"},"statuses":{"href":"https://api.github.com/repos/dsldevkit/dsl-devkit/statuses/724fd1e9b9f4c07969db808536f4413f98a2817d"}},"author_association":"OWNER"}}
{"actor":{"display_login":"rmitin"}}