/*
* JBoss, Home of Professional Open Source.
* Copyright 2008, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.test.testbean.bean;
import java.rmi.*;
import javax.ejb.*;
import org.jboss.test.testbean.interfaces.EnterpriseEntityHome;
import org.jboss.test.testbean.interfaces.EnterpriseEntity;
public class EnterpriseEntityBean implements EntityBean {
org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(getClass());
private EntityContext entityContext;
public String name;
public int otherField = 0;
public String ejbCreate(String name) throws RemoteException, CreateException {
log.debug("EntityBean.ejbCreate("+name+") called");
this.name = name;
return null;
}
public String ejbCreateMETHOD(String name) throws RemoteException, CreateException {
log.debug("EntityBean.ejbCreateMETHOD("+name+") called");
this.name = name;
return null;
}
public void ejbPostCreate(String name) throws RemoteException, CreateException {
log.debug("EntityBean.ejbPostCreate("+name+") called");
EJBObject ejbObject = entityContext.getEJBObject();
if (ejbObject == null) {
log.debug("******************************* NULL EJBOBJECT in ejbPostCreate");
}
else {
log.debug("&&&&&&&&&&&&&&&& EJBObject found in ejbPostCreate id is "+ejbObject.getPrimaryKey());
}
}
public void ejbPostCreateMETHOD(String name) throws RemoteException, CreateException {
log.debug("EntityBean.ejbPostCreateMETHOD("+name+") called");
EJBObject ejbObject = entityContext.getEJBObject();
if (ejbObject == null) {
log.debug("******************************* NULL EJBOBJECT in ejbPostCreateMETHOD");
}
else {
log.debug("&&&&&&&&&&&&&&&& EJBObject found in ejbPostCreateMETHOD id is "+ejbObject.getPrimaryKey());
}
}
public void ejbActivate() throws RemoteException {
log.debug("EntityBean.ejbActivate() called");
}
public void ejbLoad() throws RemoteException {
log.debug("EntityBean.ejbLoad() called");
}
public void ejbPassivate() throws RemoteException {
log.debug("EntityBean.ejbPassivate() called");
}
public void ejbRemove() throws RemoteException, RemoveException {
log.debug("EntityBean.ejbRemove() called "+hashCode());
}
public void ejbStore() throws RemoteException {
log.debug("EntityBean.ejbStore() called "+hashCode());
}
public String callBusinessMethodA() {
log.debug("EntityBean.callBusinessMethodA() called");
return "EntityBean.callBusinessMethodA() called, my primaryKey is "+
entityContext.getPrimaryKey().toString();
}
public String callBusinessMethodB() {
log.debug("EntityBean.callBusinessMethodB() called");
EJBObject ejbObject = entityContext.getEJBObject();
if (ejbObject == null)
return "NULL EJBOBJECT";
else
return ejbObject.toString();
}
public String callBusinessMethodB(String words) {
log.debug("EntityBean.callBusinessMethodB(String) called");
EJBObject ejbObject = entityContext.getEJBObject();
if (ejbObject == null)
return "NULL EJBOBJECT";
else
return ejbObject.toString()+ " words "+words;
}
public void setOtherField(int value) {
log.debug("EntityBean.setOtherField("+value+")");
otherField = value;
}
public int getOtherField() {
log.debug("EntityBean.getOtherField() called");
return otherField;
}
public EnterpriseEntity createEntity(String newName) throws RemoteException {
log.debug("EntityBean.createEntity() called");
EnterpriseEntity newBean;
try{
EJBObject ejbObject = entityContext.getEJBObject();
if (ejbObject == null)
log.debug("************************** NULL EJBOBJECT");
else
log.debug("************************** OK EJBOBJECT");
EnterpriseEntityHome home = (EnterpriseEntityHome)entityContext.getEJBObject().getEJBHome();
newBean = (EnterpriseEntity)home.create(newName);
}catch(Exception e)
{
log.debug("failed", e);
throw new RemoteException("create entity did not work check messages");
}
return newBean;
}
public void setEntityContext(EntityContext context) throws RemoteException {
log.debug("EntityBean.setSessionContext() called");
entityContext = context;
}
public void unsetEntityContext() throws RemoteException {
log.debug("EntityBean.unsetSessionContext() called");
entityContext = null;
}
}