xdoclet 1.2b3

The above method seems not to work correctly when there are methods in the Bean with the same name as the persitent fields get/set-method. See below. The method will find 'wrong' method when checking if it is abstract or not, because it is not using the complete method signatur - only the method name. In this case it will find the non-abstract method and then there will be a super.setStatus() genereated in the CMP file.

Is xdoclet wrong or am I not allowed to code like this?

/L

The Bean: A persistent field status has getStatus and setStatus, but it also has a helper method setStatus with other parameter list, that in turn will call the persistent setStatus method

  /**
   * This is a CMP field.
   * Returns the status field.
    * @ejb.interface-method
    *     type="remote"
    * @ejb.persistence
    *     column-name="status"
   */
  public abstract Integer getStatus();
  /**
   * This is a CMP field.
   * Sets the status field.
   */
  public abstract void setStatus(Integer status);

  /**
   * This is a helper method.
   * Sets the status field
  * @ejb.transaction
  *     type="Required"
   * @ejb.interface-method
   *     type="remote"
   */
  public void setStatus(SessionInfo sessionInfo, int status) {
    setChanged(sessionInfo);
    setStatus(new Integer(status));
  }

Generated CMP:

   public void setStatus( java.lang.Integer status )
   {
      super.setStatus(status);       // THIS WILL NOT COMPILE !!!
      this.status = status;
      makeDirty();
   }



-------------------------------------------------------
This SF.net email is sponsored by:  Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to