Stephen wrote: > > Daniel Frey wrote: > >> Hi there, >> >> Merlin does support two types of contextualization: >> >> - Standard entries. >> - Custom contexts (safely casted or not). > > You have the following under 3.2.5: > > - standard entries (urn:avalon:...) > - castable context objects > - custom context delivery strategies > > and under CVS HEAD: > > - privaliged context entries ("urn:composition:...) > - avalon independent context objects via constructor
I think, I have to go through the new tutorials in the HEAD. Are they already referring to the new concept? >> Given I have an application as described in ... where I want assemble a >> context object, basically a map of keyed objects as described by Stephen >> (http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED] &msgId=624575). The context object has to have an entry for the resource >> manager and the main frame, both components of other containers. > > Context objects are different from service objects in that they don't > have structural dependencies. > >> I would like to add a these two to the context *before* it is passed to >> subsequent other Avalon components. How is this achieved? > > Doing what your describing is in principal possible but would require > some heavy-weight manipulation of the object model. The way you archive > it is to locate a facility in a parent container (which guarantees it is > established in advance) and use this to set the context object entries > for sibling component models (i.e. its non-trivial but does provide a > very clean object mode for the downstream components). > >> One way could be to do it in the contextualize method itself. The >> application is Contextualizable and adds the two objects to the context. >> Here I would have to guarantee that the applications' context method is >> called as the really first one of all components. >> >> However, contextualize() is called before service(). And just service() >> does deliver access to the other components which I need to set-up the >> context (resource manager and main frame). > > If your running from CVS head then use the constructor based approach > and you eliminate order dependence. > >> I've the impression I am on the wrong way. Another approach could be that >> I do not have to code additions/completions of the context object, but to >> configure it somehow. > > Both are feasible. The context based approach will be harder b ut will > generate a cleaner object model. The service based approach will be > easier to implement in the short term. > > >> Maybe it's even not necessary to have a context object as described first >> above, as I could configure the resource manager and main frame as >> singletons, and get access to these two during the service method. I've >> the impression, that this could fit. > > So missing info - need more "bigger picture stuff" to answer this. Stephen, I think I am just someone coming from the old non-component idea having a context object in the application for all "global" stuff. I did not recognize that exactly this role may be played by the ServiceManager. I am sorry for my late awareness. Anyway, the Merlin approach saves a lot of coding! Daniel > Cheers, Stephen. > >> How do you achieve this usually? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]