aspose file tools*
The moose likes EJB and other Java EE Technologies and the fly likes Why OrderEJB has getAccount() method? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Why OrderEJB has getAccount() method?" Watch "Why OrderEJB has getAccount() method?" New topic
Author

Why OrderEJB has getAccount() method?

walter wang
Ranch Hand

Joined: Jun 02, 2001
Posts: 154
Dear all
Any one of you studied petstore1.1.2 src?
I hv a question about OrderEJB.java
OrderEJB is a entity bean which is mapping with
Order Table
But i dont know why in OrderEJB existing a function getAccount()?
it seems this funcation is not refered by any other java class. even not by OrderEJB it self
regards


public class Walter { public boolean is_Working_Now (boolean is_boss_Coming) { return is_boss_Coming; }
walter wang
Ranch Hand

Joined: Jun 02, 2001
Posts: 154
this is OrderEJB.java source code
/*
* $Id: OrderEJB.java,v 1.15.4.12 2001/04/14 00:39:24 lblair Exp $
* Copyright 2001 Sun Microsystems, Inc. All rights reserved.
* Copyright 2001 Sun Microsystems, Inc. Tous droits r�serv�s.
*/
package com.sun.j2ee.blueprints.customer.order.ejb;
import java.util.Collection;
import java.util.Locale;
import java.util.Properties;
import java.rmi.RemoteException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.EJBException;
import javax.ejb.FinderException;
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.NamingException;
import com.sun.j2ee.blueprints.customer.util.EJBUtil;
import com.sun.j2ee.blueprints.customer.util.Calendar;
import com.sun.j2ee.blueprints.customer.util.Address;
import com.sun.j2ee.blueprints.customer.util.CreditCard;
import com.sun.j2ee.blueprints.customer.order.model.LineItem;
import com.sun.j2ee.blueprints.customer.order.model.OrderModel;
import com.sun.j2ee.blueprints.customer.order.model.MutableOrderModel;
import com.sun.j2ee.blueprints.customer.order.dao.OrderDAO;
import com.sun.j2ee.blueprints.customer.order.dao.OrderDAOFactory;
import com.sun.j2ee.blueprints.customer.account.ejb.Account;
import com.sun.j2ee.blueprints.customer.account.ejb.AccountHome;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderAppException;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderDAOSysException;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderDAOAppException;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderDAODBUpdateException;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderDAODupKeyException;
import com.sun.j2ee.blueprints.customer.order.exceptions.OrderDAOFinderException;
import com.sun.j2ee.blueprints.util.tracer.Debug;
/**
* Entity Bean implementation of Order EJB.Uses
* the Account EJB to get account info associated
* with an order.
*
* @see Account
*/
public class OrderEJB implements EntityBean {
private MutableOrderModel orderDetails;
private EntityContext context;
private transient OrderDAO orderDao;
public OrderEJB() {}
public Integer ejbCreate (Collection lineItems, Address shipToAddr,
Address billToAddr, String shipToFirstName,
String shipToLastName, String billToFirstName,
String billToLastName, CreditCard chargeCard,
String carrier, String userId,
double totalPrice, Locale locale) throws CreateException,
OrderAppException {
// set the instance data
this.orderDetails = new MutableOrderModel(-1, lineItems, shipToAddr,
billToAddr, shipToFirstName,
shipToLastName, billToFirstName,
billToLastName, chargeCard,
carrier, userId,
Calendar.getInstance(),
Order.PENDING, totalPrice, locale);
try {
OrderDAO dao = getDAO();
int id = dao.create(this.orderDetails);
this.orderDetails.setOrderId(id);
return(new Integer(id));
} catch (OrderDAODBUpdateException se) {
context.setRollbackOnly();
throw new CreateException (se.getMessage());
} catch (OrderDAOAppException oapp) {
throw new OrderAppException(oapp.getMessage());
} catch (OrderDAOSysException osys) {
throw new EJBException(osys.getMessage());
}
}
public void ejbRemove() throws RemoveException {
try {
OrderDAO dao = getDAO();
dao.remove(((Integer)context.getPrimaryKey()).intValue());
} catch (OrderDAODBUpdateException se) {
context.setRollbackOnly();
throw new RemoveException (se.getMessage());
} catch (OrderDAOSysException osys) {
throw new EJBException(osys.getMessage());
}
}
public void setEntityContext(EntityContext ec) {
context = ec;
}
public void ejbLoad() {
try{
OrderDAO dao = getDAO();
Integer id = (Integer)context.getPrimaryKey();
this.orderDetails = dao.load(id.intValue());
} catch (OrderDAOFinderException se) {
throw new EJBException (se.getMessage());
} catch (OrderDAOSysException ss) {
throw new EJBException (ss.getMessage());
}
}
public void ejbStore() {
try{
OrderDAO dao = getDAO();
dao.store(this.orderDetails);
} catch (OrderDAOSysException se) {
throw new EJBException (se.getMessage());
} catch (OrderDAOAppException sa) {
throw new EJBException (sa.getMessage());
}
}
/**
* @param key is the orderID for a particular order
*/
public Integer ejbFindByPrimaryKey(Integer key) throws FinderException {
try{
OrderDAO dao = getDAO();
Integer findReturn = dao.findByPrimaryKey(key.intValue());
this.orderDetails = dao.load(key.intValue());
return(findReturn);
} catch (OrderDAOFinderException se) {
throw new FinderException ("SQL Exception in find by primary key");
} catch (OrderDAOSysException ss) {
throw new EJBException (ss.getMessage());
}
}
/**
* @return a Collection of references to all the order EJBs
* for the userId.
*/
public Collection ejbFindUserOrders( String userId )
throws FinderException {
try{
OrderDAO dao = getDAO();
return(dao.findUserOrders(userId));
} catch (OrderDAOFinderException se) {
throw new FinderException
("SQL Exception in finding collection of primary keys");
} catch (OrderDAOSysException ss) {
throw new EJBException (ss.getMessage());
}
}
public void unsetEntityContext() {}
public void ejbActivate() {
}
public void ejbPassivate() {
this.orderDao = null;
}
public void ejbPostCreate(Collection lineItems, Address shipToAddr,
Address billToAddr, String shipToFirstName,
String shipToLastName, String billToFirstName,
String billToLastName, CreditCard chargeCard,
String carrier, String userId,double totalPrice, Locale locale){}
/**
* @return the OrderModel containing the details
* of an order
*/
public OrderModel getDetails() {
return(new OrderModel(orderDetails.getOrderId(),
orderDetails.getLineItems(),
orderDetails.getShipToAddr(),
orderDetails.getBillToAddr(),
orderDetails.getShipToFirstName(),
orderDetails.getShipToLastName(),
orderDetails.getBillToFirstName(),
orderDetails.getBillToLastName(),
orderDetails.getCreditCard(),
orderDetails.getCarrier(),
orderDetails.getUserId(),
orderDetails.getOrderDate(),
orderDetails.getStatus(),
orderDetails.getTotalPrice(),
orderDetails.getLocale()));
}
/**
* @return the Account EJB associated with this order
*/
public Account getAccount() throws FinderException {
try {
AccountHome acctHome = EJBUtil.getAccountHome();
return acctHome.findByPrimaryKey(this.orderDetails.getUserId());
} catch (FinderException fe) {
// Account mysterious disappeared..
Debug.print(fe);
throw new FinderException(fe.getMessage());
} catch (NamingException ne) {
// Account mysterious disappeared..
Debug.print(ne);
throw new EJBException(ne);
} catch (RemoteException re) {
Debug.print(re);
throw new EJBException(re);
}
}
private OrderDAO getDAO() throws OrderDAOSysException {
if(orderDao == null) {
orderDao = OrderDAOFactory.getDAO();
}
return orderDao;
}
}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why OrderEJB has getAccount() method?