Ok; thanks for clarifying all this, it's clear to me now.

regards;
/Pierre

On Wed, Jul 29, 2015 at 6:51 AM, David Jencks <
david_jen...@yahoo.com.invalid> wrote:

> It’s 112.3.10 in the R6 spec.  Too bad we missed the opportunity to
> clarify this section.  I believe it is intended to refer only to static
> references, where indeed you can’t bind the optional one in a cycle.   My
> interpretation of this section is that DS should make its best effort to
> bind whatever it can, and in some cases with static references it won’t be
> able to bind everything.
>
> Note that with static references that use ServiceReference or prototype
> scope it may still be possible to bind everything called for.
>
> david jencks
>
> > On Jul 28, 2015, at 5:54 PM, Pierre De Rop <pierre.de...@gmail.com>
> wrote:
> >
> > Hi all,
> >
> > I'd like to have some help regarding the intention of the
> > "test_A11_B0n_immediate_A_first()" method in the
> CircularReferenceTest.java
> > test from SCR.
> > Indeed, the javadoc of this method seems to indicate that the intention
> is
> > to test the following use case:
> >
> > - A is immediate and has a 1..1 dynamic ref to B
> > - B is immediate ans has a 0..N dynamic ref to A
> > - then both A and B should be started, however B should not be bound to A
> > because there is a cycle (112.3.7 chapter, in the DS spec)
> >
> > now, if you look at the last assertion in the
> > test_A11_B0n_immediate_A_first() method, then it looks like B is asserted
> > to be bound to A, which seems to be in contradiction with the intent of
> > this test:
> >
> >    @Test
> >    public void test_A11_B0n_immediate_A_first() throws
> > InvalidSyntaxException
> >    {
> >        String componentNameA = "2.A.1.1.dynamic";
> >        final ComponentConfigurationDTO componentA =
> > findComponentConfigurationByName( componentNameA,
> > ComponentConfigurationDTO.ACTIVE );
> >        A a = getServiceFromConfiguration(componentA, A.class);
> >        assertEquals( 1, a.getBs().size());
> >
> >        String componentNameB = "2.B.0.n.dynamic";
> >        final ComponentConfigurationDTO componentB =
> > findComponentConfigurationByName( componentNameB,
> > ComponentConfigurationDTO.ACTIVE );
> >        B b = getServiceFromConfiguration(componentB, B.class);
> >        assertEquals( 1, b.getAs().size() );
> >    }
> >
> > IMO, the last assert should be:
> >
> >        assertEquals( 0, b.getAs().size() );
> >
> > instead of
> >
> >        assertEquals( 1, b.getAs().size() );
> >
> > then do we have currently a bug in SCR (because B should not be bound to
> A
> > in this situation ?)
> >
> > thanks;
> >
> > cheers;
> > /Pierre
>
>

Reply via email to