The following comment has been added to this issue:

     Author: Marcus Brito
    Created: Wed, 25 Jun 2003 5:23 PM
       Body:
The generated <cmp-field> is the correct one. According to the javabeans 
specification, if the method name following the "get" or "set" starts with two or more 
capital letters, the property name isn't decapitalized. So, getHBasisId() implies a 
property named HBasisId. You can read about it here

http://java.sun.com/j2se/1.3/docs/api/java/beans/Introspector.html#decapitalize(java.lang.String)

However, there is obviously a bug in the generated <primkey-field> element. It should 
have been left capitalized as well.

---------------------------------------------------------------------
View the issue:

  http://opensource.atlassian.com/projects/xdoclet/secure/ViewIssue.jspa?key=XDT-528


Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XDT-528
    Summary: Wrong cmp-field element generated by ejbdoclet
       Type: Bug

     Status: Assigned
   Priority: Major

 Time Spent: Unknown
   Estimate: 0 minutes

    Project: XDoclet
 Components: 
             EJB Module
   Versions:
             1.2 Beta 3

   Assignee: xdoclet-devel (Use for new issues)
   Reporter: Axel Mueller

    Created: Tue, 17 Jun 2003 4:32 AM
    Updated: Tue, 17 Jun 2003 4:32 AM
Environment: [EMAIL PROTECTED]:~> java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)

uname -a
Linux asterix 2.4.18-4GB #2 Wed Jul 17 11:58:23 CEST 2002 i686 unknown

Description:
With some uppercase/lowercase combinations the cmp-field element can be wrong (this 
worked well using beta2).

Source code:

 * @ejb.bean
 *     name                ="HBasis"
 *     display-name        ="HBasisEJB"
 *     type                ="CMP"
 *     cmp-version         ="2.x"
 *     view-type           ="local"
 *     local-jndi-name     ="ejb/mex/HBasisLocalHome"
 *     primkey-field       ="hBasisId"

[...]

  /**
   * @ejb.interface-method view-type   ="local"
   * @ejb.permission       role-name   ="mexuser"
   * @ejb.persistence      column-name ="hbasis_id"
   */
  abstract public Long getHBasisId();
  /**
   * @ejb.interface-method view-type   ="local"
   * @ejb.permission       role-name   ="mexuser"
   */
  abstract public void setHBasisId(Long val);


Generated ejb-jar.xml:

<cmp-field >
  <description><![CDATA[]]></description>
  <field-name>HBasisId</field-name>
</cmp-field>

The first letter of the field name should be "h" instead of "H".
The corresponding primkey-field element is generated well:

<primkey-field>hBasisId</primkey-field>


Deployment on JBoss 3.0.6 using the incorrect ejb-jar.xml results in:

could not create deployment: file:/apps/jboss-3.0.6/server/mex/tm
p/deploy/server/mex/deploy/mex3-server.ear/19.mex3-server.ear-contents/mex3-server.jar 
                                                                                       
    org.jboss.deployment.DeploymentException: Error in ejb-jar.xml for Entity Bean 
HBasis: primkey-field hBasisId is not a cmp-field



---------------------------------------------------------------------
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: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to