Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » GenModel when using imported ecore model
GenModel when using imported ecore model [message #813415] Mon, 05 March 2012 08:34 Go to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
I have a model I import in my grammar. It looks like the import is working fine.
But when I run the workflow, it raises a "Could not find a GenModel for EPackage" error.

My model is already there, I don't need to create one, so why should it be generated?
(I also tried to comment out the fragment = ecore.EcoreGeneratorFragment part in the workflow, but nothing changed).

I tried to add a "generate" statement to my grammar, but it is underlined in red because "Generated package ... may not be empty" (I think this is because nothing has to be generated, and that's just what I want, since I already have my model).

The trace is
0    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering platform uri 'E:\Workspaces\Eclipse\Helios [Xtext]'
2609 [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning E:\Workspaces\Eclipse\Helios [Xtext]\org.asmeta.asmeta_editor\..\org.asmeta.asmeta_editor\src-gen
2625 [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning E:\Workspaces\Eclipse\Helios [Xtext]\org.asmeta.asmeta_editor\..\org.asmeta.asmeta_editor.ui\src-gen
2750 [main] INFO  ipse.xtext.generator.LanguageConfig  - generating infrastructure for org.xtext.asmeta_editor.AsmetaE with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, SerializerFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, JavaValidatorFragment, ImportNamespacesScopingFragment, QualifiedNamesFragment, BuilderIntegrationFragment, GeneratorFragment, FormatterFragment, LabelProviderFragment, OutlineTreeProviderFragment, QuickOutlineFragment, QuickfixProviderFragment, JavaBasedContentAssistFragment, XtextAntlrUiGeneratorFragment, Junit4Fragment, TypesGeneratorFragment, XbaseGeneratorFragment, CodetemplatesGeneratorFragment, RefactorElementNameFragment, CompareFragment
9312 [main] ERROR enerator.CompositeGeneratorFragment  - Could not find a GenModel for EPackage 'h_t_t_p://org.asmeta/asmm#ASMETA' from platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all_flattened.ecore
If the missing GenModel has been generated via EcoreGeneratorFragment make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String)
java.lang.RuntimeException: Could not find a GenModel for EPackage 'h_t_t_p://org.asmeta/asmm#ASMETA' from platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all_flattened.ecore
If the missing GenModel has been generated via EcoreGeneratorFragment make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String)
	at org.eclipse.xtext.generator.GenModelAccess.getGenPackage(GenModelAccess.java:88)
	at org.eclipse.xtext.generator.serializer.JavaEMFFile.importedGenTypeName(JavaEMFFile.java:76)
	at org.eclipse.xtext.generator.serializer.JavaEMFFile.importedGenTypeLiteral(JavaEMFFile.java:50)
	at org.eclipse.xtext.generator.serializer.AbstractSemanticSequencer.genMethodCreateSequence(AbstractSemanticSequencer.java:474)
	at org.eclipse.xtext.generator.serializer.AbstractSemanticSequencer.getFileContents(AbstractSemanticSequencer.java:420)
	at org.eclipse.xtext.generator.serializer.SerializerFragment.generate(SerializerFragment.java:122)
	at org.eclipse.xtext.generator.Xtend2GeneratorFragment.generate(Xtend2GeneratorFragment.java:42)
	at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:81)
	at org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:69)
	at org.eclipse.xtext.generator.Generator.generate(Generator.java:351)
	at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:125)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:97)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Re: GenModel when using imported ecore model [message #813757 is a reply to message #813415] Mon, 05 March 2012 17:11 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

you have to add a registerGenModelFile to the StandaloneSetup in the workflow

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: GenModel when using imported ecore model [message #814432 is a reply to message #813757] Tue, 06 March 2012 12:53 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
Thanks, Christian.

Now I have another problem: the genmodel is fine (I think) but I don't know where to put the Java classes I generated from the genmodel, in order for Xtext to use them.

Should I "register" them somewhere in the manifest, workflow,...?

Currently, these classes reside in a dedicated project (it would be nice to leave them in such a project, if possible); I tried to copy them inside my Xtext project, with no results.

The beginning of the trace is (after http there's actually a ':', but I can't post links yet):
1203 [main] ERROR ipse.xtext.generator.LanguageConfig  - [XtextLinkingDiagnostic: null:6 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#PrimitiveTypes'., XtextLinkingDiagnostic: null:7 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#Structure'., XtextLinkingDiagnostic: null:8 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#Definitions'., XtextLinkingDiagnostic: null:9 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#Domains'., XtextLinkingDiagnostic: null:10 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#BasicTransitionRules'., XtextLinkingDiagnostic: null:11 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#DerivedTransitionRules'., XtextLinkingDiagnostic: null:12 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#TurboTransitionRules'., XtextLinkingDiagnostic: null:13 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#BasicTerms'., XtextLinkingDiagnostic: null:14 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#Expressions'., XtextLinkingDiagnostic: null:15 Couldn't resolve reference to EPackage 'http.//org.asmeta/asmm#FurtherTerms'., XtextLinkingDiagnostic: null:25 Couldn't resolve reference to AbstractMetamodelDeclaration 'asmeta'., XtextLinkingDiagnostic: null:25 Cannot find meta model for type 'Asm',
...............
1219 [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems instantiating module org.asmeta.asmeta_editor.GenerateAsmetaE: java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: Problems instantiating module org.asmeta.asmeta_editor.GenerateAsmetaE: java.lang.reflect.InvocationTargetException
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:90)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
..............
Re: GenModel when using imported ecore model [message #814669 is a reply to message #814432] Tue, 06 March 2012 18:50 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi, is it a separate project? simply add this project as dependency to the dsls manifest.mf
and of course you need a registergeneratedEPackage besides the genmodelregistration as well


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: GenModel when using imported ecore model [message #815072 is a reply to message #814669] Wed, 07 March 2012 07:37 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
I registered my EPackages, and now the workflow executes ok. But then, inside the new Eclipse process containing the generated editor, when I try to open a file, Eclipse freezes.


I have my 'org.asmeta.asmeta_editor' Xtext project.
Here, in source folder 'src-model' I have the classes generated from the genmodel (no dedicated project by now, I think it's causing me more problems). These classes are inside packages 'asmeta.primitivetypes', 'asmeta.definitions', etc. The model is inside the 'model' folder.

There's no need to edit my manifest if I keep everything in the same project, right?

About registering the EPackage's, my workflow now contains
    bean = StandaloneSetup {
        scanClassPath = true
        platformUri = "${runtimeProject}/.."
        
        registerGenModelFile = "platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel"
        
        registerGeneratedEPackage = "asmeta.primitivetypes.PrimitivetypesPackage"
        registerGeneratedEPackage = "asmeta.structure.StructurePackage"
        registerGeneratedEPackage = "asmeta.definitions.DefinitionsPackage"
        registerGeneratedEPackage = "asmeta.definitions.domains.DomainsPackage"
        registerGeneratedEPackage = "asmeta.transitionrules.basictransitionrules.BasictransitionrulesPackage"
        registerGeneratedEPackage = "asmeta.transitionrules.turbotransitionrules.TurbotransitionrulesPackage"
        registerGeneratedEPackage = "asmeta.transitionrules.derivedtransitionrules.DerivedtransitionrulesPackage"
        registerGeneratedEPackage = "asmeta.terms.basicterms.BasictermsPackage"
        registerGeneratedEPackage = "asmeta.terms.basicterms.expressions.ExpressionsPackage"
        registerGeneratedEPackage = "asmeta.terms.furtherterms.FurthertermsPackage"
    }


In case it's needed, my grammar starts with: (no 'generate' statements)
grammar org.asmeta.asmeta_editor.AsmetaE

import "http.//www.eclipse.org/emf/2002/Ecore"          as ecore

import "http.//org.asmeta/asmm#PrimitiveTypes"          as asmeta
import "http.//org.asmeta/asmm#Structure"               as asmeta
import "http.//org.asmeta/asmm#Definitions"             as asmeta
import "http.//org.asmeta/asmm#Domains"                 as asmeta
import "http.//org.asmeta/asmm#BasicTransitionRules"    as asmeta
import "http.//org.asmeta/asmm#DerivedTransitionRules"  as asmeta
import "http.//org.asmeta/asmm#TurboTransitionRules"    as asmeta
import "http.//org.asmeta/asmm#BasicTerms"              as asmeta
import "http.//org.asmeta/asmm#Expressions"             as asmeta
import "http.//org.asmeta/asmm#FurtherTerms"            as asmeta



Running the workflow now seems ok:
0    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering platform uri 'E:\Workspaces\Eclipse\Indigo+Xtext [Xtext]'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#ASMETA' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#PrimitiveTypes' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#Structure' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#Definitions' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#Domains' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#TransitionRules' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#BasicTransitionRules' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#DerivedTransitionRules' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#TurboTransitionRules' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#Terms' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#BasicTerms' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#Expressions' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
578  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http.//org.asmeta/asmm#FurtherTerms' from 'platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.primitivetypes.PrimitivetypesPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.structure.StructurePackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.definitions.DefinitionsPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.definitions.domains.DomainsPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.transitionrules.basictransitionrules.BasictransitionrulesPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.transitionrules.turbotransitionrules.TurbotransitionrulesPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.transitionrules.derivedtransitionrules.DerivedtransitionrulesPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.terms.basicterms.BasictermsPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.terms.basicterms.expressions.ExpressionsPackage'
719  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'asmeta.terms.furtherterms.FurthertermsPackage'
1407 [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning E:\Workspaces\Eclipse\Indigo+Xtext [Xtext]\org.asmeta.asmeta_editor\..\org.asmeta.asmeta_editor\src-gen
1422 [main] INFO  ipse.emf.mwe.utils.DirectoryCleaner  - Cleaning E:\Workspaces\Eclipse\Indigo+Xtext [Xtext]\org.asmeta.asmeta_editor\..\org.asmeta.asmeta_editor.ui\src-gen
1563 [main] INFO  ipse.xtext.generator.LanguageConfig  - generating infrastructure for org.asmeta.asmeta_editor.AsmetaE with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, EcoreGeneratorFragment, SerializerFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, JavaValidatorFragment, ImportNamespacesScopingFragment, QualifiedNamesFragment, BuilderIntegrationFragment, GeneratorFragment, FormatterFragment, LabelProviderFragment, OutlineTreeProviderFragment, QuickOutlineFragment, QuickfixProviderFragment, JavaBasedContentAssistFragment, XtextAntlrUiGeneratorFragment, Junit4Fragment, SimpleProjectWizardFragment, RefactorElementNameFragment, TypesGeneratorFragment, XbaseGeneratorFragment, CodetemplatesGeneratorFragment, CompareFragment
15000 [main] INFO  or.validation.JavaValidatorFragment  - generating Java-based EValidator API
27938 [main] INFO  text.generator.junit.Junit4Fragment  - generating Junit4 Test support classes
27969 [main] INFO  tWizard.SimpleProjectWizardFragment  - A new template org::asmeta::asmeta_editor::ui::wizard::AsmetaENewProject has been generated into ../org.asmeta.asmeta_editor.ui/src.
27969 [main] INFO  tWizard.SimpleProjectWizardFragment  -   Make sure to enable the Xtend/Xpand nature and JavaBeans metamodel to edit this template.
27969 [main] INFO  text.generator.junit.Junit4Fragment  - generating Compare Framework infrastructure
28094 [main] INFO  .emf.mwe2.runtime.workflow.Workflow  - Done.


But then the new Eclipse process freezes, when I try to open a file with my generated editor.
I really don't know what may be the cause, as I get no errors. Maybe I forgot to register something or did it the wrong way, causing a silent fail of the generation process?

Thank you in advance
Re: GenModel when using imported ecore model [message #815488 is a reply to message #815072] Wed, 07 March 2012 18:28 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

what do you mean with "freezes"?

btw do you use org.eclipse.emf.mwe2.ecore.EcoreGenerator to generate the java classes from the genmodel.
http://www.eclipsecon.org/2011/sessions/?page=sessions&id=2253

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: GenModel when using imported ecore model [message #815518 is a reply to message #815488] Wed, 07 March 2012 19:19 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
I did this to generate java classes from the model:
(using Indigo+Xtext 2.2.1 distribution from xtext.itemis.com)
open my genmodel in the editor
right-click on the root
'Generate Model Code'

This generates the classes, and they seem to be correct (it also generates XXXPackage and XXXFactory classes).


Freezing Eclipse:
I launch a new Eclipse with my newly created plugin (workflow executed with no errors)
I double-click on a file with my dsl's extension

What I get is:
The central frame, where Eclipse opens any editor, remains gray
The cursor shows as a hourglass
Eclipse doesn't respond (only the second process, the one with the xtext project is still alive)

It looks like it gets stuck somewhere while loading my editor.
It doesn't show a message like 'Could not open the editor' inside the editor frame (I got that in other circumstances; not in this case).

Furthermore: if I run the workflow on another grammar, same as the original one, only with a generate statement and no import statements, the editor works nice.
Now, if I leave a file open, close eclipse, run the workflow on the original grammar (with imports) and launch eclipse with the new plugin, this second eclipse process freezes on startup (on startup it automatically tries to open the editor for the file that was left open).
In my main eclipse process, on the console, I get no error messages about the second eclipse process.
Re: GenModel when using imported ecore model [message #815522 is a reply to message #815518] Wed, 07 March 2012 19:27 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

any you do not get any error messages in the host eclipse?
and what are the memory settings you start it with?
did you try to debu the runtime eclipse?

~Christian


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

[Updated on: Wed, 07 March 2012 19:29]

Report message to a moderator

Re: GenModel when using imported ecore model [message #815537 is a reply to message #815522] Wed, 07 March 2012 19:50 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
I run it with
-Dosgi.requiredJavaVersion=1.5 -Xms40m
-XX:MaxPermSize=512m
-Xmx512m
(is this what you meant?)

In the host eclipse the console is completely empty. Neither 'OK' messages.

Running it in debug, I have a dozen threads.
The [main] thread seems to be stuck here
Thread [main] (Suspended)	
	SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]	
	SocketInputStream.read(byte[], int, int) line: not available	
	BufferedInputStream.fill() line: not available [local variables unavailable]	
	BufferedInputStream.read1(byte[], int, int) line: not available	
	BufferedInputStream.read(byte[], int, int) line: not available	
	HttpClient.parseHTTPHeader(MessageHeader, ProgressSource, HttpURLConnection) line: not available	
	HttpClient.parseHTTP(MessageHeader, ProgressSource, HttpURLConnection) line: not available	
	HttpURLConnection.getInputStream() line: not available [local variables unavailable]	
	URIHandlerImpl.createInputStream(URI, Map<?,?>) line: 178	
	XtextResourceSet$1(ExtensibleURIConverterImpl).createInputStream(URI, Map<?,?>) line: 350	
	SAXXMIHandler(XMLHandler).resolveEntity(String, String) line: 810	
	EntityResolverWrapper.resolveEntity(XMLResourceIdentifier) line: not available	
	XMLEntityManager.resolveEntityAsPerStax(XMLResourceIdentifier) line: not available	
	XMLDocumentScannerImpl$DTDDriver.dispatch(boolean) line: not available	
	XMLDocumentScannerImpl$DTDDriver.next() line: not available	
	XMLDocumentScannerImpl$PrologDriver.next() line: not available	
	XMLDocumentScannerImpl.next() line: not available	
	XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean) line: not available	
	XIncludeAwareParserConfiguration(XML11Configuration).parse(boolean) line: not available	
	XIncludeAwareParserConfiguration(XML11Configuration).parse(XMLInputSource) line: not available	
	SAXParserImpl$JAXPSAXParser(XMLParser).parse(XMLInputSource) line: not available	
	SAXParserImpl$JAXPSAXParser(AbstractSAXParser).parse(InputSource) line: not available	
	SAXParserImpl$JAXPSAXParser.parse(InputSource) line: not available	
	SAXParserImpl(SAXParser).parse(InputSource, DefaultHandler) line: not available	
	XMILoadImpl(XMLLoadImpl).load(XMLResource, InputStream, Map<?,?>) line: 181	
	XMIResourceImpl(XMLResourceImpl).doLoad(InputStream, Map<?,?>) line: 242	
	XMIResourceImpl(ResourceImpl).load(InputStream, Map<?,?>) line: 1511	
	XMIResourceImpl(ResourceImpl).load(Map<?,?>) line: 1290	
	SynchronizedXtextResourceSet(ResourceSetImpl).demandLoad(Resource) line: 255	
	SynchronizedXtextResourceSet(ResourceSetImpl).demandLoadHelper(Resource) line: 270	
	SynchronizedXtextResourceSet(ResourceSetImpl).getResource(URI, boolean) line: 397	
	SynchronizedXtextResourceSet.getResource(URI, boolean) line: 23	
	SynchronizedXtextResourceSet(ResourceSetImpl).getEObject(URI, boolean) line: 216	
	EcoreUtil.resolve(EObject, ResourceSet) line: 203	
	EcoreUtil.resolve(EObject, EObject) line: 263	
	TypeRefImpl(BasicEObjectImpl).eResolveProxy(InternalEObject) line: 1483	
	TypeRefImpl.getClassifier() line: 122	
	InternalAsmetaEParser(AbstractInternalAntlrParser).createModelElementForParent(AbstractRule) line: 613	
	InternalAsmetaEParser.ruleAsm() line: 407	
	InternalAsmetaEParser.entryRuleAsm() line: 220	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	Method.invoke(Object, Object...) line: not available	
	InternalAsmetaEParser(AbstractInternalAntlrParser).parse(String) line: 528	
	AsmetaEParser(AbstractAntlrParser).doParse(String, CharStream, NodeModelBuilder, int) line: 102	
	AsmetaEParser(AbstractAntlrParser).parse(String, CharStream) line: 84	
	AsmetaEParser(AbstractAntlrParser).doParse(Reader) line: 62	
	AsmetaEParser(AbstractParser).parse(Reader) line: 27	
	LazyLinkingResource(XtextResource).doLoad(InputStream, Map<?,?>) line: 156	
	LazyLinkingResource.doLoad(InputStream, Map<?,?>) line: 70	
	LazyLinkingResource(ResourceImpl).load(InputStream, Map<?,?>) line: 1511	
	XtextDocumentProvider.loadResource(XtextResource, String, String) line: 142	
	XtextDocumentProvider.setDocumentContent(IDocument, IEditorInput, String) line: 119	
	XtextDocumentProvider(StorageDocumentProvider).createDocument(Object) line: 229	
	XtextDocumentProvider.createDocument(Object) line: 88	
	XtextDocumentProvider(FileDocumentProvider).createElementInfo(Object) line: 735	
	XtextDocumentProvider.createElementInfo(Object) line: 153	
	XtextDocumentProvider(AbstractDocumentProvider).connect(Object) line: 400	
	XtextEditor(AbstractTextEditor).doSetInput(IEditorInput) line: 4213	
	XtextEditor(StatusTextEditor).doSetInput(IEditorInput) line: 237	
	XtextEditor(AbstractDecoratedTextEditor).doSetInput(IEditorInput) line: 1451	
	XtextEditor(TextEditor).doSetInput(IEditorInput) line: 169	
	XtextEditor.doSetInput(IEditorInput) line: 215	
	AbstractTextEditor$19.run(IProgressMonitor) line: 3200	
	ModalContext.runInCurrentThread(IRunnableWithProgress, IProgressMonitor) line: 464	
	ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 372	
	ApplicationWindow$1.run() line: 759	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchWindow(ApplicationWindow).run(boolean, boolean, IRunnableWithProgress) line: 756	
	WorkbenchWindow.run(boolean, boolean, IRunnableWithProgress) line: 2642	
	XtextEditor(AbstractTextEditor).internalInit(IWorkbenchWindow, IEditorSite, IEditorInput) line: 3218	
	XtextEditor(AbstractTextEditor).init(IEditorSite, IEditorInput) line: 3245	
	XtextEditor.init(IEditorSite, IEditorInput) line: 236	
	EditorManager.createSite(IEditorReference, IEditorPart, EditorDescriptor, IEditorInput) line: 828	
	EditorReference.createPartHelper() line: 647	
	EditorReference.createPart() line: 465	
	EditorReference(WorkbenchPartReference).getPart(boolean) line: 595	
	EditorPane(PartPane).setVisible(boolean) line: 313	
	PresentablePart.setVisible(boolean) line: 180	
	PresentablePartFolder.select(IPresentablePart) line: 270	
	LeftToRightTabOrder.select(IPresentablePart) line: 65	
	TabbedStackPresentation.selectPart(IPresentablePart) line: 473	
	EditorStack(PartStack).refreshPresentationSelection() line: 1245	
	EditorStack(PartStack).setSelection(LayoutPart) line: 1198	
	EditorStack(PartStack).showPart(LayoutPart, Object) line: 1597	
	EditorStack(PartStack).add(LayoutPart, Object) line: 493	
	EditorStack.add(LayoutPart, Object) line: 103	
	EditorStack(PartStack).add(LayoutPart) line: 479	
	EditorStack.add(LayoutPart) line: 112	
	EditorSashContainer.addEditor(EditorPane, EditorStack) line: 63	
	EditorAreaHelper.addToLayout(EditorPane, EditorStack) line: 225	
	EditorAreaHelper.addEditor(EditorReference, String, boolean) line: 213	
	EditorManager.createEditorTab(EditorReference, String) line: 808	
	EditorManager.openEditorFromDescriptor(EditorDescriptor, IEditorInput, IMemento) line: 707	
	EditorManager.openEditor(String, IEditorInput, boolean, IMemento) line: 666	
	WorkbenchPage.busyOpenEditorBatched(IEditorInput, String, boolean, int, IMemento) line: 2942	
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, int, IMemento) line: 2850	
	WorkbenchPage.access$11(WorkbenchPage, IEditorInput, String, boolean, int, IMemento) line: 2842	
	WorkbenchPage$10.run() line: 2793	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int, IMemento) line: 2789	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int) line: 2773	
	WorkbenchPage.openEditor(IEditorInput, String, boolean) line: 2764	
	IDE.openEditor(IWorkbenchPage, IFile, boolean, boolean) line: 651	
	IDE.openEditor(IWorkbenchPage, IFile, boolean) line: 610	
	EditorUtility.openInEditor(IFile, boolean) line: 355	
	EditorUtility.openInEditor(Object, boolean) line: 164	
	OpenAction.run(Object[]) line: 249	
	OpenAction.run(IStructuredSelection) line: 228	
	OpenAction(SelectionDispatchAction).dispatchRun(ISelection) line: 275	
	OpenAction(SelectionDispatchAction).run() line: 251	
	PackageExplorerActionGroup.handleOpen(ISelection, boolean) line: 376	
	PackageExplorerPart$4.open(ISelection, boolean) line: 538	
	OpenAndLinkWithEditorHelper$InternalListener.open(OpenEvent) line: 48	
	StructuredViewer$2.run() line: 866	
	SafeRunner.run(ISafeRunnable) line: 42	
	JFaceUtil$1.run(ISafeRunnable) line: 49	
	SafeRunnable.run(ISafeRunnable) line: 175	
	PackageExplorerPart$PackageExplorerProblemTreeViewer(StructuredViewer).fireOpen(OpenEvent) line: 864	
	PackageExplorerPart$PackageExplorerProblemTreeViewer(StructuredViewer).handleOpen(SelectionEvent) line: 1152	
	StructuredViewer$6.handleOpen(SelectionEvent) line: 1256	
	OpenStrategy.fireOpenEvent(SelectionEvent) line: 275	
	OpenStrategy.access$2(OpenStrategy, SelectionEvent) line: 269	
	OpenStrategy$1.handleEvent(Event) line: 309	
	EventTable.sendEvent(Event) line: 84	
	Tree(Widget).sendEvent(Event) line: 1053	
	Display.runDeferredEvents() line: 4165	
	Display.readAndDispatch() line: 3754	
	Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2696	
	Workbench.runUI() line: 2660	
	Workbench.access$4(Workbench) line: 2494	
	Workbench$7.run() line: 674	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 667	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 123	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available	
	Method.invoke(Object, Object...) line: not available	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386	



Other threads (workers, dispatchers,...) seems to be all in wait().
Re: GenModel when using imported ecore model [message #815540 is a reply to message #815537] Wed, 07 March 2012 19:54 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
And what is the resource it tries to load?

how does the plugin.xml of the runtime plugin look like?


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: GenModel when using imported ecore model [message #815551 is a reply to message #815540] Wed, 07 March 2012 20:11 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
My plugin.xml in the .ui project is:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>

    <extension
            point="org.eclipse.ui.editors">
        <editor
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
            default="true"
            extensions="asm"
            id="org.asmeta.asmeta_editor.AsmetaE"
            name="AsmetaE Editor">
        </editor>
    </extension>
    <extension
        point="org.eclipse.ui.handlers">
        <handler
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
            <activeWhen>
                <reference
                    definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
        <handler
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
            commandId="org.asmeta.asmeta_editor.AsmetaE.validate">
         <activeWhen>
            <reference
                    definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
            </reference>
         </activeWhen>
      </handler>
    </extension>
    <extension point="org.eclipse.core.expressions.definitions">
        <definition id="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
            <and>
                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
                <with variable="activeEditor">
                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
                        value="org.asmeta.asmeta_editor.AsmetaE" 
                        forcePluginActivation="true"/>
                </with>        
            </and>
        </definition>
    </extension>
    <extension
            point="org.eclipse.ui.preferencePages">
        <page
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE"
            name="AsmetaE">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
        </page>
        <page
            category="org.asmeta.asmeta_editor.AsmetaE"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE.coloring"
            name="Syntax Coloring">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
        </page>
        <page
            category="org.asmeta.asmeta_editor.AsmetaE"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE.templates"
            name="Templates">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
        </page>
    </extension>
    <extension
            point="org.eclipse.ui.propertyPages">
        <page
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE"
            name="AsmetaE">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
            <enabledWhen>
	            <adapt type="org.eclipse.core.resources.IProject"/>
			</enabledWhen>
	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
        </page>
    </extension>
    <extension
        point="org.eclipse.ui.keywords">
        <keyword
            id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"
            label="AsmetaE"/>
    </extension>
    <extension
         point="org.eclipse.ui.commands">
      <command
            description="Trigger expensive validation"
            id="org.asmeta.asmeta_editor.AsmetaE.validate"
            name="Validate">
      </command>
    </extension>
    <extension point="org.eclipse.ui.menus">
        <menuContribution
            locationURI="popup:#TextEditorContext?after=group.edit">
             <command
                 commandId="org.asmeta.asmeta_editor.AsmetaE.validate"
                 style="push"
                 tooltip="Trigger expensive validation">
            <visibleWhen checkEnabled="false">
                <reference
                    definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
                </reference>
            </visibleWhen>
         </command>  
         </menuContribution>
    </extension>
    <extension point="org.eclipse.ui.menus">
		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
				<visibleWhen checkEnabled="false">
                	<reference definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
                	</reference>
            	</visibleWhen>
			</command>
		</menuContribution>
	</extension>
	<extension point="org.eclipse.ui.handlers">
	    <handler
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
            commandId="org.eclipse.xtext.ui.editor.FindReferences">
            <activeWhen>
                <reference
                    definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
                </reference>
            </activeWhen>
        </handler>
    </extension>   

<!-- adding resource factories -->

	<extension
		point="org.eclipse.emf.ecore.extension_parser">
		<parser
			class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
			type="asm">
		</parser>
	</extension>
	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
        <resourceServiceProvider
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
            uriExtension="asm">
        </resourceServiceProvider>
    </extension>



   <extension
         point="org.eclipse.xtext.builder.participant">
      <participant
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
      </participant>
   </extension>
   <extension
            point="org.eclipse.ui.preferencePages">
        <page
            category="org.asmeta.asmeta_editor.AsmetaE"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE.compiler.preferencePage"
            name="Compiler">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
        </page>
    </extension>
    <extension
            point="org.eclipse.ui.propertyPages">
        <page
            category="org.asmeta.asmeta_editor.AsmetaE"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
            id="org.asmeta.asmeta_editor.AsmetaE.compiler.propertyPage"
            name="Compiler">
            <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
            <enabledWhen>
	            <adapt type="org.eclipse.core.resources.IProject"/>
			</enabledWhen>
	        <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
        </page>
    </extension>

	<!-- Quick Outline -->
	<extension
		point="org.eclipse.ui.handlers">
		<handler 
			class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
			<activeWhen>
				<reference
					definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
	<extension
		point="org.eclipse.ui.commands">
		<command
			description="Open the quick outline."
			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
			name="Quick Outline">
		</command>
	</extension>
	<extension point="org.eclipse.ui.menus">
		<menuContribution
			locationURI="popup:#TextEditorContext?after=group.open">
			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
				style="push"
				tooltip="Open Quick Outline">
				<visibleWhen checkEnabled="false">
					<reference definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened"/>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>
   <!-- quickfix marker resolution generator -->
   <extension
         point="org.eclipse.ui.ide.markerResolution">
      <markerResolutionGenerator
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
      </markerResolutionGenerator>
   </extension>
   	<!-- Rename Refactoring -->
	<extension point="org.eclipse.ui.handlers">
		<handler 
			class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler"
			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
			<activeWhen>
				<reference
					definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
				</reference>
			</activeWhen>
		</handler>
	</extension>
    <extension point="org.eclipse.ui.menus">
         <menuContribution
            locationURI="popup:#TextEditorContext?after=group.edit">
         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
               style="push">
            <visibleWhen checkEnabled="false">
               <reference
                     definitionId="org.asmeta.asmeta_editor.AsmetaE.Editor.opened">
               </reference>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension point="org.eclipse.ui.preferencePages">
	    <page
	        category="org.asmeta.asmeta_editor.AsmetaE"
	        class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
	        id="org.asmeta.asmeta_editor.AsmetaE.refactoring"
	        name="Refactoring">
	        <keywordReference id="org.asmeta.asmeta_editor.ui.keyword_AsmetaE"/>
	    </page>
	</extension>

  <extension point="org.eclipse.compare.contentViewers">
    <viewer id="org.asmeta.asmeta_editor.AsmetaE.compare.contentViewers"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
            extensions="asm">
    </viewer>
  </extension>
  <extension point="org.eclipse.compare.contentMergeViewers">
    <viewer id="org.asmeta.asmeta_editor.AsmetaE.compare.contentMergeViewers"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
            extensions="asm" label="AsmetaE Compare">
     </viewer>
  </extension>
  <extension point="org.eclipse.ui.editors.documentProviders">
    <provider id="org.asmeta.asmeta_editor.AsmetaE.editors.documentProviders"
            class="org.asmeta.asmeta_editor.ui.AsmetaEExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
            extensions="asm">
    </provider>
  </extension>

</plugin>


While my plugin.xml in the main project is:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http.//org.asmeta/asmeta_editor/AsmetaE" 
       class = "org.asmeta.asmeta_editor.asmetaE.AsmetaEPackage"
       genModel = "org/asmeta/asmeta_editor/AsmetaE.genmodel" /> 
	
  </extension>
</plugin>


Actually, the latter has a warning: "Referenced class 'org.asmeta.asmeta_editor.asmetaE.AsmetaEPackage' in attribute 'class' is not on the plug-in classpath"
but the freezing happens also if I launch eclipse from the plugin.xml in .ui project
Re: GenModel when using imported ecore model [message #815557 is a reply to message #815551] Wed, 07 March 2012 20:18 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i mean the plugin xml of the runtime plugin not the one of the ui plugin.
the genmodelpath you have there is invalid
i simply tried this with the greeting example and here is what works for me.

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals

import "http://www.xtext.org/example/mydsl/MyDsl"

Model:
	greetings+=Greeting*;
	
Greeting:
	'Hello' name=ID '!';


module org.xtext.example.mydsl.GenerateMyDsl

import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.generator.*
import org.eclipse.xtext.ui.generator.*

var grammarURI = "classpath:/org/xtext/example/mydsl/MyDsl.xtext"
var file.extensions = "mydsl"
var projectName = "org.xtext.example.mydsl"
var runtimeProject = "../${projectName}"

Workflow {
    bean = StandaloneSetup {
        scanClassPath = true
        platformUri = "${runtimeProject}/.."
        registerGenModelFile="platform:/resource/org.xtext.example.mydsl/model/MyDsl.genmodel"
    }
    
    bean = StandaloneSetup {
		resourceSet = org.eclipse.xtext.resource.XtextResourceSet : resourceSet {}
        registerEcoreFile="platform:/resource/org.xtext.example.mydsl/model/MyDsl.ecore"
	}
    
    component = DirectoryCleaner {
        directory = "${runtimeProject}/src-gen"
    }
    
      component = DirectoryCleaner {
        directory = "${runtimeProject}.ui/src-gen"
    }
    
    
    component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
    	genModel = "platform:/resource/org.xtext.example.mydsl/model/MyDsl.genmodel"
    	srcPath = "src"
    }

   

  
    component = Generator {
    	
        pathRtProject = runtimeProject
        pathUiProject = "${runtimeProject}.ui"
        pathTestProject = "${runtimeProject}.tests"
        projectNameRt = projectName
        projectNameUi = "${projectName}.ui"
        language = {
        	forcedResourceSet = resourceSet
            uri = grammarURI
            fileExtensions = file.extensions

            // Java API to access grammar elements (required by several other fragments)
            fragment = grammarAccess.GrammarAccessFragment {}


            // Serializer 2.0
            fragment = serializer.SerializerFragment {}
            
            // the serialization component (1.0)
            // fragment = parseTreeConstructor.ParseTreeConstructorFragment {}

            // a custom ResourceFactory for use with EMF
            fragment = resourceFactory.ResourceFactoryFragment {
                fileExtensions = file.extensions
            }

            // The antlr parser generator fragment.
            fragment = parser.antlr.XtextAntlrGeneratorFragment {
            //  options = {
            //      backtrack = true
            //  }
            }

            // java-based API for validation
            fragment = validation.JavaValidatorFragment {
                composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
                composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
            }

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

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

            // generator API
            fragment = generator.GeneratorFragment {
                generateMwe = true
                generateJavaMain = true
            }

            // formatter API
            fragment = formatting.FormatterFragment {}

            // labeling API
            fragment = labeling.LabelProviderFragment {}

            // outline API
            fragment = outline.OutlineTreeProviderFragment {}
            fragment = outline.QuickOutlineFragment {}

            // quickfix API
            fragment = quickfix.QuickfixProviderFragment {}

            // content assist API
            fragment = contentAssist.JavaBasedContentAssistFragment {}

            // generates a more lightweight Antlr parser and lexer tailored for content assist
            fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}

            // generates junit test support classes into Generator#pathTestProject
            fragment = junit.Junit4Fragment {}

            // project wizard (optional)
            // fragment = projectWizard.SimpleProjectWizardFragment {
            //      generatorProjectName = "${projectName}"
            //      modelFileExtension = file.extensions
            // }

            // provides the necessary bindings for java types integration
            fragment = types.TypesGeneratorFragment {}

            // generates the required bindings only if the grammar inherits from Xbase
            fragment = xbase.XbaseGeneratorFragment {}

            // provides a preference page for template proposals
            fragment = templates.CodetemplatesGeneratorFragment {}

            // rename refactoring
            fragment = refactoring.RefactorElementNameFragment {}

            // provides a compare view
            fragment = compare.CompareFragment {
                 fileExtensions = file.extensions
            }

        }
    }
}


<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.xtext.org/example/mydsl/MyDsl"
            class="org.xtext.example.mydsl.myDsl.MyDslPackage"
            genModel="model/MyDsl.genmodel"/>
   </extension>

</plugin>


build.properties
source.. = src/,\
          src-gen/,\
          xtend-gen/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               model/


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

[Updated on: Wed, 07 March 2012 20:18]

Report message to a moderator

Re: GenModel when using imported ecore model [message #815591 is a reply to message #815557] Wed, 07 March 2012 21:03 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
It still freezes.

I added model/ to my build properties,
changed to genModel = "model/AsmetaE.genmodel" in my plugin.xml
and also added
bean = StandaloneSetup {
        resourceSet = org.eclipse.xtext.resource.XtextResourceSet : resourceSet {}
        registerEcoreFile="platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.ecore"
    }
........
component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
        genModel = "platform:/resource/org.asmeta.asmeta_editor/model/AsmM_all.genmodel"
        srcPath = "src"
    }

to my workflow, with no results.


If this can help, this method call (see stack trace in previous posts)
XtextResourceSet$1(ExtensibleURIConverterImpl).createInputStream(URI, Map<?,?>) line: 350	

took about 1 minute for each of these URI:
http.//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
http.//www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
http.//www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent
http.//www.w3.org/TR/xhtml1/DTD/xhtml-special.ent
http.//www.w3.org/1999/xhtml
http.//www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd
http.//www.w3.org/MarkUp/DTD/xhtml-datatypes-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-metaAttributes-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-framework-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-datatypes-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-qname-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-events-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-attribs-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-rdfa-model-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-charent-1.mod
http.//www.w3.org/MarkUp/DTD/xhtml-lat1.ent
http.//www.w3.org/MarkUp/DTD/xhtml-symbol.ent
http.//www.w3.org/MarkUp/DTD/xhtml-special.ent
........
Then I just stopped the debugger

So, maybe after all eclipse isn't freezing; nevertheless, when using "generate" grammar it opens up the editor in less than a second.
Re: GenModel when using imported ecore model [message #815601 is a reply to message #815591] Wed, 07 March 2012 21:17 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

http.//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
really loading these file via java from the internet may be really really slow.
e.g. http://stackoverflow.com/questions/1572808/java-xml-xslt-prevent-dtd-validation
http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic/
so you should investigate why you need to download this stuff.

~Christian


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

[Updated on: Wed, 07 March 2012 21:18]

Report message to a moderator

Re: GenModel when using imported ecore model [message #815609 is a reply to message #815601] Wed, 07 March 2012 21:26 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
Ok, thanks a lot for your time and help.

I will investigate, but still I can't see why this is happening only when importing my model.
Re: GenModel when using imported ecore model [message #815612 is a reply to message #815609] Wed, 07 March 2012 21:31 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
And just as a hint for investiagtion: does it work when you are trying the same with a greeting example?

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: GenModel when using imported ecore model [message #816021 is a reply to message #815612] Thu, 08 March 2012 10:24 Go to previous messageGo to next message
Stefano Zanotti is currently offline Stefano ZanottiFriend
Messages: 22
Registered: March 2012
Junior Member
Hi,
the greeting example works.

I saw that it created the file 'plugin.properties' in the runtime project, which is not created when I use my own "import" grammar.

Also, I just noticed that 'plugin.xml' is not generated/rewritten with my grammar (I have a 'plugin.xml' coming from previous attempts).
The 'plugin.xml' in the .ui project is generated, though.

In my previous attempts' 'plugin.xml' I have a line
class = "org.asmeta.asmeta_editor.asmetaE.AsmetaEPackage" but I have no AsmetaEPackage class, since in the ecore model the 'asmeta' package is empty (it only contains subpackages).
What class should I put in there? Should I put every XXXEPackage class from my model's subpackages?
Re: GenModel when using imported ecore model [message #816351 is a reply to message #816021] Thu, 08 March 2012 18:50 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

i guess yes. btw using subpackages ahould be avoided

~Christian


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:Formatting Text with Tabulators
Next Topic:How to get EditingDomain for XText Editor
Goto Forum:
  


Current Time: Sat Apr 20 01:51:14 GMT 2024

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

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

Back to the top