Ant,
The idea of using the component name is completely wrong and
unacceptable, I'm afraid.
The component name may be nothing like the implementation name - and an
implementation can be used multiple times by different components. The
componentType file is really to be thought of as an extension of the
implementation for those (hopefully few) cases where introspection of
the implementation cannot provide the required information.
My suggestion is that the SPI should put the burden on the
implementation module - for example a special method on the
xxxImplementation class with a name like "locateComponentTypeFile".
Actual loading of the componenttype file can be generic, but finding the
file is definitely a job for the implementation-handling code.
PS I suspect that it may be wise to allow the implementation to hook out
the loading of the componentType file. With extensibility allowed, the
componentType file might conceivably contain extra information in the
case of some implementation types....
Yours, Mike.
ant elder wrote:
I'm struggling with how to define and locate the .componentType side
file in
the implementation SPI. The assembly spec says:
"A component type file has the same name as the implementation file but has
the extension ".componentType"...The location of the component type file
depends on the type of the component implementation..." (page 13 line 445).
The problem is "the implementation file" is not specific enough and there
isn't a standard way for the runtime to know which implementation attribute
is the "implementation file". Eg, for implementation.java its the 'class'
attribute, for implentation.script its the 'script' attribute, for
implementation.das its the 'config' attribute etc.
Any one have any ideas on how to do this? Would it be be terribly
non-compliant if the default used by the runtime was "A component type file
has the same name as the _component_ with the extension ".componentType"?
...ant
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]