You're right Jeff, my apologies. I was simply running the test from the
command line without enabling bound properties.

I was able to duplicate the issue after enabling them and I've checked
in a fix to the CVS. For now the JMethod will use the java doc from the
JMethodSignature, but I may change this in the future since
JMethodSignature is meant to be shared.

Thanks,

--Keith



Jeff Norris wrote:
> 
> 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

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

Reply via email to