examples.e2e.b2b.processors
Class ProductInventory
java.lang.Object
|
+--com.bea.portal.appflow.processor.AbstractPortalProcessor
|
+--examples.e2e.b2b.processors.AbstractProcessor
|
+--examples.e2e.b2b.processors.ProductInventory
- public class ProductInventory
- extends AbstractProcessor
The ProductInventory
processor
runs business logic for the
product inventory portlet (productinventory.portlet).
This class handles the following portlet webflow
events
(See PortalAppflowConstants.PORTLET_WEBFLOW_EVENT_PARAMETER
)
directed to the product inventory portlet:
- selectProduct
- reset
- bea.portal.framework.internal.refresh
- null
All paths through the process()
method first call the
InventoryProvider
EJB
to obtain a List
of products and stores the
List
in the RequestState
object for the current request.
The "selectProduct" portlet webflow event
indicates that the user has selected a particular product
from the list displayed in the portlet. The
Helper.getProductParameter(javax.servlet.http.HttpServletRequest)
method
is used to obtain the product id from the HttpServletRequest
.
The product id is compared against the List
of
products obtained via the
InventoryProvider
EJB, and the
matching Inventory
object is stored in the
user's SessionState
.
Following the successful completion of the aforementioned work
the StateValue
of the
SessionState
is set to
StateValue.PRODUCT_SELECTED
and a value
of Constants.DISPLAY
is returned to the caller.
The "reset" portlet webflow event
is used to restart the purchasing process, typically after a purchase
order has been submitted and an acknowledgement has been received
from the corresponding supplier.
When this event is encountered by the process()
method the StateValue
of the
SessionState
is set to
StateValue.START
, XML and data files are deleted
and a value of Constants.DISPLAY
is
returned to the caller.
The "bea.portal.framework.internal.refresh" and
"null" portlet webflow events simply return
Constants.DISPLAY
after obtaining the
List
of products from the
InventoryProvider
EJB.
Method Summary
|
java.lang.Object |
process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
PortalRequest portalRequest,
java.lang.Object requestContext,
PipelineSession session,
RequestState rState,
SessionState sState)
Processes webflow events directed to the product inventory
portlet (productinventory.portlet). |
Methods inherited from class examples.e2e.b2b.processors.AbstractProcessor |
getAppflowEvent,
getInventoryProvider,
getParts,
getPipelineSession,
getPortalEvent,
getPortletEvent,
getProducts,
getPurchaseManager,
getRequestState,
getSessionState,
getTimeoutCalendar,
isPortletMaximized,
process,
submitPO,
submitQPA |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
ProductInventory
public ProductInventory()
- Constructs a new processor.
process
public java.lang.Object process(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
PortalRequest portalRequest,
java.lang.Object requestContext,
PipelineSession session,
RequestState rState,
SessionState sState)
throws ProcessingException
- Processes webflow events directed to the product inventory
portlet (productinventory.portlet).
- Parameters:
request
- an HttpServletRequest
to process.response
- the HttpServletRequest
associated
with the request.portalRequest
- the PortalRequest
associated with this http request.requestContext
- the webflow request context.session
- the PipelineSession
object associated with this request.requestState
- the RequestState
associated with this
http request.sessionState
- the SessionState
associated with this
user session.- Throws:
- IllegalStateException - if the product id supplied for
a "selectProduct" event is not found in the
List
of
products retrieved from the
InventoryProvider
EJB.- E2EProcessingException - if unable to create or call the
InventoryProvider
EJB. - Overrides:
- process in class AbstractProcessor
Copyright © 2002 BEA Systems, Inc. All Rights Reserved