Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Version 2.1
-
None
-
Java 1.5, Windows XP
Description
If isSkippedAnonymousType() is called on a SchemaType instance that does not have _outerSchemaTypeRef set, then a NPE will be thrown. Example:
MyXmlBean myBean = MyXmlBean.Factory.newInstance();
boolean isSkipped = myBean.schemaType().isSkippedAnonymousType(); <- throws a NPE
It seems that it should return false in this instance, rather than throw an exception. All this needs to fix is to add a null check. I'm not sure which versions exactly are effected, but it is an issue in 2.1.
Current code:
public boolean isSkippedAnonymousType()
{ return _outerSchemaTypeRef.get().getBaseType() == this || _outerSchemaTypeRef.get().getContentBasedOnType() == this; }Potential fix:
public boolean isSkippedAnonymousType()
{ return _outerSchemaTypeRef == null ? false : _outerSchemaTypeRef.get().getBaseType() == this || _outerSchemaTypeRef.get().getContentBasedOnType() == this; }