Hi,
On 12.02.2010, at 10:49, peter lawrey wrote:
> Hello Clement,
> That sounds like a great idea. I haven't had much luck getting the
> filters to work. Can you point me to some working examples using
> annotations?
The idea is just to add an LDAP filter to the require annotation like
@Requires(filter="(connected=true)")
private Service myService;
On the others side the provider define the service property:
@Component
@Provides
public class MyServiceImpl implements Service {
@ServiceProperty(value="false")
private boolean connected;
// Callback called when the device is connected ...
private void onConnection() {
connected = true; // This will update the connected service property to true
}
}
Regards,
Clement
>
> Thank you,
> Peter.
>
> -----Original Message-----
> From: Clement Escoffier [mailto:[email protected]]
> Sent: 11 February 2010 20:01
> To: [email protected]
> Subject: Re: How do I have a component which is not immediately valid?
>
>
> On 11.02.2010, at 10:07, peter lawrey wrote:
>
>> I have been setting the @Controller valid to false in my @Updated
>> method. However, it appears that this is too late to prevent the
>> Component appearing in the @Requires of other components.
>
> Right,
>
> Unfortunately, there is no way to initialize that controller before. You
> can simply add a property to the service (that you set to a different
> value) and add a filter in your requirements.
>
>
> Regards,
>
> Clement
>
>>
>> -----Original Message-----
>> From: Clement Escoffier [mailto:[email protected]]
>> Sent: 10 February 2010 18:07
>> To: [email protected]
>> Subject: Re: How do I have a component which is not immediately valid?
>>
>> Hi,
>>
>>
>> On 10.02.2010, at 18:15, peter lawrey wrote:
>>
>>> I have a component which I don't want to be valid until I have
>> connected
>>> to a server (at which point the component can be used)
>>>
>>> However, the problem I have is that my iPOJO component starts valid
>> and
>>> I have to set it to invalid. Unfortunately this results in the
>>> component being available to other components.
>>>
>>> Can I have an iPOJO which starts invalid?
>>
>>
>> You can use the lifecycle controller (@Controller annotation) to
> impact
>> the instance lifecycle.
>> By setting this field to false, you invalid the instance. However,
>> setting it to true, will not necessary set it to valid, as it also
>> depends on the others handlers attached to the instance (an instance
> is
>> valid is all the attached handler are valid).
>>
>> Be sure to set the field value, so create an immediate instance.
>>
>> Regards,
>>
>> Clement
>>
>>>
>>> -----Original Message-----
>>> From: Hampel, Michael [mailto:[email protected]]
>>> Sent: 10 February 2010 15:32
>>> To: [email protected]
>>> Subject: bindex or obr problem?
>>>
>>> Hello,
>>>
>>> we have the following problem starting a bundle with obr:
>>>
>>> In the bundle's manifest we have a header entry:
>>> Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.0
>>>
>>> bindex is generating this xml entry (within the <resource> element):
>>> <require extend='false' filter='(|(ee=OSGi/Minimum-1.0))'
>>> multiple='false' name='ee' optional='false'>
>>> Execution Environment (|(ee=OSGi/Minimum-1.0))
>>> </require>
>>>
>>> When we try to start the bundle with obr we get the following
>> exception:
>>> filter expression(missing package): (|(ee=OSGi/Minimum-1.0))
>>>
>>> unresolved bundle: our.bundle
>>>
>>> So it looks like that the ExecutionEnvironment Header is
>> misinterpreted
>>> as a package dependency - either by bindex or by OBR?
>>>
>>> Maybe somebody else had this problem before - thanx for any help in
>>> advance,
>>>
>>>
>>>
>>> Michael
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]