© 2005 BEA Systems, Inc.

com.beasys.commerce.ebusiness.order
Class OrderManagerBean

java.lang.Object
  extended bycom.beasys.commerce.ebusiness.order.OrderManagerBean
All Implemented Interfaces:
EnterpriseBean, Serializable, SessionBean

public class OrderManagerBean
extends Object
implements SessionBean

The OrderManagerBean is a session bean that isolates the JSP type calls from dealing directly with Order Entity Beans in a piece-meal fashion and improves performance by keeping the calls on the EJB sides.
Its main purpose is to create an Order and to retrieve OrderValue's using a variety of criteria, customerPK, a date range, a SKU, a Status.
The returned objects on those finder methods may be either straight collection with all the orderValue objects filled, or a more sophisticated ScrollableModel which caches the PK and a few orderValues only.
Finally, the OrderManagerBean deals with getting and setting an Order's status, and helps the JSP presentation by providing the only possible statuses an Order can move to.

See Also:
OrderValue, StateMachine,
, OrderManagerHome, OrderManager, Serialized Form

Constructor Summary
OrderManagerBean()
          The constructor gets an order state machine for any status associated action.
 
Method Summary
protected static void close(Connection connection, PreparedStatement statement, ResultSet resultSet)
          Close database "stuff" quietly and without exceptions.
 Handle createOrder(OrderPk orderPK, OrderValue orderValue, Quote adjustments)
          Creates an order using a value object.
 void ejbActivate()
          Empty ejb method implementation
 void ejbCreate()
          Empty ejb method implementation
 void ejbPassivate()
          Empty ejb method implementation
 void ejbPostCreate()
          Empty ejb method implementation
 void ejbRemove()
          Empty ejb method implementation
 Collection findByCustomer(CustomerPk customerPk)
          Finds the OrderValues associated with a customer and returns a collection
 ScrollableModel findByCustomer(CustomerPk customerPK, int pageSize)
          Finds the OrderValues associated with a customer and returns a scrollable model
 Collection findByDates(Date startDate, Date endDate)
          Finds a collection of orders given a range of dates.
 ScrollableModel findByDates(Date startDate, Date endDate, int pageSize)
          Finds the OrderValues associated with a date range and returns a scrollable model
 OrderValue findByPK(OrderPk pk)
          Finds an order value given its primary key.
 Collection findBySKU(String SKU)
          This method uses a prepared statement and a Jdbc Connection to retrieve Order Values from the WLCS_ORDER_LINE table, based on the SKU of a product item.
 ScrollableModel findBySKU(String sku, int pageSize)
          This method uses a prepared statement and a Jdbc Connection to retrieve Order Values organized in a ScrollableModel from the WLCS_ORDER_LINE table, based on the SKU of a product item.
 Collection findByStatus(String status)
          Finds the OrderValues associated with a status and returns a collection
 ScrollableModel findByStatus(String status, int pageSize)
          Finds the OrderValues associated with a status and returns a scrollable model
 String getOrderStatus(OrderPk pk)
          Gets the status of an order, given the order's primary key.
 String[] getValidNewStatuses(OrderPk orderPK)
          Retrieves all the possible statuses an Order can move to based on its primary key.
 void queryOrderAdjusments(OrderPk orderPk, OrderValue orderValue)
          this call fills an orderValue with the adjustments that are associated with it.
 void setOrderStatus(OrderPk pk, String orderStatus)
          Sets an order's status to a specified value, given the order's primary key.
 void setSessionContext(SessionContext context)
          Set the session context
 void updateOrderDiscounts(OrderPk orderPk, OrderValue orderValue, Quote adjustments)
          updates the discounts associated with an order
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrderManagerBean

public OrderManagerBean()
                 throws Exception
The constructor gets an order state machine for any status associated action. Check license first!

Method Detail

close

protected static void close(Connection connection,
                            PreparedStatement statement,
                            ResultSet resultSet)
Close database "stuff" quietly and without exceptions. This convenience method takes a Statement, ResultSet, and Connection. If the argument is null or not one of the recognized types, nothing is done.


createOrder

public Handle createOrder(OrderPk orderPK,
                          OrderValue orderValue,
                          Quote adjustments)
                   throws RemoteException
Creates an order using a value object. It also persist the ajustments associated with that order

Returns:
a handle over the order
Throws:
RemoteException

ejbActivate

public void ejbActivate()
Empty ejb method implementation

Specified by:
ejbActivate in interface SessionBean

ejbCreate

public void ejbCreate()
Empty ejb method implementation


ejbPassivate

public void ejbPassivate()
Empty ejb method implementation

Specified by:
ejbPassivate in interface SessionBean

ejbPostCreate

