Hi, On 24.11.10 19:00, "Richard S. Hall" <[email protected]> wrote:
>On 11/24/10 11:48, Gay David (Annecy) wrote: >> First of all, thanks Clement and Richard for you explainations. >> >> What I understand : >> >> By looking at iPojo sources, if I want to use this feature, I must >>publish >> an implementation of the interface org.apache.felix.ipojo.ContextSource >>in the service >> registry with a service property source.name="foo". >> The value "foo", is in fact the name of the context in the composite >>declaration : context-source="global:foo" >> With that, I can refer to any property inside the context in my LDAP >>filter. So that, if I change >> a value in the context all LDAP filter are recomputed automatically. >> >> Is my understanding correct ? > >Yes, that is my understanding too. Clement can tell us if the >implementation actually works that way. :-) Yes it does. However it never evolves since 2008. The context source management is in org.apache.felix.ipojo.composite.util.SourceManager So in short, when a context value change, the ldap filters are recomputed and re-applied. It is supported for imported and instantiated services. Regards, Clement > >-> richard > >> Thanks again. >> Regards, David >> >> -----Message d'origine----- >> De : Richard S. Hall [mailto:[email protected]] >> Envoyé : mercredi 24 novembre 2010 16:49 >> À : [email protected] >> Objet : Re: iPojo context-awareness >> >> On 11/24/10 9:17, Clement Escoffier wrote: >>> Hi, >>> >>> >>> On 24.11.10 13:27, "Gay David (Annecy)"<[email protected]> wrote: >>> >>>> Hi all, >>>> >>>> >>>> >>>> While looking at some documents about iPojo composition, I've see that >>>> there is a notion of "context-source". >>>> >>>> >>>> >>>> For example : >>>> >>>> * this presentation at page 91 : >>>> >>>>http://felix.apache.org/site/presentations.data/ipojo-berlin-20080611.p >>>>d >>>> f >>>> >>>> * this presentation at page 43 : >>>> >>>>http://felix.apache.org/site/article-presentations.data/iPOJO-Defense-F >>>>I >>>> NAL.pdf >>>> >>>> >>>> >>>> In the iPojo API, I've also see this interface : >>>> >>>>http://felix.apache.org/ipojo/api/1.6.0/org/apache/felix/ipojo/ContextS >>>>o >>>> urce.html >>>> >>>> And in the composite documentation here : >>>> http://felix.apache.org/site/ipojo-composition-tutorial.html , there >>>>is >>>> nothing about it, just a word in the conclusion that say that >>>> context-awareness will be addressed shortly (as other topics) >>>> >>>> >>>> >>>> While composite are very clear to me (BTW this is an fantastic >>>>feature, >>>> thanks), I'm not sure I understand what's really the context-source >>>>and >>>> context awareness. >>>> >>>> Can someone provides me more info / links / samples about this ? >>> The context-awareness was made to allow composition to evolve >>>according to >>> a context (I.e. When the context changes, the composition is >>> re-evaluated). This is a little bit experimental in the sense that this >>> was never really used in production (as far as I know). >>> >>> The idea is kind of simple. You define context-sources providing the >>> context and publishing the changes. Then, the compositions are >>>expressed >>> in term of the context by configuring 'context-aware-filters'. >>> >>> I will add ASAP an example of the context-awareness on the composition >>> tutorial to make this topic clearer. >> To be a little more concrete (although details may be out of date)... >> >> A context source is just something that supplies name/value pairs at run >> time. A composition with a context source can have its filters written >> in terms of properties from the context source. >> >> For example, assume you have a context source that provides the user's >> current location. Then when you specify a sub-service in a composite, >> you can reference the user's current location in its filter, e.g.: >> >> <composite name="foo"> >> ... >> <sub-service >> context-source="global:user-context-source" >> action="instantiate" >> specification="org.foo.Printer" >> filter="(location=${user.location})" /> >> ... >> </composite> >> >> In this case, the global context source "user-context-source" is used to >> determine the user's current location, which is used to track printer >> services in the same location as the user. >> >> -> richard >> >>> Regards, >>> >>> Clement >>> >>> PS: As I'm pretty sure you can read French, you can check: >>> http://tel.archives-ouvertes.fr/tel-00347935/en/ (pages 129 to 131) >>> >>> >>> >>>> >>>> Thanks for your help. >>>> >>>> David G. >>>> >>> >>> --------------------------------------------------------------------- >>> 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] >> >> >> --------------------------------------------------------------------- >> 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

