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
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel