felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Leangen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5666) Serializer goes into infinite loop
Date Thu, 03 Aug 2017 10:56:00 GMT

    [ https://issues.apache.org/jira/browse/FELIX-5666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16112562#comment-16112562

David Leangen commented on FELIX-5666:

Hi [~bosschaert], thanks for looking into this. Yes, that is exactly correct! That is exactly
what happens.

I think that the "sourceAsDTO" information gets "lost" once passed to the Serializer, so it
ends up getting treated as an Interface, which creates odd behaviour.

> 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 Bosschaert
> 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

View raw message