User: reverbel
Date: 02/03/15 14:36:28
Added: src/main/org/jboss/test/bankiiop/ejb AccountBean.java
AccountBeanCMP.java BankBean.java CustomerBean.java
TellerBean.java
Log:
Initial version of the bank test for JBoss/IIOP.
Revision Changes Path
1.1 jbosstest/src/main/org/jboss/test/bankiiop/ejb/AccountBean.java
Index: AccountBean.java
===================================================================
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package org.jboss.test.bankiiop.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import org.jboss.test.util.ejb.EntitySupport;
import org.jboss.test.bankiiop.interfaces.Customer;
/**
*
* @see <related>
* @author $Author: reverbel $
* @version $Revision: 1.1 $
*/
public abstract class AccountBean
extends EntitySupport
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public void deposit(float amount)
{
setBalance(getBalance()+amount);
}
public void withdraw(float amount)
{
setBalance(getBalance()-amount);
}
public abstract float getBalance();
public abstract void setBalance(float balance);
}
/*
* $Id: AccountBean.java,v 1.1 2002/03/15 22:36:28 reverbel Exp $
* Currently locked by:$Locker: $
* Revision:
* $Log: AccountBean.java,v $
* Revision 1.1 2002/03/15 22:36:28 reverbel
* Initial version of the bank test for JBoss/IIOP.
*
* Revision 1.2 2001/01/07 23:14:34 peter
* Trying to get JAAS to work within test suite.
*
* Revision 1.1.1.1 2000/06/21 15:52:37 oberg
* Initial import of jBoss test. This module contains CTS tests, some simple
examples, and small bean suites.
*
*
*
*/
1.1
jbosstest/src/main/org/jboss/test/bankiiop/ejb/AccountBeanCMP.java
Index: AccountBeanCMP.java
===================================================================
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package org.jboss.test.bankiiop.ejb;
import java.io.ObjectStreamException;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import org.jboss.test.bankiiop.interfaces.AccountData;
import org.jboss.test.bankiiop.interfaces.Customer;
/**
*
* @see <related>
* @author $Author: reverbel $
* @version $Revision: 1.1 $
*/
public class AccountBeanCMP
extends AccountBean
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
public String id;
public float balance;
public Customer owner;
private boolean dirty;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
dirty = true;
}
public float getBalance()
{
return balance;
}
public void setBalance(float balance)
{
this.balance = balance;
dirty = true;
}
public Customer getOwner()
{
return owner;
}
public void setOwner(Customer owner)
{
this.owner = owner;
dirty = true;
}
public void setData(AccountData data)
{
setBalance(data.getBalance());
setOwner(data.getOwner());
}
public AccountData getData()
{
AccountData data = new AccountData();
data.setId(id);
data.setBalance(balance);
data.setOwner(owner);
return data;
}
public boolean isModified()
{
return dirty;
}
// EntityBean implementation -------------------------------------
public String ejbCreate(AccountData data)
throws RemoteException, CreateException
{
setId(data.id);
setData(data);
dirty = false;
return null;
}
public void ejbPostCreate(AccountData data)
throws RemoteException, CreateException
{
}
public void ejbLoad()
throws RemoteException
{
super.ejbLoad();
dirty = false;
}
}
/*
* $Id: AccountBeanCMP.java,v 1.1 2002/03/15 22:36:28 reverbel Exp $
* Currently locked by:$Locker: $
* Revision:
* $Log: AccountBeanCMP.java,v $
* Revision 1.1 2002/03/15 22:36:28 reverbel
* Initial version of the bank test for JBoss/IIOP.
*
* Revision 1.2 2001/01/07 23:14:34 peter
* Trying to get JAAS to work within test suite.
*
* Revision 1.1.1.1 2000/06/21 15:52:37 oberg
* Initial import of jBoss test. This module contains CTS tests, some simple
examples, and small bean suites.
*
*
*
*/
1.1 jbosstest/src/main/org/jboss/test/bankiiop/ejb/BankBean.java
Index: BankBean.java
===================================================================
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package org.jboss.test.bankiiop.ejb;
import java.rmi.*;
import javax.naming.*;
import javax.ejb.*;
import org.jboss.test.util.ejb.SessionSupport;
import org.jboss.test.bankiiop.interfaces.*;
/**
*
* @see <related>
* @author $Author: reverbel $
* @version $Revision: 1.1 $
*/
public class BankBean
extends SessionSupport
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
static final String ID = "java:comp/env/id";
String id;
// Static --------------------------------------------------------
static long nextAccountId = System.currentTimeMillis();
static long nextCustomerId = System.currentTimeMillis();
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public String getId()
{
return id;
}
public String createAccountId(Customer customer)
throws RemoteException
{
return getId()+"."+customer.getName()+"."+(nextAccountId++);
}
public String createCustomerId()
{
return getId()+"."+(nextCustomerId++);
}
// SessionBean implementation ------------------------------------
public void setSessionContext(SessionContext context)
{
super.setSessionContext(context);
try
{
id = (String)new InitialContext().lookup(ID);
} catch (Exception e)
{
log.debug(e);
throw new EJBException(e);
}
}
}
/*
* $Id: BankBean.java,v 1.1 2002/03/15 22:36:28 reverbel Exp $
* Currently locked by:$Locker: $
* Revision:
* $Log: BankBean.java,v $
* Revision 1.1 2002/03/15 22:36:28 reverbel
* Initial version of the bank test for JBoss/IIOP.
*
* Revision 1.3 2002/02/15 06:15:50 user57
* o replaced most System.out usage with Log4j. should really introduce
* some base classes to make this mess more maintainable...
*
* Revision 1.2 2001/01/07 23:14:34 peter
* Trying to get JAAS to work within test suite.
*
* Revision 1.1.1.1 2000/06/21 15:52:37 oberg
* Initial import of jBoss test. This module contains CTS tests, some simple
examples, and small bean suites.
*
*
*
*/
1.1 jbosstest/src/main/org/jboss/test/bankiiop/ejb/CustomerBean.java
Index: CustomerBean.java
===================================================================
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package org.jboss.test.bankiiop.ejb;
import java.util.*;
import javax.naming.InitialContext;
import org.jboss.test.util.ejb.EntitySupport;
import org.jboss.test.bankiiop.interfaces.*;
/**
*
* @see <related>
* @author $Author: reverbel $
* @version $Revision: 1.1 $
*/
public class CustomerBean
extends EntitySupport
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
public String id;
public String name;
public Collection accounts;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Collection getAccounts()
{
return accounts;
}
public void addAccount(Account acct)
{
accounts.add(acct);
}
public void removeAccount(Account acct)
{
accounts.remove(acct);
}
// EntityHome implementation -------------------------------------
public CustomerPK ejbCreate(String id, String name)
{
setId(id);
setName(name);
accounts = new ArrayList();
CustomerPK pk = new CustomerPK();
pk.id = id;
pk.name = name;
return pk;
}
public void ejbPostCreate(String id, String name)
{
}
}
/*
* $Id: CustomerBean.java,v 1.1 2002/03/15 22:36:28 reverbel Exp $
* Currently locked by:$Locker: $
* Revision:
* $Log: CustomerBean.java,v $
* Revision 1.1 2002/03/15 22:36:28 reverbel
* Initial version of the bank test for JBoss/IIOP.
*
* Revision 1.4 2001/01/20 16:32:51 osh
* More cleanup to avoid verifier warnings.
*
* Revision 1.3 2001/01/07 23:14:34 peter
* Trying to get JAAS to work within test suite.
*
* Revision 1.2 2000/09/30 01:00:54 fleury
* Updated bank tests to work with new jBoss version
*
* Revision 1.1.1.1 2000/06/21 15:52:37 oberg
* Initial import of jBoss test. This module contains CTS tests, some simple
examples, and small bean suites.
*
*
*
*/
1.1 jbosstest/src/main/org/jboss/test/bankiiop/ejb/TellerBean.java
Index: TellerBean.java
===================================================================
/*
* Copyright 1999 by dreamBean Software,
* All rights reserved.
*/
package org.jboss.test.bankiiop.ejb;
import java.util.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.InitialContext;
import org.jboss.test.util.ejb.SessionSupport;
import org.jboss.test.bankiiop.interfaces.*;
import org.apache.log4j.Category;
/**
*
* @see <related>
* @author $Author: reverbel $
* @version $Revision: 1.1 $
*/
public class TellerBean
extends SessionSupport
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
static int invocations;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public void transfer(Account from, Account to, float amount)
throws BankException
{
try
{
Category.getInstance(TellerBean.class.getName()).info("Invocation
#"+invocations++);
from.withdraw(amount);
to.deposit(amount);
} catch (Exception e)
{
throw new BankException("Could not transfer "+amount+" from "+from+" to
"+to, e);
}
}
public Account createAccount(Customer customer, float balance)
throws BankException
{
try
{
BankHome bankHome = (BankHome)PortableRemoteObject.narrow(
new InitialContext().lookup(BankHome.JNDI_NAME),
BankHome.class);
Bank bank = bankHome.create();
AccountHome home = (AccountHome)PortableRemoteObject.narrow(
new InitialContext().lookup(AccountHome.JNDI_NAME),
AccountHome.class);
AccountData data = new AccountData();
data.setId(bank.createAccountId(customer));
data.setBalance(balance);
data.setOwner(customer);
Account acct = home.create(data);
customer.addAccount(acct);
return acct;
} catch (Exception e)
{
log.debug("failed", e);
throw new BankException("Could not create account", e);
}
}
public Account getAccount(Customer customer, float balance)
throws BankException
{
try
{
// Check for existing account
Collection accounts = customer.getAccounts();
if (accounts.size() > 0)
{
Iterator enum = accounts.iterator();
Account acct = (Account)PortableRemoteObject.narrow(enum.next(),
Account.class);
// Set balance
acct.withdraw(acct.getBalance()-balance);
return acct;
} else
{
// Create account
return createAccount(customer, balance);
}
} catch (Exception e)
{
log.debug("failed", e);
throw new BankException("Could not get account for "+customer, e);
}
}
public Customer getCustomer(String name)
throws BankException
{
try
{
// Check for existing customer
CustomerHome home = (CustomerHome)PortableRemoteObject.narrow(
new InitialContext().lookup(CustomerHome.JNDI_NAME),
CustomerHome.class);
Collection customers = home.findAll();
Iterator enum = customers.iterator();
while(enum.hasNext())
{
Customer cust =
(Customer)PortableRemoteObject.narrow(enum.next(),
Customer.class);
if (cust.getName().equals(name))
return cust;
}
// Create customer
BankHome bankHome = (BankHome)PortableRemoteObject.narrow(
new InitialContext().lookup(BankHome.JNDI_NAME),
BankHome.class);
Bank bank = bankHome.create();
Customer cust = home.create(bank.createCustomerId(), name);
log.debug("Customer created");
return cust;
} catch (Exception e)
{
log.debug("failed", e);
throw new BankException("Could not get customer for "+name, e);
}
}
public void transferTest(Account from, Account to, float amount, int iter)
throws java.rmi.RemoteException, BankException
{
for (int i = 0; i < iter; i++)
{
from.withdraw(amount);
to.deposit(amount);
}
}
}
/*
* $Id: TellerBean.java,v 1.1 2002/03/15 22:36:28 reverbel Exp $
* Currently locked by:$Locker: $
* Revision:
* $Log: TellerBean.java,v $
* Revision 1.1 2002/03/15 22:36:28 reverbel
* Initial version of the bank test for JBoss/IIOP.
*
* Revision 1.7 2002/02/16 11:26:57 user57
* o System.err, System.out & printStackTrace() 99.9% gone.
*
* Revision 1.6 2002/02/15 06:15:50 user57
* o replaced most System.out usage with Log4j. should really introduce
* some base classes to make this mess more maintainable...
*
* Revision 1.5 2001/08/19 14:45:20 d_jencks
* Modified TellerBean to use log4j logging
*
* Revision 1.4 2001/08/02 15:54:17 mnf999
* TestBankTest update with number of threads and the output for visual feedback
on console
*
*
* Revision 1.3 2001/01/07 23:14:34 peter
* Trying to get JAAS to work within test suite.
*
* Revision 1.2 2000/09/30 01:00:55 fleury
* Updated bank tests to work with new jBoss version
*
* Revision 1.1.1.1 2000/06/21 15:52:37 oberg
* Initial import of jBoss test. This module contains CTS tests, some simple
examples, and small bean suites.
*
*
*
*/
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development