Hi Luciano,
Comments inline.
Jim
On Jan 15, 2007, at 5:23 PM, Luciano Resende wrote:
I have started investigating TUSCANY-1045. Based on what the spec
is saying,
we should start by calculating the component type information from
introspection and then looking into sidefile and merge the info
from both in
a compatible way :
"The component type is calculated in two steps where the second
step adds to
the information found in the first step. Step one is introspecting the
implementation (if possible), including the inspection of
implementation
annotations (if available). Step two covers the cases where
introspection of
the implementation is not possible or where it does not provide
complete
information and it involves looking for an SCA component type file.
Component type information found in the component type file must be
compatible with the equivalent information found from inspection of
the
implementation. The component type file can specify partial
information,
with the remainder being derived from the implementation. "
The issue is that our code, inside JavaComponentTypeLoader is doing
these
two paths in a exclusive way.
I'm planning to work on this, but I want some guidance on how to merge
information from a componentType from two different sources. I have
couple
questions :
- Do we already have some similar code available ?
- Any special care while merging the info from the two sources
(introspection and sideFile) ?
- How to identify if the info from both sources are compatible ?
Based on some of the deployment work that will be done, we actually
need to separate out the load phase into two, one which loads the
assembly model and another phase which resolves the dependencies
necessary to construct the component type metadata (e.g. Java class,
WSDL, etc.). I think we should pick this work up once we have those
phases separated out.
Once we do this separation, one of the tricky things will be
handling the merging of data. The side file loading will need to
either add or overwrite information generated through introspection.
Also, another tricky part may involve handling of heuristic errors.
For example, since the introspection phase is run first, it may
prematurely throw errors due to a lack of metadata that may be
supplied by the component type side file. To solve this, we should
probably introduce a validation phase with the ability to plugin in
validators which are run after the introspection and side file load
have taken place, during the resolution phase. The validators should
check very specific things.
Once we have the phases broken out (I can get this done early next
week, once some of the deployment/resolition groundwork is in place),
maybe we can pick this up then?
Jim
--
Luciano Resende
http://people.apache.org/~lresende
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]