How to use the Cameleon OSP
Components - an Overview
Before you start using Cameleon OSP, you should be familiar with
configuration, writing, compiling and running java applications in
If you want to develop server applications, we recommend to acquire
knowledge on Unix and MySQL before you start.
Get the source
Since the author uses JBuilder 3, paths often follow these conventions.
The JBuilder project files are part of the distribution. To fit to
IDE's habits, copy the source (directory src) into the appropriate
directory of the IDE and import the files in the respective project
Run sample applications
Create an ODBC data source called "Marketing" based on MS Access Driver
and create an (empty) mdb file by the ODBC administration functions.
Start the Main class
Generate the database creating script "createDB.sql" by the class
adapt it to your environment and let it create the database "cookbook"
(e.g. via command "mysql < createDB.sql").
Put classes or jar files in the suitable directory and configure the
server. Don't forget to set up JDBC driver, e.g. MySQL driver.
Start the application server
The paradigm of the Cameleon Open Source Project
Edit your application in an abstract way and let the framework realize
the concrete technical solution.
If the user is to be informed that an entry cannot be deleted, you
Instead we should use the method setMessageToKeep and let the
framework decide in which way this is going to be realized. Maybe
something else is hip.
fill the status label with this information by the method setText()
open a dialog / modal window with the information and an Ok button
Swing / Servlet / JSP Decision
At first: No matter how you start, your work is never useless, because
many things are similar in this framework. Anyway, once you will decide
which way to go. If you decided to create a server application: The
of the pure Servlet variant are few instructions, reliability and a
flexibility to change behaviour and layout retrospectively. The
of Java Server Pages is individuality and creativity.
Set up your own project
What you should basically know
The database connection is specified in de.must.dataobj.ConnectionSpecification,
this class provides the connection via method getConnection(). It's
to make the main connection globaly available in a subclass of de.must.middle.GlobalStd
for each application.
Tables are described in Objects extending de.must.dataobj.DataObject.
If your database is already created, you need not more than defining
table name. If not, it is recommended to define your table as a
of DataObject and
creation scripts or the database itself out of these descriptions by
The primary key is administrated by DoIdent,
a de.must.dataobj.DataObject. You need this object and the associated
"Identity" to insert records.
Concerning Data Modification
The concept to navigate through big amounts of data is:
Specifiy the entry / entries to be modified by an enquiry with one or
criteria to reduce the search result significantly.
Browse the search result and switch to modify mode by doubleclick of a
Modify the entry and click Ok
For Swing UI see de.must.wuic.SimpleDataListFrame
For HTML UI see de.must.markup.Enquiry,
Check out suitable sample applications.
We found a small icon repository at http://developer.java.sun.com/developer/techDocs/hi/repository.
Sun allows to redistribute it.
Look at http://www.must.de/cameleon.html
for newer documentation.
Check out the API Documentation.
To understand the framework and its usage we recommend:
Check sample applications functions by running the sample application
compare them to your needs.
Check the corresponding source code.
Use the API Documentation
detailed understanding of the framework and for using other framework
as used in the sample application. In the API Documentation the sample
classes are included into document the "Direct Known Subclasses".
it's more helpful to read the sample source code itself rather than
the sample API.
The first expected questions are answered in FAQ.html.
You're welcome to join the Cameleon OSP and ask additional questions in
help forum to let the FAQ grow.
© Copyright 2001-2004 Christoph
Müller, Kärntner Str. 56, D-70469 Stuttgart, Germany, http://www.must.de