Message: The following issue has been closed.
Resolver: Heiko W. Rupp Date: Sat, 5 Feb 2005 7:02 AM "string" is no (standard) Java type. So when you tell XDoclet to use "string", it will not guess that this might be java.lang.String, but assumes that it is a type class of yours. --------------------------------------------------------------------- View the issue: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1121 Here is an overview of the issue: --------------------------------------------------------------------- Key: XDT-1121 Summary: xdoclet 1.2.2 mistakenly detecting composite key Type: Bug Status: Closed Priority: Major Resolution: WON'T FIX Original Estimate: 1 week Time Spent: Unknown Remaining: 1 week Project: XDoclet Components: Hibernate Module Versions: 1.2.2 Assignee: xdoclet-devel (Use for new issues) Reporter: -=j=- Created: Mon, 18 Oct 2004 8:18 PM Updated: Sat, 5 Feb 2005 7:02 AM Environment: ant 1.6.2, linux, processing @hibernate tags in POJO Description: xdoclet processing POJO for hibernate & mistakenly thought there was a composite key when in fact there was an assigned key of string type and length 9 [I'll put src in after stack trace]. Trace: hibernatedoclet: [hibernatedoclet] (XDocletMain.start 47 ) Running <hibernate/> [hibernatedoclet] Generating mapping file for org.appfuse.model.RateProposalMinimumWeight. [hibernatedoclet] org.appfuse.model.RateProposalMinimumWeight [hibernatedoclet] Generating mapping file for org.appfuse.model.MarketingProduct. [hibernatedoclet] org.appfuse.model.MarketingProduct [hibernatedoclet] Generating mapping file for org.appfuse.model.Requestor. [hibernatedoclet] org.appfuse.model.Requestor [hibernatedoclet] Generating mapping file for org.appfuse.model.SalesManager. [hibernatedoclet] org.appfuse.model.SalesManager [hibernatedoclet] Generating mapping file for org.appfuse.model.Location. [hibernatedoclet] org.appfuse.model.Location [hibernatedoclet] (TemplateEngine.invokeMethod 576 ) Invoking method failed: xdoclet.modules.hibernate.HibernateTagsHandler.ifHasCompositeId, line=150 of template file: jar:file:/home/jhart/java/fmwk/qts/lib/xdoclet-1.2.2-rc1/lib/xdoclet-hibernate-module-1.2.2-RC1.jar!/xdoclet/modules/hibernate/resources/hibernate.xdt [hibernatedoclet] java.lang.reflect.InvocationTargetException [hibernatedoclet] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [hibernatedoclet] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [hibernatedoclet] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [hibernatedoclet] at java.lang.reflect.Method.invoke(Method.java:324) [hibernatedoclet] at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:638) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:564) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:962) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:929) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469) [hibernatedoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347) [hibernatedoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:561) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:778) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:678) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:595) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] Caused by: java.lang.NullPointerException [hibernatedoclet] at xdoclet.modules.hibernate.HibernateTagsHandler.hasCompositeId_Impl(HibernateTagsHandler.java:719) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateTagsHandler.ifHasCompositeId(HibernateTagsHandler.java:199) [hibernatedoclet] ... 30 more [hibernatedoclet] xdoclet.template.TemplateException: Invoking method in class xdoclet.modules.hibernate.HibernateTagsHandler failed: ifHasCompositeId, line=150 of template file: jar:file:/home/jhart/java/fmwk/qts/lib/xdoclet-1.2.2-rc1/lib/xdoclet-hibernate-module-1.2.2-RC1.jar!/xdoclet/modules/hibernate/resources/hibernate.xdt, exception: null [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:577) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:962) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:929) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469) [hibernatedoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347) [hibernatedoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:561) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:778) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:678) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:595) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] (XDocletMain.start 53 ) Running XDoclet failed. [hibernatedoclet] (XDocletMain.start 54 ) <<Running XDoclet failed.>> [hibernatedoclet] xdoclet.template.TemplateException: Invoking method in class xdoclet.modules.hibernate.HibernateTagsHandler failed: ifHasCompositeId, line=150 of template file: jar:file:/home/jhart/java/fmwk/qts/lib/xdoclet-1.2.2-rc1/lib/xdoclet-hibernate-module-1.2.2-RC1.jar!/xdoclet/modules/hibernate/resources/hibernate.xdt, exception: null [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:577) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:962) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:929) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469) [hibernatedoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347) [hibernatedoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:561) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:778) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:678) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:595) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] /home/jhart/java/fmwk/qts/build.xml:347: XDoclet failed. [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:471) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] Caused by: xdoclet.XDocletException: Running XDoclet failed. [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:787) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:678) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:595) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] ... 11 more [hibernatedoclet] --- Nested Exception --- [hibernatedoclet] xdoclet.XDocletException: Running XDoclet failed. [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:787) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:678) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:595) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) BUILD FAILED ----------------java src:------------------------------------ package org.appfuse.model; import java.util.List; import java.util.ArrayList; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; /** * This class is used to represent locations. * * <p> * <a href="Location.java.html"><i>View Source</i></a> * </p> * * @author <a href="mailto:[EMAIL PROTECTED]">Jack Hart</a> * @version $Revision: 1.3 $ $Date: 2004/08/09 23:09:00 $ * * @hibernate.class table="CDM_LOCA" * */ public class Location extends BaseObject { //~ Instance fields ======================================================== private String splc; private String city; private String state; private String rampName; private String rampState; private Long fsac; private Float opsl; private Boolean interchangePoint; private String r260; //~ Methods ================================================================ public Location() { } /** * Returns the splc. * @return String * * @hibernate.id name="splc" column="SPLC" length="9" type="string" * generator-class="assigned" */ public String getSplc() { return splc; } /** * Sets the splc. * @param splc The splc to set * * @spring.validator type="required" */ public void setSplc( String splc ) { this.splc = splc; } /** * Returns the city. * @return String * * @hibernate.property column="CITY_NAME" not-null="true" length="40" */ public String getCity() { return city; } /** * Sets the city. * @param city The city to set */ public void setCity( String city ) { this.city = city; } /** * Returns the state abreviation for this state which is a 2 character * string such as "CA" for California. * * @return String * * @hibernate.property column="ST_ABRV" not-null="true" length="2" */ public String getState() { return state; } /** * Sets the state. * @param state The state to set * * @spring.validator type="required" */ public void setState( String state ) { this.state = state; } /** * Returns the rampName. * @return String * * @hibernate.property column="RAMP_NAME" not-null="true" length="40" */ public String getRampName() { return rampName; } /** * Sets the rampName. * @param rampName The rampName to set */ public void setRampName( String rampName ) { this.rampName = rampName; } /** * Returns the ramp state abreviation for the state for this ramp * which is a 2 character string such as "CA" for California. * * @return String * * @hibernate.property column="RAMP_ST_ABRV" not-null="true" length="2" */ public String getRampState() { return rampState; } /** * Sets the rampState. * @param rampState The rampState to set * * @spring.validator type="required" */ public void setRampState( String rampState ) { this.rampState = rampState; } /** * Returns the fsac. * @return String * * @hibernate.property column="FSAC_NBR" not-null="true" */ public Long getFsac() { return fsac; } /** * Sets the fsac. * @param fsac The fsac to set * * @spring.validator type="required" */ public void setFsac( Long fsac ) { this.fsac = fsac; } /** * Returns the opsl. * @return String * * @hibernate.property column="OPSL_NBR" not-null="true" */ public Float getOpsl() { return opsl; } /** * Sets the opsl. * @param opsl The opsl to set * * @spring.validator type="required" */ public void setOpsl( Float opsl ) { this.opsl = opsl; } /** * Returns the equipment isInterchangePoint value. * @return Boolean * * @hibernate.property column="isInterchangePoint" not-null="false" */ public Boolean isInterchangePoint() { return interchangePoint; } /** * Sets the isInterchangePoint status. * @param isInterchangePoint The isInterchangePoint to set * * @spring.validator type="isInterchangePoint" */ public void setInterchangePoint( Boolean isInterchangePoint ) { this.interchangePoint = isInterchangePoint; } /** * Returns the r260. * @return String * * @hibernate.property column="r260" not-null="false" length="5" */ public String getR260() { return r260; } /** * Sets the r260. * @param r260 The r260 to set * * @spring.validator type="required" */ public void setR260(String r260) { this.r260 = r260; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object object) { if (!(object instanceof Location)) { return false; } Location rhs = (Location) object; return new EqualsBuilder().append(this.interchangePoint, rhs.interchangePoint).append(this.fsac, rhs.fsac).append( this.rampState, rhs.rampState).append(this.splc, rhs.splc).append( this.opsl, rhs.opsl).append(this.state, rhs.state).append(this.r260, rhs.r260).append(this.rampName, rhs.rampName).append(this.city, rhs.city).isEquals(); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return new HashCodeBuilder(1967347777, 1417694805).append( this.interchangePoint).append(this.fsac).append(this.rampState).append( this.splc).append(this.opsl).append(this.state).append(this.r260) .append(this.rampName).append(this.city).toHashCode(); } /** * @see java.lang.Object#toString() */ public String toString() { return new ToStringBuilder(this).append("state", this.state).append("splc", this.splc).append("rampState", this.rampState).append( "interchangePoint", this.interchangePoint).append("R260", this.getR260()).append("opsl", this.opsl).append("rampName", this.rampName).append("fsac", this.fsac).append("city", this.city) .toString(); } } --------------------------------------------------------------------- JIRA INFORMATION: This message is automatically generated by JIRA. If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ xdoclet-devel mailing list xdoclet-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xdoclet-devel