Skip to content

Commit 9025e52

Browse files
fix for empty classes
1 parent 3a98622 commit 9025e52

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Jackson1Parser.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,17 @@ public Jackson1Parser(Logger logger, Settings settings) {
2121

2222
@Override
2323
protected BeanModel parseBean(ClassWithUsage classWithUsage) {
24-
final BeanHelper beanHelper = getBeanHelper(classWithUsage.beanClass);
2524
final List<PropertyModel> properties = new ArrayList<>();
26-
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
27-
if (!isParentProperty(beanPropertyWriter.getName(), classWithUsage.beanClass)) {
28-
Type propertyType = beanPropertyWriter.getGenericPropertyType();
29-
if (propertyType.equals(JsonNode.class)) {
30-
propertyType = Object.class;
25+
final BeanHelper beanHelper = getBeanHelper(classWithUsage.beanClass);
26+
if (beanHelper != null) {
27+
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
28+
if (!isParentProperty(beanPropertyWriter.getName(), classWithUsage.beanClass)) {
29+
Type propertyType = beanPropertyWriter.getGenericPropertyType();
30+
if (propertyType.equals(JsonNode.class)) {
31+
propertyType = Object.class;
32+
}
33+
properties.add(processTypeAndCreateProperty(beanPropertyWriter.getName(), propertyType, classWithUsage.beanClass));
3134
}
32-
properties.add(processTypeAndCreateProperty(beanPropertyWriter.getName(), propertyType, classWithUsage.beanClass));
3335
}
3436
}
3537

@@ -51,9 +53,11 @@ private boolean isParentProperty(String property, Class<?> cls) {
5153
return false;
5254
} else {
5355
final BeanHelper beanHelper = getBeanHelper(cls.getSuperclass());
54-
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
55-
if (beanPropertyWriter.getName().equals(property)) {
56-
return true;
56+
if (beanHelper != null) {
57+
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
58+
if (beanPropertyWriter.getName().equals(property)) {
59+
return true;
60+
}
5761
}
5862
}
5963
return false;
@@ -65,6 +69,9 @@ private BeanHelper getBeanHelper(Class<?> beanClass) {
6569
final SerializationConfig serializationConfig = objectMapper.getSerializationConfig();
6670
final JavaType simpleType = objectMapper.constructType(beanClass);
6771
final JsonSerializer<?> jsonSerializer = BeanSerializerFactory.instance.createSerializer(serializationConfig, simpleType, null);
72+
if (jsonSerializer == null) {
73+
return null;
74+
}
6875
if (jsonSerializer instanceof BeanSerializer) {
6976
return new BeanHelper((BeanSerializer) jsonSerializer);
7077
} else {

0 commit comments

Comments
 (0)