The problem I seem to be having is that when I compile my class, I get an "incompatible return types" error on the findByPrimaryKey(String) and create().  Of course both of these methods are returning a remote interface.  The problem is that the base classes' version of these methods in the home interface return the base class remote interface and the leaf class version of these methods returns the leaf classes' remote interface.
 
I am not sure if this is a xdoclet bug.  I just looked through the bug list.  It may likely be that I am not including a tag or something.
 
*** Is there a way to force xdoclet not to generate a default create and findByPrimaryKey?
 
Below is my leaf class:
 
/**
 * @ejb:bean
 *      name="ExpenseEJB"
 *      type="CMP"
 *      cmp-version="2.x"
 *      jndi-name="Expense"
 *      local-jndi-name="LocalExpense"
 *      display-name="EJB CMP - ExpenseEJB"
 *      view-type="both"
 *      reentrant="false"
 * @ejb:pk class="java.lang.String" generate="false"
 *
 * @ejb:data-object equals="false"
 * @ejb:transaction-type Required
 * @jboss:table-name cashflows
 * @jboss:create-table false
 * @jboss:remove-table false
 * @jboss:tuned-updates true
 *
 * @ejb:interface
 *      extends="CashFlow"
 * @ejb:home
 *      extends="CashFlowHome"
 */
 
public abstract class ExpenseEJB extends CashFlowEJB implements EntityBean {
...
}
 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Ara Abrahamian
Sent: Wednesday, May 29, 2002 1:52 PM
To: 'Pete Marsden'; [EMAIL PROTECTED]
Subject: RE: [Xdoclet-user] Inheritance and XDoclet

Yeah, I’ve seen a report for this bug, probably submitted to bugs database too. If not filed then open a new bug entry for it.

 

Btw you can easily fix this problem by defining an AbstractTest session bean and deriving the two other beans from it. It’s always a good idea to derive from an abstract base class than a concrete one.

 

Ara.

 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Pete Marsden
Sent:
Wednesday, May 29, 2002 7:25 PM
To:
[EMAIL PROTECTED]
Subject: [Xdoclet-user] Inheritance and XDoclet

 

Hello,

 

This is my first post to this list and I am frustrated.  Everything is working fine for me in my refactoring from ejbgen/websphere to xdoclet/jboss except when I try to use inheritance.

 

The problem occurs during the compile and has to do with the fact that xdoclet is generating (in the case of the stateless session bean) a default create method in each class which return different types.

 

I tried to put a create method that had the same signature as the base class hoping to cause xdoclet not to generate the create method but that didn't work.

 

I see that the examples use inheritance and that is what kills me.  What am I doing wrong?  What do I need to do to implement entity inheritance?

 

Code below:

 

Thanks for your help

Pete--

 

 

BASE CLASS

---------------------

/**
 * @ejb:bean
 *      name="TestBaseBO"
 *      type="Stateless"
 *      cmp-version="2.x"
 *      jndi-name="TestBaseBO"
 *      display-name="EJB Stateless - TestBaseBO"
 *      view-type="both"
 *      reentrant="false"
 */

public class TestBaseBO implements SessionBean  {

}

 

 

TEST CLASS

---------------------

/**
 * @ejb:bean
 *      name="TestBO"
 *      type="Stateless"
 *      cmp-version="2.x"
 *      jndi-name="TestBO"
 *      display-name="EJB Stateless - TestBO"
 *      view-type="both"
 *      reentrant="false"
 */

public class TestBO extends TestBaseBO implements SessionBean  {

}

Reply via email to