Problems with referencing ecore's [message #884661] |
Mon, 11 June 2012 15:17 |
Andreas Graf Messages: 211 Registered: July 2009 |
Senior Member |
|
|
Dear all,
I have succesfully created a grammar that is based on RMF's Reqif ecore.
Now I am trying to build a grammar that references ReqIF ecore.
My grammar statement is
Constraint:
'constraint' name=ID ref=[reqif10::SpecObjectType|ID]
query=XExpression
;
However, the workflow fails. It cannot generate an .ecore for my Xtext grammar.
I have tracked down the problem to GenModelImpl#getMissingPackagesHelper
The line
ePackages.add(eClassifier.getEPackage());
adds a null value to the list of ePackages, which causes a null pointer exception in the generator of Xtext.
The value of eClassifier, according to the debugger is
org.eclipse.emf.ecore.impl.EDataTypeImpl@6398523f (eProxyURI: platform:/plugin/org.eclipse.emf.ecore/model/XMLNamespace.ecore#//LangType)
I have tried adding basically everything to tge StandaloneSetup:
bean = StandaloneSetup {
scanClassPath = true
platformUri = "${runtimeProject}/.."
// The following two lines can be removed, if Xbase is not used.
registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.xhtml.XhtmlPackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.datatypes.DatatypesPackage"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.ReqIF10Package"
registerGeneratedEPackage = "org.eclipse.emf.ecore.EcorePackage"
registerGeneratedEPackage = "org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage"
registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.rmf.reqif10/model/reqif10.genmodel"
registerGenModelFile ="platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.emf.ecore/model/XMLNamespace.genmodel"
}
but no success. Any idea how I could solve the null pointer problem?
Thanks,
Andreas
EDIT: The nullpointer is thrown in EcoreGeneratorFragment#getGenPackagesForPackages in && gp.getEcorePackage().getNsURI().equals(pkg.getNsURI()))
[Updated on: Mon, 11 June 2012 15:19] Report message to a moderator
|
|
|
Re: Problems with referencing ecore's [message #884733 is a reply to message #884661] |
Mon, 11 June 2012 17:36 |
|
Hi,
could you give the following a try
bean = StandaloneSetup {
scanClassPath = true
platformUri = "${runtimeProject}/.."
uriMap = {
from = "platform:/plugin/org.eclipse.emf.ecore/model/XMLNamespace.genmodel"
to = "platform:/resource/org.eclipse.emf.ecore/model/XMLNamespace.genmodel"
}
uriMap = {
from = "platform:/plugin/org.eclipse.emf.ecore/model/XMLNamespace.ecore"
to = "platform:/resource/org.eclipse.emf.ecore/model/XMLNamespace.ecore"
}
// The following two lines can be removed, if Xbase is not used.
registerGenModelFile = "platform:/plugin/org.eclipse.emf.ecore/model/XMLNamespace.genmodel"
registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
registerGeneratedEPackage = "org.eclipse.rmf.reqif10.ReqIF10Package"
registerGeneratedEPackage = "org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage"
registerGenModelFile = "platform:/resource/org.eclipse.rmf.reqif10/model/reqif10.genmodel"
}
~Christian
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
|
Powered by
FUDForum. Page generated in 0.03051 seconds