[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmt] Re: [MOFScript] loading Metamodel

Thanks Gøran,

i did it...

File metamodel = new File("Z:\\<<Filepath>>\\JavaAbstractSyntax.ecore");
ResourceSet rsSource = new ResourceSetImpl(); rsSource.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
Resource resSource = rsSource.getResource(
URI.createFileURI(metamodel.getAbsolutePath()), true);
EPackage package = (EPackage) resSource.getContents().get(0);
EPackage.Registry.INSTANCE.put("JavaAbstractSyntax", package);


But now i have other problem. When i load the model.

i m doing it:

execMgr.lookupAndAddSourceMetaModel("JavaAbstractSyntax","JavaAbstractSyntax"));
execMgr.loadSourceModel(new File("Z:\\<<Filepath>>\\test.javaabstractsyntax"));


But a exception is thrown. The model test.javaabstractsyntax and the transfomation works well on the eclipse plugin.

Exception in thread "main" java.lang.NullPointerException
at org.eclipse.mofscript.runtime.ExecutionManager.getSourceMetaModelName(ExecutionManager.java:887)
at org.eclipse.mofscript.runtime.ExecutionManager.loadSourceModel(ExecutionManager.java:585)
at code.JavaCodeGeneration.test(JavaCodeGeneration.java:123)
at code.JavaCodeGeneration.main(JavaCodeGeneration.java:151)


Any ideia?

Thanks in advance

Gøran K. Olsen wrote:

Hello again,

And if this doesn't work have you added

//
//Change to your ovn metamodel
//
import org.eclipse.uml2.uml.UMLPackage;

public class TestAPI implements ExecutionMessageListener {

public TestAPI () {

  //
  //Maks MOFScript aware of your metamodel chenge to your own
  //
  UMLPackage lePackage = UMLPackage.eINSTANCE;


/Gøran


"Gøran K. Olsen" <Goran.K.Olsen@xxxxxxxxx> wrote in message news:g3ntt1$qo5$1@xxxxxxxxxxxxxxxxxxxx
Hello Netuh,

Have you added your model plugin to the classpath?

Cheers,
Gøran

"Netuh" <waldemar.neto@xxxxxxxxx> wrote in message news:8fc95745bbb80a8e313ec69317d7e804$1@xxxxxxxxxxxxxxxxxxxxx
Hi,

I'm defining some textual tranformations for models based on the JavaAbstractSyntax metamodel. It works fine! However, when I try to integrate my MOFScript transformation in a Java environment, using the example given in the MOFScript User Guide v0.6, it doesn't work.

The following line
**int errorCount = ParserUtil.getModelChecker().getErrorCount();**
returns 85 erros. They are all concerning the lack of a metamodel definition.


I see that the exemple in the User Guide doesn't present a means of setting the metamodel before calling **execMgr.executeTransformation();**
So, the errors are expected.


Although I've searched a lot, I have not found any way of setting the metamodel, any kind of MOFScript API and any other kind of ducumentation.

Has anyone had the same problem? May someone help me?

Best regards!

---
The output I get from my Java program is this:
Parsing result: 85 errors
: Error: MTTParseError: Illegal/unknown context: jast, line: 484, column: 0
: Error: MTTParseError: Can't find feature 'interface' for type 'TypeDeclaration'., line: 28, column: 5
: Error: MTTParseError: Type not found: 'FieldDeclaration' in metamodel 'null', line: 0, column: 0
: Error: MTTParseError: Can't find feature 'bodyDeclarations' for type 'TypeDeclaration'., line: 31, column: 2
: Error: MTTParseError: Type not found: 'MethodDeclaration' in metamodel 'null', line: 0, column: 0
.
.
.
.
---
jast is a reference to the metamodel.