Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stp-dev] writing an introspector...



I am trying to write some basic componentType introspector in order to understand the framework better but I am afraid that I’ll need some help.


Basically I am trying to produce a component type abstraction of an eclipse project (in a similar fashion as the properties example used for the unit tests and documentation)


So far I defined the extension point targeting “.project” files and wrote a mock implementation of the introspection interface and I have been trying to use the “” type (so I didn’t have to extend the SCA model). I then tried to write a simple view to scan the current workspace and list all the projects under their component type abstraction produce by the introspector.


At this stage my immediate problem is that I cannot find a way to use the introspector framework to actually find “SCA enable” services implementation, instead the public hook to the introspector extension point (IModelIntrospectionManager) seems to require the service implementations to be already imported in an assembly before introspectors can go through them and extract the relevant info.

The properties example in the unit tests seems to confirm that approach.

I tried to feed an UnknownImplementation to IModelIntrospectionManager, since the doc states that it doesn’t require to be nested in a full fledge component, but it didn’t work (assert failure, line 93 of ModelIntrospectionManager).


So is it possible to run the introspector against a resource that isn’t pulled in an assembly yet and for which we do not know what type of implementation it is or even if it is a supported service implementation?


I also ran into trouble when I tried to extend the SCA model to add a new implementation type. I had a look at the properties example but the ecore files in CVS reference some IBM resources that haven’t been committed. That aside, would it be possible to get a quick doc explaining what need to be extended in order to introduce a new implementation type to the model?


Any help would be greatly appreciated.





Back to the top