Skip to content

Commit 0ff4aef

Browse files
author
samuel.jones
committed
Don't add @JsonTypeInfo to abstract classes (refs #91)
1 parent 9def062 commit 0ff4aef

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Jackson2Parser.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.lang.reflect.Field;
2222
import java.lang.reflect.Member;
2323
import java.lang.reflect.Method;
24+
import java.lang.reflect.Modifier;
2425
import java.lang.reflect.Type;
2526
import java.util.*;
2627

@@ -88,7 +89,7 @@ protected BeanModel parseBean(SourceType<Class<?>> sourceClass) {
8889
// this is parent
8990
discriminantProperty = getDiscriminantPropertyName(jsonTypeInfo);
9091
discriminantLiteral = null;
91-
} else if (!sourceClass.type.isInterface() && isSupported(parentJsonTypeInfo = getAnnotationRecursive(sourceClass.type, JsonTypeInfo.class))) {
92+
} else if (!sourceClass.type.isInterface() && !Modifier.isAbstract(sourceClass.type.getModifiers()) && isSupported(parentJsonTypeInfo = getAnnotationRecursive(sourceClass.type, JsonTypeInfo.class))) {
9293
// this is child class
9394
discriminantProperty = getDiscriminantPropertyName(parentJsonTypeInfo);
9495
discriminantLiteral = getTypeName(sourceClass.type);

typescript-generator-core/src/test/java/cz/habarta/typescript/generator/GenericsTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ public void testImplements() {
102102
final String nl = settings.newline;
103103
final String expected =
104104
"export interface IA extends IB<string> {" + nl +
105-
" type: \"GenericsTest$IA\";" + nl +
106105
"}" + nl +
107106
"" + nl +
108107
"export interface IB<T> {" + nl +
109108
" type: string;" + nl +
110109
" x: T;" + nl +
111110
"}";
111+
112112
assertEquals(expected, actual);
113113
}
114114

0 commit comments

Comments
 (0)