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]

Reply via email to