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