
Contents
Primary Presentation
Element Catalog
under the namespace petstore::controller::ejb
actions
The classes in this package implement an EJB action following the command design pattern.
actions::CartEJBAction
Implements an EJB action following the command design pattern. Depending on the event that triggered it, updates quantity, add a new item or deletes an item to the shopping cart
actions::ChangeLocaleEJBAction
Implements an EJB action following the command design pattern. Changes the locale of the waf::StateMachine, ShoppingClientFacade, and the (components) ShoppingCart
actions::CreateUserEJBAction
Implements an EJB action following the command design pattern. Creates a user in the SignOnEJB, associates a ShoppingClientFacade to it.
actions::CustomerEJBAction
Implements an EJB action following the command design pattern. It creates or updates a customer based on the type of event that occurred
actions::OrderEJBAction
Implements an EJB action following the command design pattern. Creates an order, empties the cart and creates an OrderEventResponse
actions::SignOnEJBAction
Implements an EJB action following the command design pattern. It signs a user on.
ShoppingClientFacade
(Stateful) caches references and provides unified access to customer, shopping cart, and user ID.
ShoppingControllerEJB
(Stateful) Session Bean that provides access to the Shopping Client Facade. Extends the WAF EJB controller (EJBControllerLocalEJB).
Under the namespace petstore::controller::events
CartEvent
This Event contains the information for the EJBController of a change the state of the shopping cart. There are four basic types of cart events: ADD_ITEM, DELETE_ITEM, andUPDATE_ITEM(S)
CreateUserEvent
This Event contains the new username and password
CustomerEvent
This Event contains contact information, credit card, and profile information of a customer
OrderEvent
This Event contains the information about credit cart, billing and shipping of an order.
OrderEventResponse
This Event contains information about an order that has been placed.
SignOnEvent
This Event contains the information for the EJBController of the username that signed on.
under the namespace petstore::controller::web
actions
The classes in this package implement an Web actions following the command design pattern.
actions::CartHTMLAction
Processes a user change in the shopping cart. Changes include: adding items, removing items, updating item quantities, emptying the cart
actions::CreateUserHTMLAction
Processes a user sign on.
actions::CustomerHTMLAction
Processes a user changes/creation of a customer. Changes include: create customer, update customer
actions::OrderHTMLAction
Processes a user change in the order.
actions::SignOffHTMLAction
Processes a signoff
BannerHelper
This class relates to some web tier specific display selection where this helper will choose the banner to be displayed based on the category. The mapping of banners to categories could also be maintained in a properties file or database.
flow::handlers::CreateUserFlowHandler
This class will forward a user to the screen they left before they attempted to create an account. It is assumed that the SignOn component is used which provides an attribute of which screen to return to.
PetstoreComponentManager
Implements waf::controller::web::DefaultComponentManager and provides access to services in the web tier and ejb tier.
ShoppingWebController
This class is essentially just a proxy object that calls methods on the EJB tier using the waf.controller.ejb.ShoppingClientControllerEJB object. All the methods that access the EJB are synchronized so that concurrent requests do not happen to the stateful session bean.
SignonNotifier
This class will bind with the current session and notify the petstore backend when a SignOn has occurred. This allows for a loose coupling of the SignOn component and the petstoreApplication. Ensure the necessary setup is done in the application when a user signs in.
under the namespace waf::controller::ejb
<<SessionBean>>EJBControllerLocalEJB
This is the EJB-tier controller of the MVC. It controls all the activities that happen in a client session. It also provides mechanisms to access other session EJBs.
action::EJBActionSupport
Empty abstract implementation of EJBAction.
under the namespace waf::controller::web
<<interface>>WebController
Proxy to the EJB tier that uses the EJBController LocalEJB.
action::HTMLActionSupport
Empty abstract implementation of HTMLAction
DefaultComponentManager
Provides access to services in the web tier and ejb tier
flow::handlers:ClientStateFlowHandler
De-serializes Base64 encoded parameters encoded in web pages.
under the namespace waf::event
<<interface>>EventResponse
Base interface for all WAF (Web Application Framework) events.
EventSupport
Base class for all events used by the application. This class only implements Serializable to ensure that all events may be sent the the EJB container via RMI-IIOP.
Variability Guide
None
Other Information
There are a couple places where the expected inheritance behavior is not followed:
petstore::controller::events::OrderEventResponse
implements
waf::event<interface>EventResponse
instead of inheriting from its default implementation:waf::event::EventResponseSupport
.petstore::controller::web::ShoppingWebController
implements
waf::controller::web::<interface>WebController
instead of inheriting from its default implementationwaf::controller::web::DefaultWebController
.
There is no clear rationale behind this decision besides a mistake.