public void ejbPostCreate()
Empty ejb method implementation


ejbRemove

public void ejbRemove()
Empty ejb method implementation

Specified by:
ejbRemove in interface SessionBean

findByCustomer

public Collection findByCustomer(CustomerPk customerPk)
                          throws RemoteException
Finds the OrderValues associated with a customer and returns a collection

Returns:
the Collection that manages the corresponding Order values
Throws:
RemoteException

findByCustomer

public ScrollableModel findByCustomer(CustomerPk customerPK,
                                      int pageSize)
                               throws RemoteException
Finds the OrderValues associated with a customer and returns a scrollable model

Returns:
the ScrollableModel that manages the corresponding Order values
Throws:
RemoteException

findByDates

public Collection findByDates(Date startDate,
                              Date endDate)
                       throws RemoteException
Finds a collection of orders given a range of dates.

Parameters:
startDate -
endDate -
Returns:
The Collection of order for the date range
Throws:
RemoteException

findByDates

public ScrollableModel findByDates(Date startDate,
                                   Date endDate,
                                   int pageSize)
                            throws RemoteException
Finds the OrderValues associated with a date range and returns a scrollable model

Parameters:
startDate - of the date range
endDate - of the date range
Returns:
the ScrollableModel that manages the corresponding Order values
Throws:
RemoteException

findByPK

public OrderValue findByPK(OrderPk pk)
                    throws RemoteException
Finds an order value given its primary key.

Parameters:
pk - The primary key of the order to be found
Returns:
The order value
Throws:
RemoteException

findBySKU

public Collection findBySKU(String SKU)
                     throws RemoteException
This method uses a prepared statement and a Jdbc Connection to retrieve Order Values from the WLCS_ORDER_LINE table, based on the SKU of a product item. Each OrderValue found appears only once in the Collection, even if there are many OrderLines in a single Order for a single SKU (unlikely, but physically possible).

Parameters:
SKU -
Returns:
a Collection (ArrayList) of OrderValue's
Throws:
RemoteException

findBySKU

public ScrollableModel findBySKU(String sku,
                                 int pageSize)
                          throws RemoteException
This method uses a prepared statement and a Jdbc Connection to retrieve Order Values organized in a ScrollableModel from the WLCS_ORDER_LINE table, based on the SKU of a product item.
Each OrderValue found appears only once in the ScrollableModel, even if there are many OrderLines in a single Order for a single SKU (unlikely, but physically possible).

Parameters:
pageSize -
Returns:
a ScrollableModel (ArrayList) managing the Order Values
Throws:
RemoteException

findByStatus

public Collection findByStatus(String status)
                        throws RemoteException
Finds the OrderValues associated with a status and returns a collection

Returns:
the collection that manages the corresponding Order values
Throws:
RemoteException

findByStatus

public ScrollableModel findByStatus(String status,
                                    int pageSize)
                             throws RemoteException
Finds the OrderValues associated with a status and returns a scrollable model

Returns:
the ScrollableModel that manages the corresponding Order values
Throws:
RemoteException

getOrderStatus

public String getOrderStatus(OrderPk pk)
                      throws RemoteException
Gets the status of an order, given the order's primary key.

Parameters:
pk - The primary key of the order in question
Returns:
A string with the order's status
Throws:
RemoteException

getValidNewStatuses

public String[] getValidNewStatuses(OrderPk orderPK)
                             throws RemoteException
Retrieves all the possible statuses an Order can move to based on its primary key. This can then be used by the presentation layer

Parameters:
orderPK -
Returns:
a String array, one per status the order can be moved to
Throws:
RemoteException

queryOrderAdjusments

public void queryOrderAdjusments(OrderPk orderPk,
                                 OrderValue orderValue)
                          throws RemoteException
this call fills an orderValue with the adjustments that are associated with it.

Throws:
RemoteException

setOrderStatus

public void setOrderStatus(OrderPk pk,
                           String orderStatus)
                    throws RemoteException
Sets an order's status to a specified value, given the order's primary key.

Parameters:
pk - The order's primary key
orderStatus -
Throws:
RemoteException

setSessionContext

public void setSessionContext(SessionContext context)
Set the session context

Specified by:
setSessionContext in interface SessionBean
Parameters:
context - the Session context

updateOrderDiscounts

public void updateOrderDiscounts(OrderPk orderPk,
                                 OrderValue orderValue,
                                 Quote adjustments)
                          throws RemoteException
updates the discounts associated with an order

Parameters:
orderPk - the order primary key.
orderValue - the order value which contains the creation date and the orderline
adjustments - a Quote object containing the adjustments
Throws:
RemoteException
Since:
WLCS 3.5 sp3, added as a customer support case

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved