Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Connecting Xtext DSL to external Ecore model
icon5.gif  Connecting Xtext DSL to external Ecore model [message #547203] Thu, 15 July 2010 22:26 Go to next message
Mirko Raner is currently offline Mirko RanerFriend
Messages: 125
Registered: July 2009
Location: New York City, NY
Senior Member
Hi,

I think my question is similar to what was asked in message #543960 (http://www.eclipse.org/forums/index.php?t=msg&th=171098), but unfortunately that thread did not get resolved.

I am trying to connect two models: an Xtext language, let's call it "Interview", and an existing EMF model, let's call that "Template".
The Template is essentially a tree structure of items that is read from a set of binary files using custom a ResourceImpl and URIConverter. The Template works fine by itself and can be readily explored using the reflective Ecore editor.
The Interview language contains references into the binary model exposed by the Template. The Xtext grammar for the Interview language imports the Ecore model for the Template, and refers to Template data-types in various productions. The Xtext grammar translates without errors and seems to work fine in general.

I'm using a StateBasedContainerManager in conjunction with WorkspaceProjectsState to group all resources inside a single Eclipse project. The Template for the project is defined by a single properties file that points to the binary resources for the Template model (the custom ResourceImpl and URIConverter generate the actual resource from that properties file). The Template is simply defined by the file being present, none of the Interview language files make any direct reference to it (import, include, etc.). The assumption is that all Interview language files use the Template defined by the properties file in their project's root.

In my current set-up, I don't get any content assist, and I get resolution errors for any references into the Template model. Ctrl+Shift+F3 only shows me items from the Interview language, but no items from the Template.
When I set a breakpoint in the WorkspaceProjectsStateHelper, I noticed that only Interview resources get processed, but not the Template properties file. I experimented with customizing WorkspaceProjectsStateHelper, Storage2UriMapper, UriValidator, IResourceServiceProvider, and IScopeProvider, but so far with no success.

What do I need to do to bring the Template model into the scope of the Interview resources of a project? Any pointers are much appreciated!

I can't post any example snippets because we're talking about proprietary code here. I hope my description gives a decent idea of what I'm trying to achieve.

Thanks in advance!

Mirko
Re: Connecting Xtext DSL to external Ecore model [message #547241 is a reply to message #547203] Fri, 16 July 2010 05:06 Go to previous messageGo to next message
Moritz Eysholdt is currently offline Moritz EysholdtFriend
Messages: 161
Registered: July 2009
Location: Kiel, Germany
Senior Member
Hi Mirko,

it's good to see you're on it again :)

> I think my question is similar to what was asked in message #543960
> (http://www.eclipse.org/forums/index.php?t=msg&th=171098), but
> unfortunately that thread did not get resolved.
>
> I am trying to connect two models: an Xtext language, let's call it
> "Interview", and an existing EMF model, let's call that "Template".

Sounds familiar :)

> The Template is essentially a tree structure of items that is read from
> a set of binary files using custom a ResourceImpl and URIConverter. The
> Template works fine by itself and can be readily explored using the
> reflective Ecore editor.
> The Interview language contains references into the binary model exposed
> by the Template. The Xtext grammar for the Interview language imports
> the Ecore model for the Template, and refers to Template data-types in
> various productions. The Xtext grammar translates without errors and
> seems to work fine in general.
>
> I'm using a StateBasedContainerManager in conjunction with
> WorkspaceProjectsState to group all resources inside a single Eclipse
> project. The Template for the project is defined by a single properties
> file that points to the binary resources for the Template model (the
> custom ResourceImpl and URIConverter generate the actual resource from
> that properties file). The Template is simply defined by the file being
> present, none of the Interview language files make any direct reference
> to it (import, include, etc.). The assumption is that all Interview
> language files use the Template defined by the properties file in their
> project's root.

Sounds just right so far.
How comes you need a custom URIConverter? For the most cases it's
sufficient to register a ResourceFactory for your (the template's) file
extension.

> In my current set-up, I don't get any content assist, and I get
> resolution errors for any references into the Template model.
> Ctrl+Shift+F3 only shows me items from the Interview language, but no
> items from the Template.
> When I set a breakpoint in the WorkspaceProjectsStateHelper, I noticed
> that only Interview resources get processed, but not the Template
> properties file. I experimented with customizing
> WorkspaceProjectsStateHelper, Storage2UriMapper, UriValidator,
> IResourceServiceProvider, and IScopeProvider, but so far with no success.
>
> What do I need to do to bring the Template model into the scope of the
> Interview resources of a project? Any pointers are much appreciated!

You'll have to make sure Xtext's builder processes the template models.
For this, you need to register an IResourceServiceProvider for your file
extension. This concept has been inspired by EMF's ResourceFactory.

As an example you can look at any Xtext-based language: For the
runtime-scenario the registration is done in the
MyLanguageStandaloneSetup. For the UI-Scenario, the registration is done
via the .ui-plugin's plugin.xml file.

Furthermore, the plugins org.eclipse.xtext.ecore and
org.eclipse.xtext.ecore make good examples. Both ship with Xtext.

It may be necessary to create a Guice-based Injector (and a
RuntimeModule and UIModule) for your template models, too.

hth,
Moritz

> I can't post any example snippets because we're talking about
> proprietary code here. I hope my description gives a decent idea of what
> I'm trying to achieve.
>
> Thanks in advance!
>
> Mirko
>


--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com
Re: Connecting Xtext DSL to external Ecore model [message #547433 is a reply to message #547241] Fri, 16 July 2010 18:36 Go to previous messageGo to next message
Mirko Raner is currently offline Mirko RanerFriend
Messages: 125
Registered: July 2009
Location: New York City, NY
Senior Member
Thanks for the pointers, Moritz. I'll try what you suggested.

> it's good to see you're on it again Smile

Yep, there have been another couple of changes in direction, but Xtext is just too promising to let go of.

> > I am trying to connect two models: an Xtext language, let's call it
> > "Interview", and an existing EMF model, let's call that "Template".
>
> Sounds familiar Smile

I thought you might recognize it Wink

> How comes you need a custom URIConverter? For the most cases it's
> sufficient to register a ResourceFactory for your (the template's) file
> extension.

There were a couple of difficulties. The actual Template data is not one file, but several (binary) files, all of which typically reside outside of the workspace. A native executable needs to be used to turn all of these binary files into XML that can be read into an Ecore model. In the workspace, the data for each project is represented by a single properties file that points to the Template location in the file system (and to the native executable to convert it). The content type is not registered by file extension, but by a specific file name ("Formset"). The custom URIConverter's createInputStream(URI, Map<?,?>) method reads the contents of the properties file, invokes the native executable, and returns an InputStream that represents the binary data as XML. Customizing the URIConverter seemed to be a good solution for representing the Template data as a file in the workspace, while the actual underlying data was stored outside the workspace.
Re: Connecting Xtext DSL to external Ecore model [message #681767 is a reply to message #547433] Thu, 09 June 2011 20:22 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi,

I have exactly the same issue as you that I have a dsl that must access exiting emf models instances. Is it possible that you give me some pointers, code snippits anything about how you solved this.


grammar com.xxx.hpt.automatedfunctionaltester.language.AutomatedFunctionalTest with org.eclipse.xtext.common.Terminals

generate automatedFunctionalTest "httpp://AutomatedFunctionalTest.language.automatedfunctionaltester.hpt.xxx.com"
import "platform:/resource/com.xxx.hpt.automatedfunctionaltester.model/model/UserInterfaceDiagram.ecore" as UID

Model:
	{Model}
	package=Package;

/* terminals */
terminal PackageName:
	('a'..'z' | 'A'..'Z') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '-')+ '.' ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '-')+ ('.' ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' |
	'-')+)*;

terminal QualifiedName:
	('a'..'z' | 'A'..'Z') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '-' | '.')* ':' ('a'..'z' | 'A'..'Z') ('a'..'z' |
	'A'..'Z' | '0'..'9' | '_' | '-' | '.')*;

/* test structure */
Package:
	'package' name=PackageName
	(imports+=Import)*
	test=Test;

Import returns UID::UserInterfaceDiagramType :
	'import' QualifiedName {Import};



Cheers
Jose
Re: Connecting Xtext DSL to external Ecore model [message #681783 is a reply to message #681767] Thu, 09 June 2011 20:49 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i am not sure what you want to do with that import stuff. you say you want to access existing instances (e.g. of an EClass). this kind of access is usually done via a reference. the syntax for that reference looks like nameOfTheReference=[StuffYouWantToReference|RuleToParseTheNameThingLinkingIsDoneBy]. in your case this would be uidtToUse=[UID::UserInterfaceDiagramType|QualifiedName]. you default only elements in other Xtext based model and .ecore models are available out of the box. To you the referncing working for any other ecore based model you have to come up (as mentioned above) with an IResourceServiceProvider for your specific resource. Xtext does this already for .ecore files with the plugins org.eclipse.xtext.ecore and
org.eclipse.xtext.ui.ecore. you can play copycat there.

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Connecting Xtext DSL to external Ecore model [message #681807 is a reply to message #681783] Thu, 09 June 2011 21:59 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi There,

I am making a dsl for writing automated functional selenium test. The test writers are not programmers. They basically write a test like this:

package com.XXX.applicationname.componentname

// groupid:artifactid refers to maven model dependencies in the project pom.xml
// the version and classifer(model file extension) are not needed as the are
// configured in the pom

import com.YYY:application as app1 // loads repo/com/YYY/application/1/application.uid
import com.ZZZ:application as app2

test LoginTest

    step 1
        open new window as mainWindow
        type "guest" in app1.LoginView.username
        type "123456" in app1.LoginView.password
        click in app1.LoginView.submit
        
        verify mainWindow.title is "Home"

    step 2
        ...


The test writers have no idea about emf or even programming so the editor makes import proposals for them based on the .pom.xml in the project. The pom is edited with a gui as they don't even know about dependencies. The import is the only slightly technical part they see.

I want this "import com.YYY:application as app1" to basically load a model file from the maven repo. I use the m2e plugin to access maven and get the model file location.

In the end I use xtend to transfrom the test into selenium commands.

I have most of it running but not the dynamic loading...

Cheers
Re: Connecting Xtext DSL to external Ecore model [message #681815 is a reply to message #681807] Thu, 09 June 2011 22:34 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i am not sure if it is just dynamic loading.
I'd first solve the problem with "static loading" (model files are right in the location of the test file)
the Dynamic loading then a (maybe not simple) problem of a URIConverter and ResourceFactory

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Connecting Xtext DSL to external Ecore model [message #681946 is a reply to message #681815] Fri, 10 June 2011 06:00 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi Christian,

Thanx allot for your help. Saved me allot of time Smile

Cheers,
Jose
Re: Connecting Xtext DSL to external Ecore model [message #683640 is a reply to message #681946] Tue, 14 June 2011 06:47 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi Christian,

I have one more related issue:

A1)
ImportReference returns UID::UserInterfaceDiagramType: // datatype rule handled by a value converter ecore:EClass -> warning
STRING;

A2)
ImportReference returns UID::UserInterfaceDiagramType:
STRING {UID::UserInterfaceDiagramType};

B)
ImportReference returns UID::Meier: // datatype rule handled by a value converter ecore:EDataType -> ok
STRING;


Goal is to have a data value converter which converts the string into a proper instance:

...
public UserInterfaceDiagramType toValue(final String string, final INode node) throws ValueConverterException {
System.err.println("*** TODO: resolve "+string);
return null;
}
...

Problem:
Case A1) gives a warning (may be consumed without object instantiation) - the converter is called, but the string to convert is always null.
Case A2) gives no warning, but the converter is not called and an "empty" initialized UserInterfaceDiagramType exists
Case B) gives no warning and the converter is called with a proper string, but our ecore model comes from an xsd that uses complexType for UserInterfaceDiagramType, which ends up as EClass

How can we get the data converter to work properly?
Re: Connecting Xtext DSL to external Ecore model [message #683641 is a reply to message #683640] Tue, 14 June 2011 06:59 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

Value Convertion is for EDataTypes and not for EClasses. Of Course you can create instances of EClasses too but then you should assign the stuff you parse to features e.g name=STRING. But the question still is: do you want to instantiate New stuf or Reference to existing stuff in Otter files.

Regards Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de

[Updated on: Tue, 14 June 2011 07:06]

Report message to a moderator

Re: Connecting Xtext DSL to external Ecore model [message #684903 is a reply to message #683641] Thu, 16 June 2011 13:00 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
I want to reference types in the UserInterfaceDiagram model
Re: Connecting Xtext DSL to external Ecore model [message #684906 is a reply to message #684903] Thu, 16 June 2011 13:09 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
or say i want to import a userinterfacediagram instance and reference types by dot notation


example userinterfacediagram model 'example01.uid':

<userinterfacediagram:UserInterfaceDiagram name="HPT" xmlns:userinterfacediagram="http://www.xxx.com/hpt/uid/userinterfacediagram/1.0.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xxx.com/hpt/uid/userinterfacediagram/1.0.0/ UserInterfaceDiagram.
<Application name="TestWorkbench">
<Navigation name="MainNavigation">
<Item name="Home"/>
</Navigation>
</Application>
</userinterfacediagram:UserInterfaceDiagram>

example dls:

import "platform:/resource/Test/src/example01.uid" // user interface diagram model instance

test 'Login' 'xx'

step 1 'Navigate' 'ss'

navigate to HPT.TestWorkbench.MainNavigation.Home // click on naviagtion item
Re: Connecting Xtext DSL to external Ecore model [message #684912 is a reply to message #684906] Thu, 16 June 2011 13:16 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

to get this you have

(1) to use importURI Global Scope Mechanism in your Workflow / Grammar
(2) Provide ann ResourceServiceProvider for .uid files (Xtext does this already for .ecore files with the plugins org.eclipse.xtext.ecore and org.eclipse.xtext.ui.ecore. you can play copycat there.)

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Connecting Xtext DSL to external Ecore model [message #684952 is a reply to message #684912] Thu, 16 June 2011 14:17 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
I am using xtext2 (CR4)

1. I have registered a ResourceServiceProvider for the UID
DO i need to register something that exports objects or will the name attributes be enough

2. I have set the fragments to:

// scoping and exporting API
fragment = scoping.ImportURIScopingFragment {}
fragment = exporting.SimpleNamesFragment {}

// scoping and exporting API
//fragment = scoping.ImportNamespacesScopingFragment {}
//fragment = exporting.QualifiedNamesFragment {}
//fragment = builder.BuilderIntegrationFragment {}

3. The grammar looks like:

import "platform:/resource/com.xxx.hpt.testrunner/src/com/xxx/hpt/testrunner/uid/UserInterfaceDiagram.ecore" as UID

Import:
'import' importURI=STRING; // feature must be named importURI

Click:
'click' target=[UID::UIObject];

however the class 'ImportUriGlobalScopeProvider' is never triggered

I dont see how the editor will know that 'HPT.TestWorkbench.HomeView.Submit' is the fully qualified name
Re: Connecting Xtext DSL to external Ecore model [message #684994 is a reply to message #684952] Thu, 16 June 2011 15:23 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

(1)the resource service provider should of course export the stuff you want to reference.
(2) Click: 'click' target=[UID::UIObject];
should be
Click: 'click' target=[UID::UIObject|FQN]; FQN: ID ("." ID)*; if you want to ref per FQN

~Christian



Twitter : @chrdietrich
Blog : https://www.dietrich-it.de

[Updated on: Thu, 16 June 2011 15:27]

Report message to a moderator

Re: Connecting Xtext DSL to external Ecore model [message #685795 is a reply to message #684994] Mon, 20 June 2011 06:56 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi Christian,

So looks like we have most stuff up and running. Thank you very much!

BTW, will you be attending Jazoom this week?
Re: Connecting Xtext DSL to external Ecore model [message #685799 is a reply to message #685795] Mon, 20 June 2011 07:36 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Another Question:

I have all the namespacing working but im a bit stuck with such a construct:

example: veryify com.xxx.form.FirstNameInputField.value is equal to "Jose"

where .value is an eattribute of the eclass InputField

I currently have this:

Verification:
'verify' target=[UID::Object|FullyQualifiedName] condition=Condition (value=[Definition]|literal=STRING) (window=InWindow)?;

however i have no idea how to access the eattributes/structuralfeature and second how it would tie into the '.' namespacing feature

Any ideas?
Re: Connecting Xtext DSL to external Ecore model [message #685841 is a reply to message #685799] Mon, 20 June 2011 11:00 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
I assume I just need to fully qualify the attributes as well..
Re: Connecting Xtext DSL to external Ecore model [message #685855 is a reply to message #685841] Mon, 20 June 2011 11:56 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

yes or you
(1) put them with simple name into local scope
(2) adapt imported namespaces

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Connecting Xtext DSL to external Ecore model [message #688227 is a reply to message #685855] Fri, 24 June 2011 08:14 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Hi christian,

I am trying to generate java classes from my DSL (*.aft) instances which works but I need access to other model types (*.omd) which are also on the classpath.
I currently have a created:

<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider class="com.ubs.hpt.testrunner.omd.ui.ExecutableExtensionFactory:org.eclipse.xtext.ui.resource.generic.EmfResourceUIServiceProvider" uriExtension="omd" />
</extension>

the builder populates the index with all the namespaces found in *.omd files which can then be referenced in the DSL. However, I also need access to them (*.omd files) in the xpand template. The builder calls the xpand template when it finds a change to a (*.aft) file and passes in the file as the resource. How can I pass in OR access the (*.omd) files from here.


override void doGenerate(Resource resource, IFileSystemAccess fsa) {
	for(test: resource.allContentsIterable.filter(typeof(Test))) {// Test is a type from the aft dls
		fsa.generateFile(test.fileName, test.compile())
	}
}


I imagine there are a few ways but im looking for best practice...
Re: Connecting Xtext DSL to external Ecore model [message #688230 is a reply to message #688227] Fri, 24 June 2011 08:21 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i am not quite sure what you exact usease is, but if there i a reference from the .aft file you are currently processing to the .omd file why don't you simply follow this reference?

btw your code looks like xtend2 and not like xpand Wink

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de

[Updated on: Fri, 24 June 2011 08:22]

Report message to a moderator

Re: Connecting Xtext DSL to external Ecore model [message #688249 is a reply to message #688230] Fri, 24 June 2011 09:00 Go to previous messageGo to next message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
My use case is like:

I have a DSL (AutomatedFunctionalTest=AFT) which imports/references (UserInterfaceDiagram=UID) emf models.

generate automatedfunctionaltest "http://www.xxx.com/hpt/testrunner/aft/AutomatedFunctionalTest"
import "platform:/resource/com.xxx.hpt.testrunner/src/com/xxx/hpt/testrunner/uid/UserInterfaceDiagram.ecore" as UID


I have a click rule like:

Click: 'click' objectReference=[UID::DomObject|QualifiedName];


I have another emf model (ObjectMappingDiagram=OMD) which looks like:

<?xml version="1.0" encoding="UTF-8"?>
<objectmappingdiagram:ObjectMappingDiagram
	name="HPT" xmlns:objectmappingdiagram="http://www.xxx.com/hpt/omd/objectmappingdiagram/1.0.0/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.xxx.com/hpt/omd/objectmappingdiagram/1.0.0/ ObjectMappingDiagram.xsd">
	
	<Map qualifiedname="TestFrontEndComponents.DefaultNavigation.Login.Submit" by="css">div.button</Map>

</objectmappingdiagram:ObjectMappingDiagram>


The qualifiedname attribute is the same as the qualified name of the click objectReference So my generated code for the click should look like:

selenium.click("TestFrontEndComponents.DefaultNavigation.Login.Submit");


I cant follow any reference because only UID models are referenced in the DSL.

[Updated on: Fri, 24 June 2011 09:01]

Report message to a moderator

Re: Connecting Xtext DSL to external Ecore model [message #688251 is a reply to message #688249] Fri, 24 June 2011 09:10 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

strange: you said
Quote:

the builder populates the index with all the namespaces found in *.omd files which can then be referenced in the DSL.

so do you refernce or don't you. if not it won't work out of the box with this Builder Based Code Generation.

What are the rules how these omd files should be taken into account. all files?
Maybe you can inject "The Index" aka IResourceDescriptions to the generator
and extract the index stuff from the .omd resources from there.

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Connecting Xtext DSL to external Ecore model [message #688257 is a reply to message #688251] Fri, 24 June 2011 09:27 Go to previous message
Missing name Mising name is currently offline Missing name Mising nameFriend
Messages: 16
Registered: June 2011
Junior Member
Yes; I registered:

<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
	<resourceServiceProvider class="com.xxx.hpt.testrunner.omd.ui.ExecutableExtensionFactory:org.eclipse.xtext.ui.resource.generic.EmfResourceUIServiceProvider" uriExtension="omd" />
</extension>


but the OMD model is not imported into the grammar and there are no emf cross-reference from the UID model to the OMD model.

However if it's possible to inject the resourceDescriptions into the generator then that should do it.

Thanx,
Sorry about such a silly question Smile

[Updated on: Fri, 24 June 2011 09:27]

Report message to a moderator

Previous Topic:How to fix "Syntax error:A return type must be specified for java extensions!"
Next Topic:IBuildContext gives empty resourcesets
Goto Forum:
  


Current Time: Fri Apr 26 12:22:13 GMT 2024

Powered by FUDForum. Page generated in 0.04668 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top