
Cayenne Click Example Application
=================================

Cayenne is a powerful, easy to use, open source Java 
Object Relational Mapping (ORM) framework. 

   http://objectstyle.org/cayenne

This example application demonstrates the fundamentals building 
a Cayenne Click application.

This application was derived from an example contributed 
by Andrus Adamchik.


The structure of this web application is detailed below:

 +---[deploy]               WAR file output directory
 |
 +---[webapp]               Web application root directory
 |    |
 |    +---[images]          Web Images directory 
 |    | 
 |    +---[javadoc]         Web Javadoc output directory
 |    |    
 |    +---[META-INF]        Tomcat context.xml directory
 |    |
 |    +---[WEB-INF]         Protected Web Inf directory
 |         |
 |         +---[classes]    Compile classes output directory
 |         |
 |         +---[lib]        JAR libraries directory
 |         |
 |         +---[src]        Java source files directory
 |
 +---build.xml


Use the provided Ant build.xml file and follow the steps below
to build and deploy this application.

Step 1. 
-------

Download JAR dependencies using Ant command:

    ant get-deps

If you are behind a firewall configure your proxy settings in
the build.properties file: ../../build/build.properties

Then use the Ant command:

    ant get-deps-proxy
    
Ensure you have also downloaded the JAR dependencies using
the main Click build file: ../../build/build.xml

    ant get-deps

Step 2.
-------

Compile and build the application using the Ant command:

    ant compile build

This will create a WAR file:

    deploy/click-cayenne.war

Step 3.
-------

Configure the location of you application server in the
build.properties file:  ../../build/build.properties

Then deploy the application use the Ant command:

    ant deploy

Step 4.
-------

Access the application via the URL (tomcat example): 

    http://localhost:8080/click-cayenne
