Hi Dean, Thanks for the submission, I will make sure to review it ASAP.
Arnaud > -----Original Message----- > From: Chalker, Dean [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 25, 2003 3:19 AM > To: [EMAIL PROTECTED] > Subject: Re: [castor-dev] Generated equals() method faulty? > > > Hi Arnaud: > > thanks for your replay > > > -----Original Message----- > > From: Arnaud Blandin [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, 24 June 2003 5:50 PM > > To: [EMAIL PROTECTED] > > Subject: Re: [castor-dev] Generated equals() method faulty? > > > > > > Hi Dean, > > > > We apologize for not replying right away. As a contributor to the > > project I try to spend a little time each week handling issue and > > answering questions. Sometimes you will catch us when our > > attention is > > devoted to Castor, other times you may catch us when our attention is > > devoted to our regular jobs. There are no full-time or paid employees > > working on Castor and there are going to be times when the main > > contributors are not available to answer your questions. It > > doesn't mean > > we don't care, it just means we happen to be busy at the > > moment. All we > > can promise is that we will continue to try to do our best > > when we can > > spare some cycles. Sorry for the inconvenience. > > No apology required - there was no inconvenience. I do not expect anyone of > this list to jump off their perch the minute that I post - especially as a > Castor newbie. I posted and waited. Fortunately, the stuff I'm working on > allowed time to wait, but I need to make some progress on it soon, so I > figured I should just dig in and do it myself. This is all cool - it's my > problem after all, not yours. > > Anybody who has the time/enthusiasm to contribute to any open-source project > has my admiration. > > > > > > Concerning your problem, can you please send us the XML schema that > > demonstrates the problem? > My xsd is attached. With org.exolab.castor.builder.equalsmethod=true, it > generates the incorrect the equals(). > > With regards to my BTW: problem, I can't reproduce it. I'm sure I saw it > before. (sigh) > > > I agree with you that the equals() > > method seem > > broken and the following should be generated: > > if (this._has_x != temp._has_x) > > return false; > > if (this._has_x && this._x != temp._x) > > return false; > > > > Feel free to send me your patch and I will review it, > > Happy to: attached as a zip. I added a field to JField so I could tell the > real fields from those added by Castor (the "_has") fields, rather than try > to guess from the name. > > > > > > Arnaud > > > > Regards and thanks > Dean > > > > -----Original Message----- > > From: Chalker, Dean [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, June 24, 2003 2:37 AM > > To: [EMAIL PROTECTED] > > Subject: Re: [castor-dev] Generated equals() method faulty? > > > > Hi all, > > > > I've been unsuccessful in eliciting any comments to my postings of 18 > > June. That's cool. Judging from the other postings, > > perhaps I am the > > only one working with this part of Castor. > > > > I'm happy enouigh to go off into my own corner and make > > things work the > > way that I thing is reasonable. Is there any committer out there you > > would be interested in my changes? > > > > > > regards > > Dean > > > > > > -----Original Message----- > > From: Chalker, Dean [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, 18 June 2003 2:09 PM > > To: [EMAIL PROTECTED] > > Subject: [castor-dev] Generated equals() method faulty? > > Hi again, > > > > Apologies for posting again - I'm going to post this then > > shutup until > > you guys get a change to reply. > > > > I'm using castor 0.9.5, with > > org.exolab.castor.builder.javaclassmapping=type > > > > Seems to me that the code generated by SourceGenerator for > > the equals() > > method is incorrect for primitive types. For each primitive > > field, it > > generates code like .... > > > > if (this._x != temp._x) > > return false; > > if (this._has_x != temp._has_x) > > return false; > > > > I'd suggest that if the fields _has_x are both false, then > > the value of > > the _x field is immaterial. I've had a look at > > SourceFactor.createEqualsMethod(), where there is comment > > about handling > > nulls for non-primitives. Seems to me that the same is true for the > > primitive fields through the _has flags. > > > > Correct code could possibly be: > > > > if (this._has_x != temp._has_x) > > return false; > > if (this._has_x && this._x != temp._x) > > return false; > > This is easy enough to do, provided I can tell the difference between > > the _has field and real boolean fields. Looking at JField, > > seems I can > > only do this by the name, which seems a bit dodgy. > > > > > > BTW: with > > org.exolab.castor.builder.javaclassmapping=element, I get an > > equals method that looks like: > > > > public boolean equals(java.lang.Object obj) > > { > > if ( this == obj ) > > return true; > > > > if (super.equals(obj)==false) > > return false; > > > > if (obj instanceof Point) { > > > > Point temp = (Point)obj; > > return true; > > } > > return false; > > } //-- boolean equals(java.lang.Object) > > > > This seems basically broken too, as there is no reference made to the > > temp variable!!!! > > > > > > Regards and thanks > > Dean > > > > > > intelli WHERE www.intelliwhere.com > > > > Dr. Dean Chalker > > Senior Architect > > [EMAIL PROTECTED] > > > > IntelliWhere Division, Intergraph Corporation > > Australia > > > > Phone: 61-7-3510 8918 Fax: 61-7-3510 8901 > > > > > > > > > > ----------------------------------------------------------- > > 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