Hi Michele, to create new issues you need to login which is only possible if you have signed up first. You can do that with the following steps:
- goto: http://jira.codehaus.org/browse/CASTOR - select "login" at the top right corner of the page - select "signup" at right side of page - enter the requested information You should be redirected to the original url from above after you finished but this time you should see "CREATE NEW ISSUE" as the 4. item on the menue bar at the top of the page. As creator of the issue you should get notification mails if someone comments to or changes the issue as I, and other commiters, get notifications on every new /changed issue. Hope this helps Ralf Michele Mazzucco schrieb: > Ralf, > > I'm sorry, but I've never used a tool like that. How can I create a new > issue (it seems that from that link you can just browse issues)? > > Michele > > Ralf Joachim wrote: > >>Hi Michele, >> >>thank you very much for your contribution so far. May it be possible for >>you to create a new issue for this in castor bug tracking under: >> >>http://jira.codehaus.org/browse/CASTOR >> >>and attach you additions as a unified patch to the new issue. The patch >>would make my work just a bit easier then without. Having said that I'll >>try to get your additions into next release. >> >>Regards >>Ralf >> >> >>Michele Mazzucco schrieb: >> >>>I added this code to the org.exolab.castor.builder.SourceFactory class: >>> >>>/** >>> * Create an "hashCode" method on the given JClass. >>> * >>> * @param jclass the JClass in wich we create the hashCode method. >>> */ >>> public static void createHashCodeMethod(JClass jclass) { >>> if (jclass == null) { >>> throw new IllegalArgumentException("JClass must not be >>> null"); >>> } >>> >>> // The argument is not null >>> JField[] fields = jclass.getFields(); >>> >>> // Creates the method signature >>> JMethod jMethod = new JMethod(JType.Int, "hashCode"); >>> jMethod.setComment("Override the java.lang.Object.hashCode >>> method"); >>> >>> // The hashCode method has no arguments >>> jclass.addMethod(jMethod); >>> >>> JSourceCode jsc = jMethod.getSourceCode(); >>> >>> // The following steps came from Effective Java Programming >>> Language >>>Guide by Joshua Bloch, chapter 3 >>> jsc.add("int result = 17;"); >>> >>> for (int i = 0; i <fields.length; i++) { >>> JField temp = fields[i]; >>> // If the field is an object the hashCode method is >>> called recursively >>> >>> JType type = temp.getType(); >>> String name = temp.getName(); >>> if (type.isPrimitive()) { >>> if (type == JType.Boolean) { >>> jsc.add("result = 37 * result + (" + >>> name + "?0:1);"); >>> } else >>> if ((type == JType.Byte) || >>> (type == JType.Short) || >>> (type == JType.Int)) { >>> >>> jsc.add("result = 37 * result + (int)" >>> + name + ";"); >>> } else if (type == JType.Long) { >>> jsc.add("result = 37 * result + (int)(" >>> + name + "^(" + name + >>>">>>32));"); >>> } else if (type == JType.Float) { >>> jsc.add("result = 37 * result + >>> Float.floatToIntBits(" + name + ");"); >>> } else if (type == JType.Double) { >>> jsc.add("long tmp = >>> Double.doubleToLongBits(" + name + ");"); >>> jsc.add("result = 37 * result + >>> (int)(tmp^(tmp>>>32));"); >>> } >>> } else { >>> // Calculates hashCode in a recursive manner. >>> jsc.add("result = 37 * result + " + name + >>> ".hashCode();"); >>> } >>> } >>> jsc.add(""); >>> jsc.add("return result;"); >>> } //createHashCodeMethod >>> >>> >>> >>> >>>and into the createSourceCode() method I've added the following control >>> >>>//create equals() method? >>>if (component.hasEquals()) { >>> createEqualsMethod(jClass); >>> createHashCodeMethod(jClass); >>>} >>> >>>since the hashCode method *must* be added when the equals method is >>>created (see Effective Java Programming Language Guide by Joshua Bloch, >>>chapter 3). >>> >>> >>>Best regards, >>>Michele >>> >>> >>> >>>Ralf Joachim wrote: >>> >>> >>>>Hi Michele, >>>> >>>>SourceGenerator seams not to be able to generate hashcode() / equals() >>>>methods at the moment. In general I don't see a reason why it should not >>>>be possible to improve SourceGenerator to also generate them. As with >>>>other open source projects we are open for contributions. So you are >>>>open to volunteer on this addition. >>>> >>>>Regards >>>>Ralf >>>>Castor JDO, committer >>>> >>>> >>>>Michele Mazzucco schrieb: >>>> >>>> >>>>>Hi all, >>>>> >>>>>is it possible to "autogenerate" the hashCode() method on java objects >>>>>created from the xml schema?, otherwise checks on the server side could >>>>>return wrong values (i.e. checking if an object sent by by client is >>>>>stored in a collection hosted by the server side). >>>>> >>>>> >>>>>Thanks in advance, >>>>>Michele >>>>> >>>>>------------------------------------------------- >>>>>If you wish to unsubscribe from this list, please send an empty >>>>>message to the following address: >>>>> >>>>>[EMAIL PROTECTED] >>>>>------------------------------------------------- >>>> >>>>------------------------------------------------- >>>>If you wish to unsubscribe from this list, please send an empty message >>>>to the following address: >>>> >>>>[EMAIL PROTECTED] >>>>------------------------------------------------- >>>> >>> >>>------------------------------------------------- >>>If you wish to unsubscribe from this list, please >>>send an empty message to the following address: >>> >>>[EMAIL PROTECTED] >>>------------------------------------------------- >> > > ------------------------------------------------- > If you wish to unsubscribe from this list, please > send an empty message to the following address: > > [EMAIL PROTECTED] > ------------------------------------------------- -- Syscon Ingenieurbüro für Meß- und Datentechnik GmbH Ralf Joachim Raiffeisenstraße 11 D-72127 Kusterdingen Germany Tel. +49 7071 3690 52 Mobil: +49 173 9630135 Fax +49 7071 3690 98 Email: [EMAIL PROTECTED] Web: www.syscon-world.de ------------------------------------------------- If you wish to unsubscribe from this list, please send an empty message to the following address: [EMAIL PROTECTED] -------------------------------------------------

