You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by Niclas Hedhman <ni...@hedhman.org> on 2015/07/10 15:25:59 UTC

Test Error found...

I think I have found a Testcase problem, while trying to improve the
ValueSerialization subsystem.

To show what I mean;

   a. Put a breakpoint on the first line in the only(!) test in
AbstractValueCompositeSerializationTest

   b. Run the JacksonValueCompositeSerializationTest.

   c. At breakpoint, look at the this.valueSerialization member. It has a
ServiceComposite reference to the OrgJsonValueSerializationService, not the
Jackson one.


I am trying to figure out how this is at all possible.


Cheers
-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
Ah, so the testcase around all of this is listing a usecase like;

  public interface MyService

  public interface MyService2 extends MyService


That both MyService and MyService can be injected with their primary type.
TypeLookup would need to better understand type hierarchies, but I suspect
that it quickly becomes a slippery slope.


Niclas

On Fri, Jul 10, 2015 at 5:16 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> That was quick... single() also throw IllegalArgumentException on zero
> results. I added a atMostOne() method in Iterables. All this will be
> re-written in 3.0 and use Java 8 Function+Stream API.
>
> On Fri, Jul 10, 2015 at 5:09 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
>
>> I am introducing a small fix (use single() instead of first(), catch
>> IllegalArgumentException and rethrow a AmbiguousTypeException), and the
>> output is
>>
>> org.qi4j.api.composite.AmbiguousTypeException: More than one model
>> matches the classname
>> org.qi4j.api.value.ValueSerialization:[OrgJsonValueSerializationService(active=false,module='Module
>> 1'), JacksonValueSerializationService(active=false,module='Module 1')]
>>
>>
>> for the case that I just detected.
>>
>> I am starting a local build to see what else fails and whether there is
>> concern for this change. Perhaps some way it is needed to ignore ambiguous
>> types in some usecase.
>>
>>
>> I'll report back later.
>> Niclas
>>
>> On Fri, Jul 10, 2015 at 4:56 PM, Niclas Hedhman <ni...@hedhman.org>
>> wrote:
>>
>>> So, the question is; SHOULD a AmbiguousTypeException be thrown when one
>>> is asking for a @Service injection of a composite type or
>>> ServiceReference<T>?
>>>
>>> And I am pretty sure the exact same code is called if one calls
>>> ServiceFinder.findService(), and that would also throw the
>>> AmbiguousTypeException.
>>>
>>>
>>> Cheers
>>> Niclas
>>>
>>> On Fri, Jul 10, 2015 at 4:53 PM, Niclas Hedhman <ni...@hedhman.org>
>>> wrote:
>>>
>>>> And it is not done there... It takes, and instantiates, the first one.
>>>> Line 378 in TypeLookup
>>>>
>>>> On Fri, Jul 10, 2015 at 4:50 PM, Niclas Hedhman <ni...@hedhman.org>
>>>> wrote:
>>>>
>>>>> The findService() (single instance) should be checking ambiguity,
>>>>> where as findServices() shouldn't. I am looking into that at the moment.
>>>>>
>>>>> On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org>
>>>>> wrote:
>>>>>
>>>>>> Good catch Niclas.
>>>>>>
>>>>>> No AmbiguousTypeException should be expected though.
>>>>>>
>>>>>> There is two services registered for the ValueSerialization type with
>>>>>> !=
>>>>>> identities, possibly different qualifiers etc... there's no type
>>>>>> ambiguity with multiple services of the same type.
>>>>>>
>>>>>> Think @Service Iterable<ValueSerialization> inject;
>>>>>>
>>>>>> /Paul
>>>>>>
>>>>>> Niclas Hedhman a écrit :
>>>>>> > EntityTestAssembler is the answer... which is invoked in the
>>>>>> > AbstractValueCompositeSerializationTest.
>>>>>> >
>>>>>> > I'll resolve that. Sorry for the noise.
>>>>>> >
>>>>>> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
>>>>>> wrote:
>>>>>> >
>>>>>> >> So, the Module contains TWO ValueSerialization systems, both the
>>>>>> OrgJson
>>>>>> >> and the Jackson ones.
>>>>>> >>
>>>>>> >> That should then raise the question, Why don't we get
>>>>>> >> AmbigiousTypeException??
>>>>>> >>
>>>>>> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in
>>>>>> the
>>>>>> >> Module.... Where are those coming from?
>>>>>> >>
>>>>>> >>
>>>>>> >> Cheers
>>>>>> >>
>>>>>> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <
>>>>>> niclas@hedhman.org>
>>>>>> >> wrote:
>>>>>> >>
>>>>>> >>> I think I have found a Testcase problem, while trying to improve
>>>>>> the
>>>>>> >>> ValueSerialization subsystem.
>>>>>> >>>
>>>>>> >>> To show what I mean;
>>>>>> >>>
>>>>>> >>>    a. Put a breakpoint on the first line in the only(!) test in
>>>>>> >>> AbstractValueCompositeSerializationTest
>>>>>> >>>
>>>>>> >>>    b. Run the JacksonValueCompositeSerializationTest.
>>>>>> >>>
>>>>>> >>>    c. At breakpoint, look at the this.valueSerialization member.
>>>>>> It has
>>>>>> >>> a ServiceComposite reference to the
>>>>>> OrgJsonValueSerializationService,
>>>>>> >>> not the Jackson one.
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> I am trying to figure out how this is at all possible.
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> Cheers
>>>>>> >>> --
>>>>>> >>> Niclas Hedhman, Software Developer
>>>>>> >>> http://zest.apache.org - New Energy for Java
>>>>>> >>>
>>>>>> >> --
>>>>>> >> Niclas Hedhman, Software Developer
>>>>>> >> http://zest.apache.org - New Energy for Java
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Niclas Hedhman, Software Developer
>>>>> http://zest.apache.org - New Energy for Java
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Niclas Hedhman, Software Developer
>>>> http://zest.apache.org - New Energy for Java
>>>>
>>>
>>>
>>>
>>> --
>>> Niclas Hedhman, Software Developer
>>> http://zest.apache.org - New Energy for Java
>>>
>>
>>
>>
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
That was quick... single() also throw IllegalArgumentException on zero
results. I added a atMostOne() method in Iterables. All this will be
re-written in 3.0 and use Java 8 Function+Stream API.

On Fri, Jul 10, 2015 at 5:09 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> I am introducing a small fix (use single() instead of first(), catch
> IllegalArgumentException and rethrow a AmbiguousTypeException), and the
> output is
>
> org.qi4j.api.composite.AmbiguousTypeException: More than one model matches
> the classname
> org.qi4j.api.value.ValueSerialization:[OrgJsonValueSerializationService(active=false,module='Module
> 1'), JacksonValueSerializationService(active=false,module='Module 1')]
>
>
> for the case that I just detected.
>
> I am starting a local build to see what else fails and whether there is
> concern for this change. Perhaps some way it is needed to ignore ambiguous
> types in some usecase.
>
>
> I'll report back later.
> Niclas
>
> On Fri, Jul 10, 2015 at 4:56 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
>
>> So, the question is; SHOULD a AmbiguousTypeException be thrown when one
>> is asking for a @Service injection of a composite type or
>> ServiceReference<T>?
>>
>> And I am pretty sure the exact same code is called if one calls
>> ServiceFinder.findService(), and that would also throw the
>> AmbiguousTypeException.
>>
>>
>> Cheers
>> Niclas
>>
>> On Fri, Jul 10, 2015 at 4:53 PM, Niclas Hedhman <ni...@hedhman.org>
>> wrote:
>>
>>> And it is not done there... It takes, and instantiates, the first one.
>>> Line 378 in TypeLookup
>>>
>>> On Fri, Jul 10, 2015 at 4:50 PM, Niclas Hedhman <ni...@hedhman.org>
>>> wrote:
>>>
>>>> The findService() (single instance) should be checking ambiguity, where
>>>> as findServices() shouldn't. I am looking into that at the moment.
>>>>
>>>> On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org> wrote:
>>>>
>>>>> Good catch Niclas.
>>>>>
>>>>> No AmbiguousTypeException should be expected though.
>>>>>
>>>>> There is two services registered for the ValueSerialization type with
>>>>> !=
>>>>> identities, possibly different qualifiers etc... there's no type
>>>>> ambiguity with multiple services of the same type.
>>>>>
>>>>> Think @Service Iterable<ValueSerialization> inject;
>>>>>
>>>>> /Paul
>>>>>
>>>>> Niclas Hedhman a écrit :
>>>>> > EntityTestAssembler is the answer... which is invoked in the
>>>>> > AbstractValueCompositeSerializationTest.
>>>>> >
>>>>> > I'll resolve that. Sorry for the noise.
>>>>> >
>>>>> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
>>>>> wrote:
>>>>> >
>>>>> >> So, the Module contains TWO ValueSerialization systems, both the
>>>>> OrgJson
>>>>> >> and the Jackson ones.
>>>>> >>
>>>>> >> That should then raise the question, Why don't we get
>>>>> >> AmbigiousTypeException??
>>>>> >>
>>>>> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in
>>>>> the
>>>>> >> Module.... Where are those coming from?
>>>>> >>
>>>>> >>
>>>>> >> Cheers
>>>>> >>
>>>>> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <niclas@hedhman.org
>>>>> >
>>>>> >> wrote:
>>>>> >>
>>>>> >>> I think I have found a Testcase problem, while trying to improve
>>>>> the
>>>>> >>> ValueSerialization subsystem.
>>>>> >>>
>>>>> >>> To show what I mean;
>>>>> >>>
>>>>> >>>    a. Put a breakpoint on the first line in the only(!) test in
>>>>> >>> AbstractValueCompositeSerializationTest
>>>>> >>>
>>>>> >>>    b. Run the JacksonValueCompositeSerializationTest.
>>>>> >>>
>>>>> >>>    c. At breakpoint, look at the this.valueSerialization member.
>>>>> It has
>>>>> >>> a ServiceComposite reference to the
>>>>> OrgJsonValueSerializationService,
>>>>> >>> not the Jackson one.
>>>>> >>>
>>>>> >>>
>>>>> >>> I am trying to figure out how this is at all possible.
>>>>> >>>
>>>>> >>>
>>>>> >>> Cheers
>>>>> >>> --
>>>>> >>> Niclas Hedhman, Software Developer
>>>>> >>> http://zest.apache.org - New Energy for Java
>>>>> >>>
>>>>> >> --
>>>>> >> Niclas Hedhman, Software Developer
>>>>> >> http://zest.apache.org - New Energy for Java
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Niclas Hedhman, Software Developer
>>>> http://zest.apache.org - New Energy for Java
>>>>
>>>
>>>
>>>
>>> --
>>> Niclas Hedhman, Software Developer
>>> http://zest.apache.org - New Energy for Java
>>>
>>
>>
>>
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
I am introducing a small fix (use single() instead of first(), catch
IllegalArgumentException and rethrow a AmbiguousTypeException), and the
output is

org.qi4j.api.composite.AmbiguousTypeException: More than one model matches
the classname
org.qi4j.api.value.ValueSerialization:[OrgJsonValueSerializationService(active=false,module='Module
1'), JacksonValueSerializationService(active=false,module='Module 1')]


for the case that I just detected.

I am starting a local build to see what else fails and whether there is
concern for this change. Perhaps some way it is needed to ignore ambiguous
types in some usecase.


I'll report back later.
Niclas

On Fri, Jul 10, 2015 at 4:56 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> So, the question is; SHOULD a AmbiguousTypeException be thrown when one is
> asking for a @Service injection of a composite type or ServiceReference<T>?
>
> And I am pretty sure the exact same code is called if one calls
> ServiceFinder.findService(), and that would also throw the
> AmbiguousTypeException.
>
>
> Cheers
> Niclas
>
> On Fri, Jul 10, 2015 at 4:53 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
>
>> And it is not done there... It takes, and instantiates, the first one.
>> Line 378 in TypeLookup
>>
>> On Fri, Jul 10, 2015 at 4:50 PM, Niclas Hedhman <ni...@hedhman.org>
>> wrote:
>>
>>> The findService() (single instance) should be checking ambiguity, where
>>> as findServices() shouldn't. I am looking into that at the moment.
>>>
>>> On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org> wrote:
>>>
>>>> Good catch Niclas.
>>>>
>>>> No AmbiguousTypeException should be expected though.
>>>>
>>>> There is two services registered for the ValueSerialization type with !=
>>>> identities, possibly different qualifiers etc... there's no type
>>>> ambiguity with multiple services of the same type.
>>>>
>>>> Think @Service Iterable<ValueSerialization> inject;
>>>>
>>>> /Paul
>>>>
>>>> Niclas Hedhman a écrit :
>>>> > EntityTestAssembler is the answer... which is invoked in the
>>>> > AbstractValueCompositeSerializationTest.
>>>> >
>>>> > I'll resolve that. Sorry for the noise.
>>>> >
>>>> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
>>>> wrote:
>>>> >
>>>> >> So, the Module contains TWO ValueSerialization systems, both the
>>>> OrgJson
>>>> >> and the Jackson ones.
>>>> >>
>>>> >> That should then raise the question, Why don't we get
>>>> >> AmbigiousTypeException??
>>>> >>
>>>> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
>>>> >> Module.... Where are those coming from?
>>>> >>
>>>> >>
>>>> >> Cheers
>>>> >>
>>>> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
>>>> >> wrote:
>>>> >>
>>>> >>> I think I have found a Testcase problem, while trying to improve the
>>>> >>> ValueSerialization subsystem.
>>>> >>>
>>>> >>> To show what I mean;
>>>> >>>
>>>> >>>    a. Put a breakpoint on the first line in the only(!) test in
>>>> >>> AbstractValueCompositeSerializationTest
>>>> >>>
>>>> >>>    b. Run the JacksonValueCompositeSerializationTest.
>>>> >>>
>>>> >>>    c. At breakpoint, look at the this.valueSerialization member. It
>>>> has
>>>> >>> a ServiceComposite reference to the
>>>> OrgJsonValueSerializationService,
>>>> >>> not the Jackson one.
>>>> >>>
>>>> >>>
>>>> >>> I am trying to figure out how this is at all possible.
>>>> >>>
>>>> >>>
>>>> >>> Cheers
>>>> >>> --
>>>> >>> Niclas Hedhman, Software Developer
>>>> >>> http://zest.apache.org - New Energy for Java
>>>> >>>
>>>> >> --
>>>> >> Niclas Hedhman, Software Developer
>>>> >> http://zest.apache.org - New Energy for Java
>>>> >>
>>>> >
>>>> >
>>>> >
>>>>
>>>
>>>
>>>
>>> --
>>> Niclas Hedhman, Software Developer
>>> http://zest.apache.org - New Energy for Java
>>>
>>
>>
>>
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
So, the question is; SHOULD a AmbiguousTypeException be thrown when one is
asking for a @Service injection of a composite type or ServiceReference<T>?

And I am pretty sure the exact same code is called if one calls
ServiceFinder.findService(), and that would also throw the
AmbiguousTypeException.


Cheers
Niclas

On Fri, Jul 10, 2015 at 4:53 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> And it is not done there... It takes, and instantiates, the first one.
> Line 378 in TypeLookup
>
> On Fri, Jul 10, 2015 at 4:50 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
>
>> The findService() (single instance) should be checking ambiguity, where
>> as findServices() shouldn't. I am looking into that at the moment.
>>
>> On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org> wrote:
>>
>>> Good catch Niclas.
>>>
>>> No AmbiguousTypeException should be expected though.
>>>
>>> There is two services registered for the ValueSerialization type with !=
>>> identities, possibly different qualifiers etc... there's no type
>>> ambiguity with multiple services of the same type.
>>>
>>> Think @Service Iterable<ValueSerialization> inject;
>>>
>>> /Paul
>>>
>>> Niclas Hedhman a écrit :
>>> > EntityTestAssembler is the answer... which is invoked in the
>>> > AbstractValueCompositeSerializationTest.
>>> >
>>> > I'll resolve that. Sorry for the noise.
>>> >
>>> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
>>> wrote:
>>> >
>>> >> So, the Module contains TWO ValueSerialization systems, both the
>>> OrgJson
>>> >> and the Jackson ones.
>>> >>
>>> >> That should then raise the question, Why don't we get
>>> >> AmbigiousTypeException??
>>> >>
>>> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
>>> >> Module.... Where are those coming from?
>>> >>
>>> >>
>>> >> Cheers
>>> >>
>>> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
>>> >> wrote:
>>> >>
>>> >>> I think I have found a Testcase problem, while trying to improve the
>>> >>> ValueSerialization subsystem.
>>> >>>
>>> >>> To show what I mean;
>>> >>>
>>> >>>    a. Put a breakpoint on the first line in the only(!) test in
>>> >>> AbstractValueCompositeSerializationTest
>>> >>>
>>> >>>    b. Run the JacksonValueCompositeSerializationTest.
>>> >>>
>>> >>>    c. At breakpoint, look at the this.valueSerialization member. It
>>> has
>>> >>> a ServiceComposite reference to the OrgJsonValueSerializationService,
>>> >>> not the Jackson one.
>>> >>>
>>> >>>
>>> >>> I am trying to figure out how this is at all possible.
>>> >>>
>>> >>>
>>> >>> Cheers
>>> >>> --
>>> >>> Niclas Hedhman, Software Developer
>>> >>> http://zest.apache.org - New Energy for Java
>>> >>>
>>> >> --
>>> >> Niclas Hedhman, Software Developer
>>> >> http://zest.apache.org - New Energy for Java
>>> >>
>>> >
>>> >
>>> >
>>>
>>
>>
>>
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
And it is not done there... It takes, and instantiates, the first one. Line
378 in TypeLookup

On Fri, Jul 10, 2015 at 4:50 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> The findService() (single instance) should be checking ambiguity, where as
> findServices() shouldn't. I am looking into that at the moment.
>
> On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org> wrote:
>
>> Good catch Niclas.
>>
>> No AmbiguousTypeException should be expected though.
>>
>> There is two services registered for the ValueSerialization type with !=
>> identities, possibly different qualifiers etc... there's no type
>> ambiguity with multiple services of the same type.
>>
>> Think @Service Iterable<ValueSerialization> inject;
>>
>> /Paul
>>
>> Niclas Hedhman a écrit :
>> > EntityTestAssembler is the answer... which is invoked in the
>> > AbstractValueCompositeSerializationTest.
>> >
>> > I'll resolve that. Sorry for the noise.
>> >
>> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
>> wrote:
>> >
>> >> So, the Module contains TWO ValueSerialization systems, both the
>> OrgJson
>> >> and the Jackson ones.
>> >>
>> >> That should then raise the question, Why don't we get
>> >> AmbigiousTypeException??
>> >>
>> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
>> >> Module.... Where are those coming from?
>> >>
>> >>
>> >> Cheers
>> >>
>> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
>> >> wrote:
>> >>
>> >>> I think I have found a Testcase problem, while trying to improve the
>> >>> ValueSerialization subsystem.
>> >>>
>> >>> To show what I mean;
>> >>>
>> >>>    a. Put a breakpoint on the first line in the only(!) test in
>> >>> AbstractValueCompositeSerializationTest
>> >>>
>> >>>    b. Run the JacksonValueCompositeSerializationTest.
>> >>>
>> >>>    c. At breakpoint, look at the this.valueSerialization member. It
>> has
>> >>> a ServiceComposite reference to the OrgJsonValueSerializationService,
>> >>> not the Jackson one.
>> >>>
>> >>>
>> >>> I am trying to figure out how this is at all possible.
>> >>>
>> >>>
>> >>> Cheers
>> >>> --
>> >>> Niclas Hedhman, Software Developer
>> >>> http://zest.apache.org - New Energy for Java
>> >>>
>> >> --
>> >> Niclas Hedhman, Software Developer
>> >> http://zest.apache.org - New Energy for Java
>> >>
>> >
>> >
>> >
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
The findService() (single instance) should be checking ambiguity, where as
findServices() shouldn't. I am looking into that at the moment.

On Fri, Jul 10, 2015 at 4:45 PM, Paul Merlin <pa...@nosphere.org> wrote:

> Good catch Niclas.
>
> No AmbiguousTypeException should be expected though.
>
> There is two services registered for the ValueSerialization type with !=
> identities, possibly different qualifiers etc... there's no type
> ambiguity with multiple services of the same type.
>
> Think @Service Iterable<ValueSerialization> inject;
>
> /Paul
>
> Niclas Hedhman a écrit :
> > EntityTestAssembler is the answer... which is invoked in the
> > AbstractValueCompositeSerializationTest.
> >
> > I'll resolve that. Sorry for the noise.
> >
> > On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
> >
> >> So, the Module contains TWO ValueSerialization systems, both the OrgJson
> >> and the Jackson ones.
> >>
> >> That should then raise the question, Why don't we get
> >> AmbigiousTypeException??
> >>
> >> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
> >> Module.... Where are those coming from?
> >>
> >>
> >> Cheers
> >>
> >> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
> >> wrote:
> >>
> >>> I think I have found a Testcase problem, while trying to improve the
> >>> ValueSerialization subsystem.
> >>>
> >>> To show what I mean;
> >>>
> >>>    a. Put a breakpoint on the first line in the only(!) test in
> >>> AbstractValueCompositeSerializationTest
> >>>
> >>>    b. Run the JacksonValueCompositeSerializationTest.
> >>>
> >>>    c. At breakpoint, look at the this.valueSerialization member. It has
> >>> a ServiceComposite reference to the OrgJsonValueSerializationService,
> >>> not the Jackson one.
> >>>
> >>>
> >>> I am trying to figure out how this is at all possible.
> >>>
> >>>
> >>> Cheers
> >>> --
> >>> Niclas Hedhman, Software Developer
> >>> http://zest.apache.org - New Energy for Java
> >>>
> >> --
> >> Niclas Hedhman, Software Developer
> >> http://zest.apache.org - New Energy for Java
> >>
> >
> >
> >
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Paul Merlin <pa...@nosphere.org>.
Good catch Niclas.

No AmbiguousTypeException should be expected though.

There is two services registered for the ValueSerialization type with !=
identities, possibly different qualifiers etc... there's no type
ambiguity with multiple services of the same type.

Think @Service Iterable<ValueSerialization> inject;

/Paul

Niclas Hedhman a écrit :
> EntityTestAssembler is the answer... which is invoked in the
> AbstractValueCompositeSerializationTest.
>
> I'll resolve that. Sorry for the noise.
>
> On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org> wrote:
>
>> So, the Module contains TWO ValueSerialization systems, both the OrgJson
>> and the Jackson ones.
>>
>> That should then raise the question, Why don't we get
>> AmbigiousTypeException??
>>
>> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
>> Module.... Where are those coming from?
>>
>>
>> Cheers
>>
>> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
>> wrote:
>>
>>> I think I have found a Testcase problem, while trying to improve the
>>> ValueSerialization subsystem.
>>>
>>> To show what I mean;
>>>
>>>    a. Put a breakpoint on the first line in the only(!) test in
>>> AbstractValueCompositeSerializationTest
>>>
>>>    b. Run the JacksonValueCompositeSerializationTest.
>>>
>>>    c. At breakpoint, look at the this.valueSerialization member. It has
>>> a ServiceComposite reference to the OrgJsonValueSerializationService,
>>> not the Jackson one.
>>>
>>>
>>> I am trying to figure out how this is at all possible.
>>>
>>>
>>> Cheers
>>> --
>>> Niclas Hedhman, Software Developer
>>> http://zest.apache.org - New Energy for Java
>>>
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
EntityTestAssembler is the answer... which is invoked in the
AbstractValueCompositeSerializationTest.

I'll resolve that. Sorry for the noise.

On Fri, Jul 10, 2015 at 4:31 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

> So, the Module contains TWO ValueSerialization systems, both the OrgJson
> and the Jackson ones.
>
> That should then raise the question, Why don't we get
> AmbigiousTypeException??
>
> There are also a MemoryEntityStore and a UuidIdentityGenerator in the
> Module.... Where are those coming from?
>
>
> Cheers
>
> On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org>
> wrote:
>
>>
>> I think I have found a Testcase problem, while trying to improve the
>> ValueSerialization subsystem.
>>
>> To show what I mean;
>>
>>    a. Put a breakpoint on the first line in the only(!) test in
>> AbstractValueCompositeSerializationTest
>>
>>    b. Run the JacksonValueCompositeSerializationTest.
>>
>>    c. At breakpoint, look at the this.valueSerialization member. It has
>> a ServiceComposite reference to the OrgJsonValueSerializationService,
>> not the Jackson one.
>>
>>
>> I am trying to figure out how this is at all possible.
>>
>>
>> Cheers
>> --
>> Niclas Hedhman, Software Developer
>> http://zest.apache.org - New Energy for Java
>>
>
>
>
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

Re: Test Error found...

Posted by Niclas Hedhman <ni...@hedhman.org>.
So, the Module contains TWO ValueSerialization systems, both the OrgJson
and the Jackson ones.

That should then raise the question, Why don't we get
AmbigiousTypeException??

There are also a MemoryEntityStore and a UuidIdentityGenerator in the
Module.... Where are those coming from?


Cheers

On Fri, Jul 10, 2015 at 4:25 PM, Niclas Hedhman <ni...@hedhman.org> wrote:

>
> I think I have found a Testcase problem, while trying to improve the
> ValueSerialization subsystem.
>
> To show what I mean;
>
>    a. Put a breakpoint on the first line in the only(!) test in
> AbstractValueCompositeSerializationTest
>
>    b. Run the JacksonValueCompositeSerializationTest.
>
>    c. At breakpoint, look at the this.valueSerialization member. It has a
> ServiceComposite reference to the OrgJsonValueSerializationService, not
> the Jackson one.
>
>
> I am trying to figure out how this is at all possible.
>
>
> Cheers
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java
>



-- 
Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java