[XDoclet-JIRA] Created: (XDT-1536) Generated value object's isIdentical method does not honor @ejb.valueobject composes-name attribute

"Tim (JIRA)" <[email protected]>
Newsgroups gmane.comp.java.xdoclet.devel
Message-ID <[email protected]>
Generated value object's isIdentical method does not honor @ejb.valueobject composes-name attribute
---------------------------------------------------------------------------------------------------

         Key: XDT-1536
         URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1536
     Project: XDoclet
        Type: Bug
  Components: EJB Module  
    Versions: 1.2.3    
 Environment: Windows XP, MyEclipse
 Reporter: Tim
 Assigned to: xdoclet-devel (Use for new issues) 


I have written an Entity bean called Order that has a 1-n compose relation to a collection of entity beans called Status.  The following is my method signature for Order bean's statusList setter/getter:

	/**
	 * @ejb.interface-method view-type="local"
	 * @ejb.relation
	 * 	name="Order-OrderStatusList"
	 * 	role-name="order-has-status-list"
	 *  	cascade-delete="yes"
	 *
	 * @ejb.value-object
	 * 	compose="mytest.valueobjects.StatusValue"
	 * 	compose-name="Status"
	 *                   composes-name="StatusList"
	 * 	members="mytest.interfaces.Status"		
	 * 	members-name="DetectorStatus"
	 * 		
	 * 	relation="external"
	 * 
	 * @return Collection of all status entries for this order
	 */
	public abstract Collection getStatusList();
	/**
	 * @ejb.interface-method view-type="local"
	 * @return
	 */
	public abstract void setStatusList(Collection statusList);

I ran this through xdoclet with a class level @ejb.value-object tag.  The generated OrderValue class has the correctly named  getStatusList() method.  However, the OrderValue.isIdentical() method is trying to call a non-existing getStatuss() method.  
Here is the generated getStatusList() method signature:

  public mytest.valueobjects.StatusValue[] getStatusList()
   {
	return (mytest.valueobjects.StatusValue[])this.StatusList.toArray(new mytest.valueobjects.StatusValue[StatusList.size()]);
   }


Here is the portion of generated code in the OrderValue.isIdentical() method:

                 if( this.getStatuss() == null )
                 {
                        lEquals = lEquals && ( that.getStatuss() == null );
                 }
                 else
                 {
                        lEquals = lEquals && java.util.Arrays.equals(this.getStatuss() , that.getStatuss()) ;
                 }

This of course will not compile.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. 
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.