Thanks Dave, I saw the bug report and will look into it further.

--Keith

David Leangen wrote:

Ok, no problem.

I'll give that a try and, if there are no side effects, I'll assume that
this is the "right" thing to do and provide a patch.

However, somebody such as you with a deeper knowledge of the system
internals may want to take a look anyway to make sure that this is the right
approach. So, I'll flag this in Bugzilla for follow up.


Regards, Dave




-----Original Message-----
From: Keith Visco [mailto:[EMAIL PROTECTED]
Sent: 5 November 2004 5:16
To: [EMAIL PROTECTED]
Subject: Re: [castor-user] [XML] NullPointerException when a
class overrides parent class



Hi David,

For now, can you wrap the localElements[i].getValidator() in a null check:

if (localElements[i] != null) {

}

--Keith

David Leangen wrote:

Dear List,

I am having a problem with a NullPointerException with a very

specific case.

I have two classes that are pure value objects, one overriding

the other.

Generally:

public class ParentClass
{
 public int id;

 public void setId(int id)
 {
   this.id = id;
 }

 public int getId()
 {
   return id;
 }
}

and

public class ChildClass extends ParentClass
{
 public void setId(int id)
 {
   this.id = id;
 }

 public int getId()
 {
   return id;
 }
}


The NPE occurs during unmarshalling.


Note that if I take out the overriding getters and setters, the

problem goes

away. I can still unmarshall the id value from the parent class

in the child

class. It is only when I override the getters and setters that

this problem

occurs.



I traced the problem to this line in XMLClassDescriptorImpl:

 Line 891:
   FieldValidator fieldValidator = localElements[i].getValidator();


Each of the local elements that is overridden becomes null, so calling getValidator throws a NPE.



Note that the same NPE happens when I override other values, too.


Any ideas about how to work around the problem?


Thanks! Dave






----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user

Reply via email to