Fornax-Platform
Forum

How to extract out the ecore model file during sculptor workflow

View: New views
7 Messages — Rating Filter:   Alert me  

How to extract out the ecore model file during sculptor workflow

by Darth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I want to look at the ecore file that is created (is it? in memory object?) as a result of an intermediate step after dsl transformation happens. Is it possible to see the intermediate model file? The file thats used as input to the generator before it generates code...

Thanks.

Re: How to extract out the ecore model file during sculptor workflow

by Karsten Thoms :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You could use the org.eclipse.mwe.emf.Writer or XmiWriter workflow
component to serialize it. Therefore you have to modify the oaw workflow
and include this component. Search for these classes on
openarchitectureware.org for configuration examples.


Darth schrieb:
> I want to look at the ecore file that is created (is it? in memory object?)
> as a result of an intermediate step after dsl transformation happens. Is it
> possible to see the intermediate model file? The file thats used as input to
> the generator before it generates code...
>
> Thanks.
>  


--
Karsten Thoms
Softwarearchitekt

Telefon: +49 (0) 231 / 98 60-202
Telefax: +49 (0) 231 / 98 60-211
Mobil  : +49 (0) 163 / 4979708

http://www.itemis.de
Karsten.Thoms@...

itemis AG
Am Brambusch 22
44536 Lünen

Rechtlicher Hinweis:
Amtsgericht Dortmund, HRB 20621

Vorstand: Wolfgang Neuhaus, Jens Wagener, Dr. Georg Pietrek

Aufsichtsrat: Dr. Burkhard Igel(Vors.), Stephan Grollmann, Michael Neuhaus


[karsten_thoms.vcf]

begin:vcard
fn:Karsten Thoms
n:Thoms;Karsten
org:itemis AG
adr;quoted-printable:;;Brambusch 22;L=C3=BCnen;;44536;Germany
email;internet:karsten.thoms@...
title:Softwarearchitekt
tel;work:+49 231 9860 202
tel;fax:+49 231 9860 211
tel;cell:+49 163 4979708
url:http://www.itemis.de
version:2.1
end:vcard



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Fornax-developer mailing list
Fornax-developer@...
https://lists.sourceforge.net/lists/listinfo/fornax-developer

Re: How to extract out the ecore model file during sculptor workflow

by amphoras :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Can you post an example after you figure this out?  I am not that familiar with EMF, so I didn't realize that there's an intermediate model.  I think it would help me debug and understand things better though.

Thanks!

--Polly

Darth wrote:
I want to look at the ecore file that is created (is it? in memory object?) as a result of an intermediate step after dsl transformation happens. Is it possible to see the intermediate model file? The file thats used as input to the generator before it generates code...

Thanks.

Re: How to extract out the ecore model file during sculptor workflow

by Karsten Thoms :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Add this component to your .oaw workflow:

<component class="org.openarchitectureware.emf.XmiWriter">
   <inputSlot value="SLOTNAME"/>
   <modelFile value="OUTPUTFILENAME"/>
</component>

I don't know the slot name your model is parsed into, it can be read
from the workflow that reads your model since the parser will place a
model in some slot name. So figure it out from there. You must have a
dependency to org.openarchitectureware.emftools, if not already existent.

~Karsten

amphoras schrieb:

> Can you post an example after you figure this out?  I am not that familiar
> with EMF, so I didn't realize that there's an intermediate model.  I think
> it would help me debug and understand things better though.
>
> Thanks!
>
> --Polly
>
>
> Darth wrote:
>  
>> I want to look at the ecore file that is created (is it? in memory
>> object?) as a result of an intermediate step after dsl transformation
>> happens. Is it possible to see the intermediate model file? The file thats
>> used as input to the generator before it generates code...
>>
>> Thanks.
>>
>>    
>
>  

--
Karsten Thoms
Softwarearchitekt

Telefon: +49 (0) 231 / 98 60-202
Telefax: +49 (0) 231 / 98 60-211
Mobil  : +49 (0) 163 / 4979708

http://www.itemis.de
Karsten.Thoms@...

itemis AG
Am Brambusch 22
44536 Lünen

Rechtlicher Hinweis:
Amtsgericht Dortmund, HRB 20621

Vorstand: Wolfgang Neuhaus, Jens Wagener, Dr. Georg Pietrek

