The following comment has been added to this issue:

     Author: Jana Parvanova
    Created: Sat, 5 Feb 2005 6:16 AM
       Body:
It seems to have something to do with the following code in 
HibernateTagsHandler.hasCompositeId_Impl:

        // decide whether we have composite or primitive ID
        boolean isPrimitive = TypeTagsHandler.isPrimitiveType(typeStr) ||
            "java.lang.Byte".equals(typeStr) ||
            "java.lang.Double".equals(typeStr) ||
            "java.lang.Float".equals(typeStr) ||
            "java.lang.Integer".equals(typeStr) ||
            "java.lang.Long".equals(typeStr) ||
            "java.lang.Short".equals(typeStr) ||
            "java.lang.String".equals(typeStr) ||
            "java.math.BigDecimal".equals(typeStr) ||
            "java.math.BigInteger".equals(typeStr) ||
            isUserType;

Having declare my id's type as "string" does not provide for 
TypeTagsHandler.isPrimitiveType returning true. So I declared it as 
"java.lang.String" and this resolved my problem.

---------------------------------------------------------------------
View this comment:
  
http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1121?page=comments#action_15891

---------------------------------------------------------------------
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: Open
   Priority: Major

 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 6:16 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

Reply via email to