beehive/samples/petstoreWeb
2014-04-15 13:40:50 -04:00
..
src Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
test-src/org/apache/beehive/samples/petstore/test Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
web Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
build-dist.properties Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
build.properties Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
build.xml Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00
README.txt Initial import of https://svn.apache.org/repos/asf/beehive/tags/v1.0.2 2014-04-15 13:40:50 -04:00

Welcome to the Beehive Petstore
===============================

Requirements
============
The following software is required to build and deploy the pet store:
  - Java 5
  - Ant 1.6.2
  - Servlet or J2EE Container
  - Apache Derby 10.0.x JAR

Installing Dependencies
=======================
1) Java 5

  Download: http://java.sun.com/j2se/1.5.0/download.jsp

Install Java 5 and set the JAVA_HOME environment variable to
refernce the JDK install directory.  Ensure that $JAVA_HOME/bin is
available in your $PATH.

2) Ant 1.6.2

  Download: http://ant.apache.org/bindownload.cgi

Ant 1.6.2 is the minimum version required by the Beehive build infrastructure.  
Install Ant 1.6.2 and set the ANT_HOME environment variable to reference the Ant 
install directory.  Ensure that $ANT_HOME/bin is available in your $PATH.

3) J2EE Container

  A Servlet or J2EE container is required.  The petstoreWeb will run well on 
Tomcat 5.x.

4) Derby 10.0.x

   Download: http://db.apache.org/derby/derby_downloads.html

Once Derby has been downloaded, set the "derby.jar" property in build.properties
so that derby.jar can be located by the build file and copied to the webapp's 
WEB-INF/lib directory.
   
5) Specifying the Derby database location

Modify petstoreWeb/src/org/apache/beehive/samples/petstore/controls/data/DBProperties.java
in the petstoreWeb to set the location for the Derby petstore database. By default, 
this location is: "d:/Apache/Derby/petDB". Most users will need to change this.

Building
========
The samples/petstoreWeb is structured as:

samples/
  petstoreWeb/
    build.xml
    build.properties
    src/
      Contains the .java code for Beehive controls, form beans, and other sources / properties files
    web/
      Contains JSPs, .java Page Flows, images, and other web content.

When the webapp is built, a build/ directory is created and the Beehive runtime
is added to build/WEB-INF/lib.  Then, web content is copied from web/ to build/
and the Beehive source artifacts (controls and Page Flows) are built into WEB-INF/classes.

Once the webapp is built, the build/ directory contains the complete, exploded webapp 
and can be deployed to a Servlet container.

The Ant build files for the petstore are stored in the petstoreWeb/ directory.  In the 
instructions below, "$>" represents the command prompt in the samples/petstoreWeb/.

The first time you build the Petstore web application, the Beehive runtime libraries
will need to be copied into the webapp with:

  $> ant deploy-beehive

Then, the webapp can be built with:

  $> ant build

To clean the webapp, run:

  $> ant clean

To build a .war file for the webapp, run:

  $> ant war

Deploying and Running
=====================
Use your container's standard deployment practice to deploy the Web
application found in samples/petstoreWeb.

The default context path for petstoreWeb is "petstoreWeb".  When deployed to the server, 
the web appliciation should be available at the URL:

  http://<host>:<port>/petstoreWeb/

If you are using Tomcat 5.0.x for you J2EE container, you can deploy using the following:

  $> cd <BeehiveRoot>\samples\petstoreWeb
  $> ant war
  $> cp petstoreWeb.war $CATALINA_HOME\webapps

Check the Beehive Wiki or your application container's documentation for information about
deploying to other application containers.

Once deployed, if you have not created the tables in your Derby database before, you must do 
this now. Simply go to the home page of the petstore app and click on the link that says
"Initialize the DB".

Testing
=======
The petstore webapp includes a set of HTTPUnit tests that can be used to verify 
the webapp works during development.  These tests require HTTPUnit 1.6 which can be
downloaded from:

  http://httpunit.sourceforge.net/

Once HTTPUnit has been downloaded, set the "httpunit.dir" property in build.properties
so that the JARs can be located by the build file. Also, you must copy junit.jar into 
the $ANT_HOME/lib.

To build the tests, run:

  $> ant test.build

To run the tests, deploy the petstore webapp then run:

  $> ant test.run

To clean the tests, run:

  $> ant test.clean