Aufsichtsrat: Dr. Burkhard Igel(Vors.), Stephan Grollmann, Michael Neuhaus


[karsten_thoms.vcf]

begin:vcard
fn:Karsten Thoms
n:Thoms;Karsten
org:itemis AG
adr;quoted-printable:;;Brambusch 22;L=C3=BCnen;;44536;Germany
email;internet:karsten.thoms@...
title:Softwarearchitekt
tel;work:+49 231 9860 202
tel;fax:+49 231 9860 211
tel;cell:+49 163 4979708
url:http://www.itemis.de
version:2.1
end:vcard



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Fornax-developer mailing list
Fornax-developer@...
https://lists.sourceforge.net/lists/listinfo/fornax-developer

Re: How to extract out the ecore model file during sculptor workflow

by Jan Labrie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Darth,

Another answer to your question is to look into the Sculptor source base. There are two meta models: one for the business tier and one for the GUI. I have attached them both to this post.

sculptormetamodel.ecore
sculptorguimetamodel.ecore

Have fun,

Jan

Re: How to extract out the ecore model file during sculptor workflow

by Darth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I was sniffing around oaw's forums to see how to do it and what you mention above is same as what they mentioned in these threads

http://www.openarchitectureware.org/forum/viewtopic.php?forum=2&showtopic=2469
http://www.openarchitectureware.org/forum/viewtopic.php?forum=2&showtopic=8997

    <component class="org.openarchitectureware.emf.XmiWriter">
            <modelFile value="out.xmi" />
            <inputSlot value="model"/>
      </component>


in either case it did not work for me and resulted in a SAXParseException.
I might have put something wrong in, but I tried putting the inputSlot value to be model, dslModel, transformedModel and all resulted in the same error.

ERROR WorkflowParser     - Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
       at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
       at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
       at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
       at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
       at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
       at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
       at org.openarchitectureware.workflow.ast.parser.WorkflowParser.parse(WorkflowParser.java:78)
       at org.openarchitectureware.workflow.ast.util.VisitorInitializer.visitInclusionAST(VisitorInitializer.java:115)
       at org.openarchitectureware.workflow.ast.util.VisitorBase.visit(VisitorBase.java:34)
       at org.openarchitectureware.workflow.ast.AbstractASTBase.accept(AbstractASTBase.java:44)
       at org.openarchitectureware.workflow.ast.util.VisitorInitializer.traverseChildren(VisitorInitializer.java:61)
       at org.openarchitectureware.workflow.ast.util.VisitorInitializer.visitComponentAST(VisitorInitializer.java:70)
       at org.openarchitectureware.workflow.ast.util.VisitorBase.visit(VisitorBase.java:37)
       at org.openarchitectureware.workflow.ast.AbstractASTBase.accept(AbstractASTBase.java:44)
       at org.openarchitectureware.workflow.ast.util.WorkflowFactory.parseAndInitialize(WorkflowFactory.java:108)
       at org.openarchitectureware.workflow.ast.util.WorkflowFactory.parseInitAndCreate(WorkflowFactory.java:58)
       at org.openarchitectureware.workflow.ast.util.WorkflowFactory.parseInitAndCreate(WorkflowFactory.java:53)
       at org.openarchitectureware.workflow.WorkflowRunner.prepare(WorkflowRunner.java:242)
       at org.openarchitectureware.workflow.WorkflowRunner.run(WorkflowRunner.java:203)
       at org.fornax.toolsupport.maven2.OawWorkflowMojo.execute(OawWorkflowMojo.java:287)
       at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
       at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
       at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
       at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
172  ERROR WorkflowRunner     - Content is not allowed in prolog. [sculptorworkflow.oaw]
172  ERROR WorkflowRunner     - Couldn't parse nested workflow file sculptorworkflow.oaw [cartridge file='sculptorworkflow.oaw' in workflow.oaw:3]
188  ERROR WorkflowRunner     - Workflow interrupted because of configuration errors.

Re: How to extract out the ecore model file during sculptor workflow

by Jan Labrie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This is ofcourse when you are interested in the meta model (which I assumed because you speak of the ecore model).

When you are intrested to see the specific instance, i.e. the transformation result of your .design file you have to go for the XMIWriter approach.

Jan Labrie

LightInTheBox - Buy quality products at wholesale price