Package org.jboss.test.deadlock.bean

Source Code of org.jboss.test.deadlock.bean.EnterpriseEntityBean

/*
* 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.deadlock.bean;

import java.util.Arrays;

import javax.ejb.*;

import org.jboss.ejb.plugins.TxInterceptorCMT;
import org.jboss.test.deadlock.interfaces.BeanOrder;
import org.jboss.test.deadlock.interfaces.EnterpriseEntityLocalHome;
import org.jboss.test.deadlock.interfaces.EnterpriseEntityLocal;
import org.jboss.test.deadlock.interfaces.EnterpriseEntityHome;
import org.jboss.test.deadlock.interfaces.EnterpriseEntity;

public abstract class EnterpriseEntityBean implements EntityBean
{
   org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(getClass());
  
  private EntityContext entityContext;
  public int otherField = 0;

  public String ejbCreate(String name) throws CreateException {
      setName(name);
     return null;
  }

  public void ejbPostCreate(String name) throws CreateException {

    
     EJBLocalObject ejbObject = entityContext.getEJBLocalObject();
    
     if (ejbObject == null) {
       log.debug("******************************* NULL EJBOBJECT in ejbPostCreate");
     }
     else {
      log.debug("&&&&&&&&&&&&&&&& EJBObject found in ejbPostCreate id is "+ejbObject.getPrimaryKey());  
     }

  }

  public void ejbActivate() {
  }

  public void ejbLoad() {
  }

  public void ejbPassivate() {

  }

  public void ejbRemove() throws RemoveException {
  }

  public void ejbStore() {
   
  }

  public abstract String getName();

  public abstract void setName(String name);

  public String callBusinessMethodA() {

     return "EntityBean.callBusinessMethodA() called, my primaryKey is "+
            entityContext.getPrimaryKey().toString();
  }
 
  public String callBusinessMethodB() {

    
   EJBObject ejbObject = entityContext.getEJBObject();
  
   if (ejbObject == null)
     return "NULL EJBOBJECT";
  
   else
     return ejbObject.toString();
  }
 
 
   public String callBusinessMethodB(String words) {
   
    
   EJBObject ejbObject = entityContext.getEJBObject();
  
   if (ejbObject == null)
     return "NULL EJBOBJECT";
  
   else
     return ejbObject.toString()+ " words "+words;
 
  }

  public abstract void setOtherField(int value);
 
  public abstract int getOtherField();

  public abstract void setNext(EnterpriseEntityLocal next);
 
  public abstract EnterpriseEntityLocal getNext();

  public void callAnotherBean(BeanOrder beanOrder)
  {
     // End of the chain
     if (beanOrder.next == beanOrder.order.length-1)
        return;

     // Call the next in the chain
     try
     {
        EnterpriseEntityLocalHome home = (EnterpriseEntityLocalHome)entityContext.getEJBLocalObject().getEJBLocalHome();
        beanOrder.next++;
        EnterpriseEntityLocal nextBean = home.findByPrimaryKey(beanOrder.order[beanOrder.next]);
        try
        {
           nextBean.callAnotherBean(beanOrder);
        }
        finally
        {
           beanOrder.next--;
        }
     }
     catch (Exception e)
     {
        Exception a = TxInterceptorCMT.isADE(e);
        if (a == null)
        {
           log.error("Error next=" + beanOrder.next + " order=" + Arrays.asList(beanOrder.order), e);
           throw new EJBException("callAnotherBean failed " + e.toString());
        }
        else
        {
           throw new EJBException ("ADE", a);
        }
     }
  }
 
  public EnterpriseEntity createEntity(String newName) {

    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 EJBException("create entity did not work check messages");  
    }
    
     return newBean;
  }
 
  public void setEntityContext(EntityContext context) {
     entityContext = context;
  }

  public void unsetEntityContext() {
    entityContext = null;
  }
}
TOP

Related Classes of org.jboss.test.deadlock.bean.EnterpriseEntityBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.