forked from elaatifi/orika
-
Notifications
You must be signed in to change notification settings - Fork 270
Closed
Description
After upgrading from 1.4.6 to 1.5.0 I'm getting an StackOverflowError. I have created a simple testcase to reproduce the exception.
Testcase:
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import java.util.List;
import org.junit.Test;
import ma.glasnost.orika.metadata.Type;
import ma.glasnost.orika.metadata.TypeFactory;
public class SimpleTestCase {
@Test
public void testCase() throws Exception {
Type<?> type = TypeFactory.valueOf(Interface1.class);
assertThat(type.toString(), is("Interface1<Interface2<Interface2>>"));
}
public interface Interface1<T extends Interface2<T>> {
public List<T> getList();
}
public interface Interface2<T extends Interface2<T>> {
public Interface1<T> getEntity();
}
}
Exception
java.lang.StackOverflowError
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:334)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:315)
at ma.glasnost.orika.metadata.TypeUtil.convertTypeArguments(TypeUtil.java:193)
at ma.glasnost.orika.metadata.TypeFactory.intern(TypeFactory.java:436)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:394)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:377)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:311)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:337)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:315)
at ma.glasnost.orika.metadata.TypeUtil.convertTypeArguments(TypeUtil.java:193)
...
...
...
at ma.glasnost.orika.metadata.TypeFactory.intern(TypeFactory.java:436)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:394)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:377)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:311)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:337)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:315)
at ma.glasnost.orika.metadata.TypeUtil.convertTypeArguments(TypeUtil.java:193)
at ma.glasnost.orika.metadata.TypeFactory.intern(TypeFactory.java:436)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:394)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:377)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:311)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:337)
at ma.glasnost.orika.metadata.TypeFactory.limitedValueOf(TypeFactory.java:315)
Metadata
Metadata
Assignees
Labels
No labels