Very good that you found this. I don't know if it is possible to solve this
in any other way than changing the associated extension for sculptor dsl
plugin.

Way back in time Andreas and I actually talked about using some other more
fancy names for the DSLs, and their file extensions. Our source of
inspiration was: http://www.plastermaster.com/sculpturehouse/index.htm :-)
and the suggestion was 
chisel for the business tier DSL, i.e. model.design > model.chisel
rasp for the GUI DSL, i.e. model.guidesign > model.rasp

What do you think?

/Patrik


polly.c.chang wrote:
> 
> Oh, will the pain never end with this file resolving problem!  I had
> everything working great.  Design files were getting resolved from the
> classpath and there were no errors.  I was about to test the condition
> that you asked me to check in the other thread.  Then I discovered that
> the evil red "cannot resolve" markers came back.  I turned on my
> breakpoints again and waited for them to be hit.  Nothing.  Eclipse flew
> past everything.
> 
> All my breakpoints in
> org.openarchitectureware.xtext.registry.CachingModelLoad,
> org.openarchitectureware.xtext.registry.ClasspathUriUtil,
> TMFJdtClasspathUriResolver (the file I got from TMF), and oAW's
> org.openarchitectureware.xtext.registry.JdtClasspathUriResolver were being
> ignored.  How could this be?  So then I found
> org.openarchitectureware.xtext.editor.marker.MarkerManager.  Apparently
> this is where the red markers are coming from.
> 
> I debugged into this class and found that inside
> internalParseAndAnalyze(), on line 180, it tries to get the resource
> factory:
> 
>               Object factory = 
> Resource.Factory.Registry.INSTANCE.getFactory(uri);
> 
> Apparently it was trying to find the resource factory for the file
> extension "design".  Well, it returns
> org.eclipse.datatools.connectivity.oda.design.util.DesignResourceFactoryImpl
> instead of the sculptordslResourceFactory.  Then I remembered that I saw
> this error in the .log file before:
> 
> Both 'com.foo.dsl' and 'org.eclipse.datatools.connectivity.oda.design'
> register an extension parser for 'design'
> 
> So apparently this is the problem.  The following line of code tests to
> see if the factory is an instance of IXtextResourceFactory.  It's not, so
> the oAW code does not bother trying to resolve anything.  That's why the
> error markers are there.  I verified that this is the problem by going
> into the datatools plugin and hacking its plugin.xml to change the
> extension to "design2" like this:
> 
>   <extension point="org.eclipse.emf.ecore.extension_parser">
>     <parser 
>        type="design2"
>       
> class="org.eclipse.datatools.connectivity.oda.design.util.DesignResourceFactoryImpl"
> />
>   </extension>
> 
> Then voila!  It worked!  It appears that there's a race condition where
> sometimes Sculptor wins and sometimes this other plugin wins.  Since this
> plugin comes default in Eclipse 3.4.2 JEE edition, I cannot disable it,
> and this is the platform that our company is standardizing on.  So do you
> have any idea how to get rid of this conflict short of renaming the file
> extension?  
> 
> Thanks!
> --Polly
> 

-- 
View this message in context: 
http://www.nabble.com/-Sculptor--extension-parser-clash-tp23068724s17564p23085354.html
Sent from the Fornax-Platform mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Fornax-developer mailing list
Fornax-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fornax-developer

Reply via email to