Hi, I have tried my best to explain... just in case something is not right in this could somebody pitch in please.
Thanks. - Venkat On 11/14/06, Luciano Resende <[EMAIL PROTECTED]> wrote:
Hi All I have updated (Tuscany-904) with a new version of the DAS container. This is based on the initial contribution that Amita did, with some clean-up, refactoring and additions to try to fix a possible problem with mutable properties that are shared among instance (pointed by Jim Marino)... Currently, this is just the initial drop that I want to make available in the trunk so other can start to take a look and Amita and I could collaborate easier... unit testings, sample, etc are coming... I'd appreciate if anyone could help get this to the trunk if there is nothing wrong with this... Couple Questions: Could someone take a quick look at ComponentTypeLoader and see if it's looking Ok ? I was not sure about what this loadFromSideFile means ? what is the "side file"? Is this something particular to Script container ?
A sidefile is one way of exposing the configurable aspects of an implementation. The other way is thro annotations. Yet another is to follow some coding conventions so that this information is introspectable. The sidefile way of doing things is, to the best of what I understand, a common means across containers. i.e. you can have javascript, java, ruby, das (if you will) components all using the sidefile in a similar manner as this is prescribed by the specs. For the introspectable way you will see Java and JavaScript vary in how they achieve this. The same goes for annotations - right now the java container alone can leverage this (as far as I know). Also, I wasn't sure what time is the appropriate time to load the das config
file when provided ? Right now is being loaded at DataAccessImplementationLoader, if you guys think this should go in a different place, please let me know... also would be good to know why :)
The config file could very well be read / parsed during 'load' time using the loader. The loading is just about picking up the component definition information from the scdl file and creating a java object model for them. The next phase is the 'build' phase where you must create the necessary runtime artifacts making use of the model you have defined in the loading phase. In your case I would imagine that you would inject the config values into the DAS Engine during the build time. Well, comments and feedback are welcome... Note that I'm still getting
familiar with the Container SPI, so, please let me know if I misunderstood something on the implementation.
- Luciano Resende
Apache Tuscany
