Skip to content

Commit

Permalink
fix for empty classes
Browse files Browse the repository at this point in the history
  • Loading branch information
vojtechhabarta committed May 26, 2015
1 parent 3a98622 commit 9025e52
Showing 1 changed file with 17 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,17 @@ public Jackson1Parser(Logger logger, Settings settings) {

@Override
protected BeanModel parseBean(ClassWithUsage classWithUsage) {
final BeanHelper beanHelper = getBeanHelper(classWithUsage.beanClass);
final List<PropertyModel> properties = new ArrayList<>();
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
if (!isParentProperty(beanPropertyWriter.getName(), classWithUsage.beanClass)) {
Type propertyType = beanPropertyWriter.getGenericPropertyType();
if (propertyType.equals(JsonNode.class)) {
propertyType = Object.class;
final BeanHelper beanHelper = getBeanHelper(classWithUsage.beanClass);
if (beanHelper != null) {
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
if (!isParentProperty(beanPropertyWriter.getName(), classWithUsage.beanClass)) {
Type propertyType = beanPropertyWriter.getGenericPropertyType();
if (propertyType.equals(JsonNode.class)) {
propertyType = Object.class;
}
properties.add(processTypeAndCreateProperty(beanPropertyWriter.getName(), propertyType, classWithUsage.beanClass));
}
properties.add(processTypeAndCreateProperty(beanPropertyWriter.getName(), propertyType, classWithUsage.beanClass));
}
}

Expand All @@ -51,9 +53,11 @@ private boolean isParentProperty(String property, Class<?> cls) {
return false;
} else {
final BeanHelper beanHelper = getBeanHelper(cls.getSuperclass());
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
if (beanPropertyWriter.getName().equals(property)) {
return true;
if (beanHelper != null) {
for (BeanPropertyWriter beanPropertyWriter : beanHelper.getProperties()) {
if (beanPropertyWriter.getName().equals(property)) {
return true;
}
}
}
return false;
Expand All @@ -65,6 +69,9 @@ private BeanHelper getBeanHelper(Class<?> beanClass) {
final SerializationConfig serializationConfig = objectMapper.getSerializationConfig();
final JavaType simpleType = objectMapper.constructType(beanClass);
final JsonSerializer<?> jsonSerializer = BeanSerializerFactory.instance.createSerializer(serializationConfig, simpleType, null);
if (jsonSerializer == null) {
return null;
}
if (jsonSerializer instanceof BeanSerializer) {
return new BeanHelper((BeanSerializer) jsonSerializer);
} else {
Expand Down

0 comments on commit 9025e52

Please sign in to comment.