Contents

Primary Presentation

Element Catalog

Variability Guide

Other Information

Related Views

Primary Presentation



Diagram in MS Visio format

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:

There is no clear rationale behind this decision besides a mistake.

Related Views

Back to the Pet Store SAD main page