Project Notes




Project: Application: Cliffhanger Adventure Gear
Author: Application Methods, Inc.

Description
This sample application is an example of an order entry system for a fictitious company selling outdoor adventure gear. The company, Cliffhanger Adventure Gear, requires a system to manage order, customer, and product inventory information for their business. They sell products via mail order and also have a chain of stores. This application helps them track customer information and record orders for equipment from their mail order customers, as well as their store customers who wish to order items that may not be available in the store they visit. This application also supports a set of common business rules, illustrating how to create a client/server application using JBuilder's DataExpress database components.

Two related applications share the Cliffhanger database:

Setup
This sample stores its data in InterBase databases. To run it, you must

Running the Sample
To run this sample,
  1. Start InterBase and InterServer.
  2. Select Run | Run project from the main menu.

The Cliffhanger sample also includes Order Tracker, a simple illustration of a database-aware applet. This applet allows a user to retrieve status information about an order created through the Cliffhanger order entry application. Order Tracker shares data with the Cliffhanger application, but resides in a separate directory. Refer to the project notes in samples/OrderTracker/OrderTracker.html for more information.


The following project notes are divided into discussions of the features demonstrated in the main functional areas of the application, including the Data Module. The main functional areas are as follows:

Data Module
The DataModule1 class in the Cliffhanger project implements the DataModule interface that contains the Database component, all the QueryDataSet components, and all the client business rules logic. Data modules simplify reuse and multiple use of collections of dataset components.

The DataModule1 class demonstrates the following features:

Splash screen
The Splash screen is implemented by the SplashScreen class. The project demonstrates how to create a splash screen that is shown while the application is loading and establishing the connection to the database. Refer to code comments in the source code files CliffhangerApplication.java and SplashScreen.java.

Main Menu screen
The Main Menu screen is implemented by the MainFrame class. This screen is the main window of the application from which the user can view, create and modify order, customer, product and category records.

The MainFrame class demonstrates the following features:

Order Entry screen
The Order Entry screen is implemented by the OrderEntryFrame class. This screen allows the user to add a new order record, modify or delete existing orders. Each order has several order items. This screen is the most complicated in the application, hence it demonstrates some of the robust application features that can be built with JBuilder.

The OrderEntryFrame class demonstrates the following features:

Customer maintenance screen
The Customer maintenance screen is implemented by the CustomerFrame class. This screen allows the user to add new customer records and modify or delete existing customers. This screen also uses a grid to display all the order records for the current customer. The user can view the details of a particular order, and create a new order for the current customer.

The CustomerFrame class demonstrates the following features:

Product maintenance screen
The Product maintenance screen is implemented by the ProductFrame class. This screen allows the user to add new product records and modify or delete existing products.

The ProductFrame class demonstrates the following features:

Category maintenance screen
The Category maintenance screen is implemented by the CategoryFrame class. This screen allows the user to add a new category record, and modify or delete existing categories.

The CategoryFrame class demonstrates the following features:

Find dialogs
The FindFrame class is a base class from which other Find dialogs are inherited. The other Find dialogs are OrderFindFrame, ProductFindFrame, and CustomerFindFrame. They are used to browse or find a particular order, product or customer record respectively. All the Find dialogs have similar appearance and behavior. The inherited classes set FindFrame properties to customize appearance and behavior.

The FindFrame class demonstrates the following features: