package org.jboss.test.cmp2.passivation.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.RemoveException;
import javax.ejb.EJBObject;
import javax.ejb.EJBLocalObject;
import org.jboss.logging.Logger;
public abstract class RapidlyPassivatedEntityBean implements EntityBean
{
private static Logger log = Logger.getLogger(RapidlyPassivatedEntityBean.class);
private EntityContext mEntityContext;
public abstract String getData();
public abstract void setData(String data);
public Object getIdViaEJBLocalObject()
{
Object key = mEntityContext.getPrimaryKey();
EJBLocalObject local = mEntityContext.getEJBLocalObject();
Object lkey = local.getPrimaryKey();
log.info("key: "+key+", lkey: "+lkey+", local: "+local);
return (Object)mEntityContext.getEJBLocalObject().getPrimaryKey();
}
public Object getIdViaEJBObject()
{
try
{
return (Object)mEntityContext.getEJBObject().getPrimaryKey();
}
catch (RemoteException e)
{
throw new EJBException(e);
}
}
public Object ejbCreate(String s)
throws CreateException
{
setData(s);
return null; }
public void ejbPostCreate(String s)
{
log.info("ejbPostCreate, ctx:"+mEntityContext
+", pk:"+mEntityContext.getPrimaryKey()
+", local:"+mEntityContext.getEJBLocalObject());
}
public void ejbActivate() throws EJBException, RemoteException
{
log.info("ejbActivate, ctx:"+mEntityContext
+", pk:"+mEntityContext.getPrimaryKey()
+", local:"+mEntityContext.getEJBLocalObject());
}
public void ejbLoad() throws EJBException, RemoteException
{
log.info("ejbLoad, ctx:"+mEntityContext
+", pk:"+mEntityContext.getPrimaryKey()
+", local:"+mEntityContext.getEJBLocalObject());
}
public void ejbPassivate() throws EJBException, RemoteException
{
log.info("ejbPassivate, ctx:"+mEntityContext
+", pk:"+mEntityContext.getPrimaryKey()
+", local:"+mEntityContext.getEJBLocalObject());
}
public void ejbRemove()
throws RemoveException, EJBException, RemoteException
{
}
public void ejbStore() throws EJBException, RemoteException
{
}
public void setEntityContext(EntityContext ctx)
throws EJBException, RemoteException
{
mEntityContext = ctx;
}
public void unsetEntityContext() throws EJBException, RemoteException
{
mEntityContext = null;
}
}