Project Notes




Project: 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 chain of stores. The application will help 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 visited. The sample application will support a set of common business rules, illustrating how to create a client/server application using JBuilder's DataExpress database components.

Setup
To run this sample, you must

Other documentation and data files
Two other documents are included in this project. One highlights some of the reusable code snippets from the Cliffhanger application that might be useful for your own JBuilder projects. The other is a tutorial on how to recreate the master-detail relationship used in the CustomerFrame. This may be helpful in showing you how to create your own master-detail forms with JBuilder.

Also, the Cliffhanger sample 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\borland\reference\tracker for more information.

In addition to the InterBase database CLIFFHANGER.GDB, this application's data directory contains two text files, db.sql and DataStock.sql, that can be used to generate a clean copy of the database. To use them:


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/EM> 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 SplashFrame 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 SplashFrame.java.

Main Menu screen
The Main Menu screen is implemented by the MainFrame1 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 override some of the frame properties and methods to customize appearance and behavior.

The FindFrame class demonstrates the following features: