David Leangen commented on FELIX-5666:

Oh, and one more question... Do you know of any "tool" hanging around in Felix 
that can help me compare the result of a converted or deserialized object to a 
hard-coded object?

The issue is that the converted object does not have a predictable order. It 
would be nice to be able to do a "value-based" equality test like this:

  assertEquals(expected, actual)

even though the ordering of the values are different.

> Serializer goes into infinite loop
> ----------------------------------
>                 Key: FELIX-5666
>                 URL: https://issues.apache.org/jira/browse/FELIX-5666
>             Project: Felix
>          Issue Type: Bug
>          Components: Converter
>            Reporter: David Leangen
>            Assignee: David Leangen
> I'm only guessing as to what the problem is, following some stepping through 
> the code. I could not find any similar existing test cases, but if the 
> following does not immediately click for [~bosschaert], I will try to add one.
> It appears that, when serializing an object to a "DTO-Type" object to a Map, 
> some kind of backing object is created.
> If the backing object contains a field that instantiates the same DTO, then 
> the loop gets created.
> Example:
> {code}
> public class MyDtoType {
>   public String id;
>   public MyDtoType( String anID ) {
>     id = anID;
>   }
>   public static MyDtoType error() {
>     return new MyDtoType( "ERROR" );
>   }
> }
> {code}
> It looks like the serializer keeps calling the error() method infinitely, but 
> I am not able to easily pinpoint where this happens.

This message was sent by Atlassian JIRA

Reply via email to