Please see my comments inline.
Raymond
----- Original Message -----
From: "Jim Marino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, January 17, 2007 8:52 AM
Subject: Re: Tuscany-1045 - Merging component type information from two
sources
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.
This is great news. I'm looking into the dependencies and classloading
scheme for the composite hierarchy as well as the artifact resolving. The
separation will give me the infrastructure I'm expecting.
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.
+1.
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]