Incidently, I be the reason you aren't having this problem is that you
aren't using the SourceGenerator with the bound properties option, and I am.
Since this code is used exclusively for the notifyPropertyChangeListeners
method, you wouldn't get the bug.

Jeff

> -----Original Message-----
> From: Jeff Norris [mailto:[EMAIL PROTECTED]]
> Sent: Friday, April 05, 2002 10:30 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [castor-dev] Source generation broken in latest CVS
>
>
> Keith,
>
> No, I am certain that I updated from the top of the tree.  To be
> absolutely
> sure, I updated again from the top, reset all sticky tags,
> cleaned and did a
> full rebuild.  The problem remains.  I'm not sure why you aren't
> having this
> problem, but I have located the bug:
>
> The null pointer exception occurs on the last line of this section of
> SourceFactory.java, which is responsible for documenting the
> "notifyPropertyChangeListeners" method:
>
> ***
> JDocComment jdc = jMethod.getJDocComment();
> JDocDescriptor jdDesc = null;
>
> jdc.appendComment(desc);
>
> jMethod.addParameter(new JParameter(SGTypes.String, "fieldName"));
> jdDesc = jdc.getParamDescriptor("fieldName");
> jdDesc.setDescription("the name of the property that has changed.");
> ***
>
> In other words, the parameter descriptor returned from the JDocComment jdc
> is null.  I checked out revision 1.9 and 1.10 of JMethod.java to determine
> why the JDocComment returned from JMethod would be returning a null
> descriptor in this case.
>
> In revision 1.9 of JMethod.java, in addParameter(JParameter), this line
> appears:
>
>  //-- create comment
> jdc.addDescriptor(JDocDescriptor.createParamDesc(pName, null));
>
> In revision 1.10 of JMethod.java (the latest), this line does not appear.
> In fact, "addDescriptor" does not appear anywhere in
> JMethod.java.  The new
> JMethod *does* call addParameter in JMethodSignature, which calls
> addDescriptor on its private JDocComment, but as you wll notice
> on the first
> line of the code snippet above, it is the JDocComment that is
> returned from
> JMethod, NOT JMethodSignature, that is being asked to return a
> descriptor in
> SourceFactory.  To fix this, JMethodSignature and JMethod need to use the
> same JDocComment instance, or SourceFactory needs to get the JDocComment
> from JMethodSignature instead of JMethod.
>
> Jeff
>
> > -----Original Message-----
> > From: Keith Visco [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, April 04, 2002 7:07 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [castor-dev] Source generation broken in latest CVS
> >
> >
> >
> > Hi Jeff,
> >
> > You below Schema works just fine for me. Looks like you have a
> > synchronization issue with our CVS server. Try doing an update from the
> > top of the tree...the package org.exolab.javasource package had some
> > changes a few days ago.
> >
> > It looks like you did an update from "org/exolab/castor" instead and you
> > didn't get the changes to the javasource package.
> >
> > --Keith
> >
> >
> > Jeff Norris wrote:
> > >
> > > All source generator functions seem to be broken in the latest
> > Castor CVS
> > > version.  I rolled back my CVS to 3/27/2002 and the problems
> went away.
> > > With the latest version in the CVS, I get this error on even the most
> > > trivial of schemas:
> > >
> > > ***
> > > Exception in thread "main" java.lang.NullPointerException
> > >         at
> > >
> > org.exolab.castor.builder.SourceFactory.createPropertyChangeMethod
> > s(SourceFa
> > > ctory.java:856)
> > >         at
> > >
> > org.exolab.castor.builder.SourceFactory.createSourceCode(SourceFac
> > tory.java:
> > > 345)
> > >         at
> > >
> > org.exolab.castor.builder.SourceGenerator.createClasses(SourceGene
> > rator.java
> > > :781)
> > >         at
> > >
> > org.exolab.castor.builder.SourceGenerator.createClasses(SourceGene
> > rator.java
> > > :726)
> > >         at
> > >
> > org.exolab.castor.builder.SourceGenerator.generateSource(SourceGen
> > erator.jav
> > > a:361)
> > >         at
> > >
> > org.exolab.castor.builder.SourceGenerator.generateSource(SourceGen
> > erator.jav
> > > a:419)
> > >         at
> > >
> > org.exolab.castor.builder.SourceGenerator.generateSource(SourceGen
> > erator.jav
> > > a:448)
> > >         at
> > >
> org.exolab.castor.builder.SourceGenerator.main(SourceGenerator.java:672)
> > > ***
> > >
> > > Here is the schema I used as a test case:
> > >
> > > ***
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
> > >   <xs:element name="root">
> > >     <xs:complexType>
> > >       <xs:sequence>
> > >         <xs:element name="Foo" type="xs:string"/>
> > >       </xs:sequence>
> > >     </xs:complexType>
> > >   </xs:element>
> > > </xs:schema>
> > > ***
> > >
> > > And finally, here are all of the files from the xml package that were
> > > updated in my last "cvs update", so the problem is almost
> > certainly in one
> > > of these:
> > >
> > > ***
> > > P castor/src/main/org/exolab/castor/xml/Introspector.java
> > > P castor/src/main/org/exolab/castor/xml/schema/ComplexType.java
> > > P castor/src/main/org/exolab/castor/xml/schema/ElementDecl.java
> > > U castor/src/main/org/exolab/castor/xml/schema/Group.java
> > > P castor/src/main/org/exolab/castor/xml/schema/Schema.java
> > > P castor/src/main/org/exolab/castor/xml/schema/SimpleType.java
> > > P castor/src/main/org/exolab/castor/xml/schema/TypeReference.java
> > > P castor/src/main/org/exolab/castor/xml/schema/XMLType.java
> > > P
> castor/src/main/org/exolab/castor/xml/schema/reader/SchemaReader.java
> > > ***
> > >
> > > Jeff
> > >
> > > -----------------------------------------------------------
> > > If you wish to unsubscribe from this mailing, send mail to
> > > [EMAIL PROTECTED] with a subject of:
> > >         unsubscribe castor-dev
> >
> > -----------------------------------------------------------
> > If you wish to unsubscribe from this mailing, send mail to
> > [EMAIL PROTECTED] with a subject of:
> >     unsubscribe castor-dev
> >
> >
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>       unsubscribe castor-dev
>
>

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

Reply via email to