@@ -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