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 ?

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.pd
>> f
>>
>> * this presentation at page 43 :
>> http://felix.apache.org/site/article-presentations.data/iPOJO-Defense-FI
>> 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/ContextSo
>> 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]

Reply via email to