=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/Jackson2PropertyIntrospectorService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/Jackson2PropertyIntrospectorService.java 2014-09-30 07:02:57 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/schema/Jackson2PropertyIntrospectorService.java 2014-09-30 09:27:03 +0000 @@ -48,6 +48,7 @@ import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; @@ -67,7 +68,13 @@ { Map propertyMap = Maps.newHashMap(); ClassMetadata classMetadata = sessionFactory.getClassMetadata( clazz ); - List classPropertyNames = Lists.newArrayList( classMetadata.getPropertyNames() ); + List classPropertyNames = new ArrayList<>(); + + if ( classMetadata != null ) + { + classPropertyNames = Lists.newArrayList( classMetadata.getPropertyNames() ); + } + List classFieldNames = ReflectionUtils.getAllFieldNames( clazz ); // TODO this is quite nasty, should find a better way of exposing properties at class-level