You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/09/12 00:38:40 UTC

svn commit: r280193 - in /beehive/trunk: ./ docs/forrest/release/src/documentation/content/xdocs/ docs/forrest/release/src/documentation/content/xdocs/controls/ docs/forrest/release/src/documentation/content/xdocs/netui/ netui/test/dist-test/ant/ user/...

Author: ekoneil
Date: Sun Sep 11 15:38:28 2005
New Revision: 280193

URL: http://svn.apache.org/viewcvs?rev=280193&view=rev
Log:
Change the structure of netui-blank to reflect the web project layout guidelines described in the Tomcat docs.  In short, this turns a structure like:

  fooWeb/
    index.jsp
    WEB-INF/
      web.xml
      src/
        Foo.java

into something like:

  fooWeb/
    src/
      Foo.java
    web/
      index.jsp
      WEB-INF/
        web.xml

with the exception of Page Flow source files which are often left in web/ for convenience.  The Ant build support for netui-blank is provided here as well as tweaks to the documentation to reflect this change (and a complete rewrite of sample_netui-blank.xml).

This brings the NetUI web project model into line with the conventions followed in many IDEs and existing web project builds.

Other changes:
- add a "new.netui.webapp" target that acts as a mini command-line wizard for creating a new NetUI web project.  It lives in <dist-root>/beehive-imports.xml.
- add flags for disabling the documentation and samples builds when creating a distribution.  These shouldn't be used when committing changes that could break a distribution, but they're convenient for making "quick" distributions that contain just the runtime without verifying the samples builds or building all of the doc kit / API Javadocs.

BB: self
Test: all DRTs / distribution tests pass / ran clean / build / war on netui-blank in the distribution


Modified:
    beehive/trunk/distribution.xml
    beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/controls/tutorial_controls.xml
    beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/projects.xml
    beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/sample_netui-blank.xml
    beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/tutorial_pageflow.xml
    beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/site.xml
    beehive/trunk/netui/test/dist-test/ant/testWebBuild.xml
    beehive/trunk/user/beehive-imports.xml
    beehive/trunk/user/netui-blank/build.properties
    beehive/trunk/user/netui-blank/build.xml

Modified: beehive/trunk/distribution.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/distribution.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/distribution.xml (original)
+++ beehive/trunk/distribution.xml Sun Sep 11 15:38:28 2005
@@ -73,12 +73,17 @@
 
         <update-dist-readme/>
 
+        <antcall target="verify.dist.samples"/>
+    </target>
+
+    <target name="verify.dist.samples" unless="skip.samples.verify" description="Verify the builds for the samples for a Beehive distribution">
+
         <property name="samples.verify.dir" location="${dist.tmp.dir}/samples-build-verification"/>
         <copy todir="${samples.verify.dir}">
             <fileset dir="${dist.dir}"/>
         </copy>
         <ant antfile="${samples.verify.dir}/samples/wsm-blank/WEB-INF/src/build.xml" target="build" inheritAll="false"/>
-        <ant antfile="${samples.verify.dir}/samples/netui-blank/WEB-INF/src/build.xml" target="build" inheritAll="false"/>
+        <ant antfile="${samples.verify.dir}/samples/netui-blank/build.xml" target="build" inheritAll="false"/>
         <ant antfile="${samples.verify.dir}/samples/controls-blank/build.xml" target="build" inheritAll="false"/>
 
         <ant antfile="${samples.verify.dir}/samples/petstoreWeb/build.xml" target="build" inheritAll="false">
@@ -263,21 +268,7 @@
               file="${beehive.home}/samples/petstoreWeb/build-dist.properties" failOnError="true"/>
 
         <!-- Build the netui-blank distro -->
-        <copy todir="${dist.tmp.dir}/netui-blank">
-            <fileset dir="${beehive.home}/netui/build/dist/webapp">
-                <exclude name="WEB-INF/lib/*.jar"/>
-                <exclude name="WEB-INF/src/build.xml"/>
-            </fileset>
-        </copy>
-
-        <copy todir="${dist.dir}/samples/netui-blank/WEB-INF/src">
-            <fileset dir="${beehive.home}/user/netui-blank" includes="**"/>
-        </copy>
-
-        <!-- finally, move netui-blank from the staging directory into the distribution -->
-        <copy todir="${dist.dir}/samples/netui-blank">
-            <fileset dir="${dist.tmp.dir}/netui-blank"/>
-        </copy>
+        <antcall target="create.netui-blank"/>
 
         <copy todir="${dist.dir}/samples/netui-samples" failOnError="true">
             <fileset dir="samples/netui-samples">
@@ -339,7 +330,7 @@
         </copy>
     </target>
 
-    <target name="build.dist.docs" description="Build the documentation for a Beehive distribution">
+    <target name="build.dist.docs" unless="skip.docs.build" description="Build the documentation for a Beehive distribution">
         <antcall target="build.release.docs"/>
         
         <copy todir="${dist.dir}/docs" failOnError="true">
@@ -356,6 +347,27 @@
         <!-- copy the readme and update it to include the revision number -->
         <copy file="${dist.readme.template}" tofile="${dist.dir}/docs/README.txt" overwrite="true" verbose="true"/>
         <build-dist-readme readmedir="${dist.dir}/docs" revtrailer="${dist.readme.rev.trailer}"/>
+    </target>
+
+    <target name="create.netui-blank">
+        <copy todir="${dist.dir}/samples/netui-blank/src">
+            <fileset dir="${beehive.home}/netui/build/dist/webapp/WEB-INF/src" includes="**">
+                <exclude name="build.xml"/>
+                <exclude name="build.properties"/>
+            </fileset>
+        </copy>
+
+        <copy todir="${dist.dir}/samples/netui-blank/">
+            <fileset dir="${beehive.home}/user/netui-blank" includes="**"/>
+        </copy>
+
+        <copy todir="${dist.dir}/samples/netui-blank/web">
+            <fileset dir="${beehive.home}/netui/build/dist/webapp" includes="**">
+                <exclude name="WEB-INF/src/"/>
+                <exclude name="WEB-INF/classes/"/>
+                <exclude name="WEB-INF/lib/"/>
+            </fileset>
+        </copy>
     </target>
 
     <target name="build.release.docs" unless="skip.docs" description="Builds documentation for a Beehive distribution">

Modified: beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/controls/tutorial_controls.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/controls/tutorial_controls.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/controls/tutorial_controls.xml (original)
+++ beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/controls/tutorial_controls.xml Sun Sep 11 15:38:28 2005
@@ -9,10 +9,12 @@
             <title>Introduction</title>
             <section>
                 <title>Tutorial Goals</title>
-                <p>The Controls tutorial is provided as a way to become familiar with the concepts of Controls in Beehive.  The tutorial
-                   walks through creating, building, and deploying a sample project that uses a Control from a page flow.  <strong>Note:</strong> NetUI Page Flow isn't
-                   required to use Controls; they just provide a convenient way to demonstrate running a Control.  In this tutorial, 
-                   you will learn:</p>
+                <p>
+                The Controls tutorial is provided as a way to become familiar with the concepts of Controls in Beehive.  The tutorial
+                walks through creating, building, and deploying a sample project that uses a Control from a page flow.  
+                <strong>Note:</strong> NetUI is not required to use Controls; they just provide a convenient way to demonstrate 
+                running a Control.  In this tutorial, you will learn:
+                </p>
                 <ul>
                     <li>What Beehive Controls are for and what they do.</li>
                     <li>How to create a Beehive Control interface and implementation.</li>
@@ -27,33 +29,38 @@
             <title>Step 1: Setup a Beehive-enabled Web Application</title>
             <section id="setup_shell">
                 <title>Set Shell Variables</title>
-                <p>Complete all of the necessary and optional steps in the following topic: <a class="fork" href="site:setup">Beehive Installation and Setup</a></p>
+                <p>
+                Complete all of the necessary and optional steps in the following topic: <a class="fork" href="site:setup">Beehive 
+                Installation and Setup</a>
+                 </p>
             </section>
             <section id="setup_make_project">
                 <title>Create a Beehive-enabled Web Project</title>
                 <p>
-                In order to follow the steps in this tutorial, it's necessary to create a Beehive-enabled web application.  Beehive-enabled web applications
-                are described <a href="site:setup">here</a>.  A skeleton Beehive-enabled web project is provided in the samples/ directory as 
-                <a href="site:netui-blank">netui-blank</a>.  This contains a basic Ant build file and an example page flow controller.  To create the
+                In order to follow the steps in this tutorial, it's necessary to create a Beehive-enabled web application.  
+                Beehive-enabled web applications are described <a href="site:setup">here</a>.  A skeleton Beehive-enabled web 
+                project is provided in the samples/ directory as <a href="site:netui-blank">netui-blank</a>.  This contains 
+                a basic Ant build file and an example page flow controller.  To create the
                 web project, copy and then rename the <a href="site:netui-blank">netui-blank</a> project using these steps:
                 </p>
                 <ol>
                 <li>Create a directory <code>/beehive_projects</code> (on Windows, this would be <code>C:\beehive_projects</code>).</li>
-                <li>Copy the folder <code>&lt;BeehiveDistribution>/samples/netui-blank</code> into 
-                    <code>/beehive_projects</code> where <code>&lt;BeehiveDistribution></code> is the directory that contains your 
-                    unzipped copy of a Beehive distribution.  A typical value might be <code>/apache/apache-beehive-1.0</code>.)</li>
-                <li>Rename the folder <code>/beehive_projects/</code><strong><code>netui-blank</code></strong> to 
-                    <code>/beehive_projects/</code><strong><code>controls_tutorial</code></strong></li>
+                <li>Run the Ant target to create a new NetUI project:
+                    <code>ant -f &lt;beehive-root>/beehive-imports.xml</code> and provide a fully-qualified web project root directory
+                    named <code>controls_tutorial</code>.  Note, <code>&lt;beehive-root></code> is the directory that contains a 
+                    Beehive distribution; a typical value might be <code>/apache/apache-beehive-1.0</code>.</li>
                 <li>Before continuing, confirm that the following directory structure exists:</li>
                 </ol>
                 <source>
-/
     beehive_projects/
         controls_tutorial/
-          Controller.java
-          index.jsp
-          resources/
-          WEB-INF/
+            web/
+                Controller.java
+                index.jsp
+                resources/
+                WEB-INF/
+            build.properties
+            build.xml
                 </source>
                 <p>
                 Note, this directory structure is just an example; you are free to put the <code>controls_tutorial</code> 
@@ -64,28 +71,29 @@
             <section id="setup_configure_properties">
                 <title>Configure Build Properties</title>
                 <p>
-                The <code>WEB-INF/src/build.properties</code> file contains several project-related properties that must 
+                The <code>build.properties</code> file contains several project-related properties that must 
                 be set in order to build the web application.  Specifically, the paths to your Beehive distribution and 
                 to the JSP / Servlet API JARs for your application container must be set.  The following steps will set these properties
                 for the <code>controls_tutorial</code> webapp.
                 </p>
                 <ol>
-                <li>Open the file <code>controls_tutorial/WEB-INF/src/build.properties</code> in a text editor.</li>
+                <li>Open the file <code>controls_tutorial/build.properties</code> in a text editor.</li>
                 <li>Edit the <code>beehive.home</code> property so it points to the top-level folder of your Beehive distribution.</li>  
                 <li>Edit the <code>context.path</code> to use the value <code>controls_tutorial</code>.</li>
                 </ol>
                 <note>
                 The <code>context.path</code> property determines both (1) the name of the application WAR file and (2) the application URL.  
                 <br/><br/>
-                If <code>context.path=fooWebApp</code>, then the following WAR file will be produced:
+                If <code>context.path=controls_tutorial</code>, then the following WAR file will be produced:
                 <br/><br/>
-                &nbsp;&nbsp;&nbsp;&nbsp;<strong><code>fooWebApp</code></strong><code>.war</code>
+                &nbsp;&nbsp;&nbsp;&nbsp;<strong><code>controls_tutorial</code></strong><code>.war</code>
                 <br/><br/>
                 and the following URL will invoke the web application:
                 <br/><br/>
-                &nbsp;&nbsp;&nbsp;&nbsp;<code>http://someapplicationserver/</code><strong><code>fooWebApp</code></strong>
+                &nbsp;&nbsp;&nbsp;&nbsp;<code>http://someapplicationserver/</code><strong><code>controls_tutorial</code></strong>
                 </note>
-                <p>For example, if your Beehive distribution is located in <code>/apache/apache-beehive-1.0</code>, 
+                <p>
+                For example, if your Beehive distribution is located in <code>/apache/apache-beehive-1.0</code>, 
                 then your <code>build.properties</code> file would appear as follows.</p>
                 <source>
 beehive.home=<strong>/apache/apache-beehive-1.0</strong>
@@ -94,10 +102,13 @@
 
 context.path=<strong>controls_tutorial</strong>
                 </source>
-                <note>Properties files should use the '/' character to separate drive, directory, and file names.</note>
+                <note>
+                Properties files should use the '/' character to separate drive, directory, and file names.
+                </note>
                 <p>
-                If you are using an application container other than Tomcat, be sure to set the <code>servlet-api.jar</code> and <code>jsp-api.jar</code> properties 
-                to reference the JAR your server provides which contains the JSP and Servlet API classes.
+                If you are using an application container other than Tomcat, be sure to set the <code>servlet-api.jar</code> 
+                and <code>jsp-api.jar</code> properties to reference the JAR your server provides which contains the JSP 
+                and Servlet API classes.
                 </p>
             </section>
             <section id="setup_add_control_files">
@@ -105,16 +116,17 @@
                 <p>
                 This tutorial uses a sample Hello World control that is contained in 
                 <strong><code>&lt;BeehiveDistribution>/samples/controls-blank/src/pkg</code></strong>.  Copy the <code>pkg</code> 
-                sub-directory from this path into the directory <strong><code>controls_tutorial/WEB-INF/src</code></strong>.
+                sub-directory from this path into the directory <strong><code>controls_tutorial/src</code></strong>.
+                </p>
+                <p>
+                Now, confirm that in addition to the files described above that the following directories and files exist:
                 </p>
-                <p>Now, confirm that the following directories and files exist:</p>
                 <source>
 controls_tutorial/
-    WEB-INF/
-        src/
-            pkg/
-                Hello.java
-                HelloImpl.java</source>
+    src/
+        pkg/
+            Hello.java
+            HelloImpl.java</source>
             </section>
             <section id="setup_start_server">
                 <title>Start the Server</title>
@@ -246,11 +258,11 @@
             <section id="create_build_deploy">
                 <title>Compile and Deploy the Web Application</title>
                 <p>You are now ready to compile the page flow and deploy it to Tomcat.</p>
-                <p>The following Ant command assumes that you are in the <code>controls_tutorial/WEB-INF/src</code> directory.  At the command prompt, enter:</p>
-                <source>
-  ant clean build war</source>
                 <p>
-                This will build the webapp by running the Beehive annotation processors and will produce class files in <code>WEB-INF/classes</code>.  
+                The following Ant command assumes that you are in the <code>controls_tutorial</code> directory.  At the command prompt, enter:</p>
+                <source>ant clean build war</source>
+                <p>
+                This will build the webapp by running the Beehive annotation processors and will produce class files in <code>WEB-INF/classes</code>.
                 Now, the application is ready to deploy to your server.  On Tomcat, copy the WAR file into Tomcat's <code>$CATALINA_HOME/webapps</code> 
                 directory.</p>
                 <p>On Windows:</p>
@@ -266,7 +278,9 @@
             <section id="create_run">
                 <title>Test the Control</title>
                 <p>Visit the following address in a web browser:</p>
-                <p class="quote"><a class="fork" href="http://localhost:8080/controls_tutorial/begin.do">http://localhost:8080/controls_tutorial/begin.do</a></p>
+                <p class="quote">
+                    <a class="fork" href="http://localhost:8080/controls_tutorial/begin.do">http://localhost:8080/controls_tutorial/begin.do</a>
+                </p>
                 <p>This will render the <code>index.jsp</code> page.</p>
                 <p>Note the message on the page: "hello!" which is provided by <code>Hello</code> control.</p>
             </section>

Modified: beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/projects.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/projects.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/projects.xml (original)
+++ beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/projects.xml Sun Sep 11 15:38:28 2005
@@ -298,10 +298,10 @@
             <table>
               <tr><th>Name</th><th>Location</th><th>Required</th></tr>
               <tr>
-                  <td>beehive-netui-validator-rules.xml</td><td><code>&lt;beehive-root&gt;/samples/netui-blank/WEB-INF/</code></td><td>Yes</td>
+                  <td>beehive-netui-validator-rules.xml</td><td><code>&lt;beehive-root&gt;/samples/netui-blank/web/WEB-INF/</code></td><td>Yes</td>
               </tr>
               <tr>
-                  <td>validator-rules.xml</td><td><code>&lt;beehive-root&gt;/samples/netui-blank/WEB-INF/</code></td><td>Yes</td>
+                  <td>validator-rules.xml</td><td><code>&lt;beehive-root&gt;/samples/netui-blank/web/WEB-INF/</code></td><td>Yes</td>
               </tr>
               <tr>
                   <td>beehive-netui-config.xml</td>

Modified: beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/sample_netui-blank.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/sample_netui-blank.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/sample_netui-blank.xml (original)
+++ beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/sample_netui-blank.xml Sun Sep 11 15:38:28 2005
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
-    "http://forrest.apache.org/dtd/document-v20.dtd">
+                          "http://forrest.apache.org/dtd/document-v20.dtd">
 <document>
     <header>
         <title>NetUI Project Template</title>
@@ -9,89 +9,105 @@
         <section id="intro">
             <title>Introduction</title>
             <p>
-            Use the NetUI application template (located at <code>&lt;BeehiveRoot>/samples/netui-blank</code>) as a 
-            starting point for building your own NetUI applications.
+            NetUI enabled web applications require a set of JARs, XML configuration files, and <code>web.xml</code> entries.  
+            In order to make it easy to get started with a NetUI web application, the <code>samples/netui-blank</code> project
+            template is available in the Beehive distribution.  Use this as a starting point for building new NetUI-enabled
+            applications.  This document describes how to build a new NetUI-enabled application from the <code>netui-blank</code> 
+            project template.
             </p>
             <note>
-            &lt;BeehiveRoot> refers to the top-level directory of your Beehive installation.  A typical value for &lt;BeehiveRoot> 
-            would be <code>/apache/apache-beehive-1.0</code>.
+            In the documentation below, &lt;beehive-root> refers to the top-level directory of your local Beehive installation.  
+            A typical value for &lt;beehive-root> would be <code>/apache/apache-beehive-1.0</code>.
             </note>
-            <p>
-            The template contains everything needed in a basic NetUI application, except for the runtime and &lt;netui&gt; tag library 
-            JAR files. This topic explains how to add those JAR files and get the template up and running.
-            </p>
         </section>
         <section id="using">
             <title>Using the NetUI Webapp Template</title>
             <p>
             The following instruction assume that you have completed all of required and optional steps in the Beehive set up procedure at 
-            <a href="site:../setup">Installation and Setup</a>.
+            <a href="site:setup">Installation and Setup</a>.
             </p>
             <p>
-            To use the template, follow these steps:
+            To use the <code>netui-blank</code> template, follow these steps:
             </p>
-            <section id="copy_rename">
-                <title>Copy and Rename the Template Folder</title>
+            <section id="copyAndRename">
+                <title>Create a New Webapp</title>
                 <p>
-                Copy the folder <code>&lt;BeehiveRoot>/samples/netui-blank</code> to your development directory. 
+                A new NetUI web project can be created by running the following Ant command from <code>&lt;beehive-root</code>:
                 </p>
+                <source>ant -f beehive-imports.xml new.netui.webapp</source>
                 <p>
-                Below we assume that you have copied <code>netui-blank</code> into the folder <strong><code>/myDevelopmentDirectory</code></strong>.
+                This will prompt you for a fully-qualified path for your web project.  For example, the following path 
+                <code>/projects/fooWeb</code> would create a project layout similar to that described 
+                <a href="site:sourceOut">here</a>.
+                This project will include the runtime, configuration files / entries, and a basic Ant build.xml file.
+                The description below assumes that you have created the NetUI-enabled web project <code>fooWeb</code> under a
+                <code>projects/</code> directory.
                 </p>
-                <source>/myDevelopmentDirectory/netui-blank</source>
-                <p>
-                Rename <code>netui-blank</code> to something more appropriate to your application. Below we assume that <code>netui-blank</code> has been 
-                renamed as <strong><code>myWebApplication</code></strong>.
-                </p>
-                <source>/myDevelopmentDirectory/myWebApplication</source>
             </section>            
-            <section id="edit_properties_file"><title>Edit the <code>build.properties</code> File</title>
-                <p>
-                In this section you will edit the <code>build.properties</code> file -- the file that sets the build-related 
-                properties for your web application.
-                </p>
+            <section id="configureProperties">
+                <title>Configure the Webapp's Build Properties</title>
                 <p>
-                Open the file <code>/myDevelopmentDirectory/myWebApplication/WEB-INF/src/build.properties</code> in a text editor.
+                In this section you will edit the <code>build.properties</code> file in order to set build-related
+                paths and values for your web project.
                 </p>
                 <p>
-                Edit the <code>beehive.home</code> property so that it points to the top-level folder of your beehive installation.
-                </p>
+                Open the file <code>/projects/fooWeb/build.properties</code> in a text editor and edit the following
+                properties:
+                </p>
+                <ul>
+                <li>Set the <code>beehive.home</code> property to point to the top-level folder of your Beehive installation.</li>
+                <li>
+                Set the <code>context.path</code> property to some value that is appropriate to your web application.  This
+                value is used when the web-project is built into a <code>.war</code> archive.  When deploying the 
+                <code>.war</code> archive, it also often determines thecontext path for the web project when deployed to the server.
+                </li>
+                </ul>
                 <p>
-                Edit the <code>context.path</code> property to some value that is appropriate to your web application.
-                </p>
-                <p>
-                For example, if you beehive installation resides at <code>/apache/apache-beehive-1.0</code>, then your 
-                <code>build.properties</code> file would appear as follows.
-                </p>
-                <p>
-                <strong>Note:</strong> the value of <code>&lt;SomeContext></code> will determine the web application's URL address.
+                For example, if Beehive is installed at <code>/apache/apache-beehive-1.0</code>, and you created a project named 
+                <code>fooWeb</code> then your <code>build.properties</code> file might appear as follows:
                 </p>
 <source>beehive.home=<strong>/apache/apache-beehive-1.0</strong>
 
 servlet-api.jar=${os.CATALINA_HOME}/common/lib/servlet-api.jar
 jsp-api.jar=${os.CATALINA_HOME}/common/lib/jsp-api.jar
 
-context.path=<strong>&lt;SomeContext></strong></source>
+context.path=<strong>fooWeb</strong></source>
                 <note>
                 Properties files should use the '/' character to separate drive, directory, and file names.
                 </note>
+                <note>
+                This <code>.properties</code> file also assumes that you are using Tomcat as your Servlet container.  
+                If you are not using Tomcat, set the paths to the Servlet and JSP API classes appropriately for your
+                container.  In some cases, these may point to the same JAR.
+                </note>
             </section>
             <section id="build">
-                <title>Build the Template Web App</title>
+                <title>Build the Webapp</title>
+                <p>
+                By default, the build associated with a new NetUI-enabled webapp stores the Ant <code>build.xml</code> file
+                in the project's root directory; in the example above, this is the <code>projects/fooWeb</code> directory. 
+                </p>
+                <p>
+                To build the webapp, run <code>ant build</code>.  This will create a <code>build/</code>
+                directory into which the webapp's resources are copied and Java source files are compiled.  This 
+                <code>build</code> directory will be archived when creating a <code>.war</code> file.  It can also
+                be deployed, exploded directly to the server.
+                </p>
+                <p>
+                To clean the webapp, run <code>ant clean</code>.  
+                </p>
                 <p>
-                To build the web app, run the following Ant command.  This Ant command will delete any build artifacts in 
-                the <code>WEB-INF/classes</code> directory, compile the web application source, and archive the result as a WAR 
-                file.  The WAR file will be saved at <code>/myDevelopmentmentDirectory/</code>.  The name of the WAR file 
-                will be <code>&lt;SomeContext>.war</code>.  The following command should be exuecuted from the web project's
-                WEB-INF/src directory where the Ant build files are stored:
+                To create a <code>.war</code> file, run <code>ant war</code>.
                 </p>
-<source>ant clean build war</source>
+                <p> 
+                To update the JSPs when doing iterative development, run <code>ant copy.jsps</code>.
+                </p>  
             </section>
-            <section id="deploy_run">
-                <title>To Deploy and Run the Template Web App</title>
+            <section id="deployAndRun">
+                <title>Deploy and Run the Web App</title>
                 <p>
                 If you are using Tomcat, the web application can be deployed by copying the built <code>.war</code> file 
-                from <code>webDevelopmentDirectory/&lt;SomeContext>.war</code> to Tomcat's <code>webapps</code> directory.
+                from <code>projects/fooWeb/fooWeb.war</code> to Tomcat's <code>webapps</code> directory.
                 </p>
                 <p>
                 If you are using a different Servlet container, follow your container's deployment instructions for deploying
@@ -99,7 +115,7 @@
                 </p>
                 <p>
                 Once the web application is deployed, you can run your web application by accessing the following URL from
-                a browser: http://localhost:8080/<strong>&lt;SomeContext></strong>/
+                a browser: http://localhost:8080/<strong>&lt;fooWeb</strong>/
                 </p>
             </section>
         </section>
@@ -107,7 +123,7 @@
     <footer>
         <legal>
         Java, J2EE, and JCP are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other 
-        countries.<br/> &copy; 2004, Apache Software Foundation
+        countries.<br/> &copy; 2004-2005, Apache Software Foundation
         </legal>
     </footer>
 </document>

Modified: beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/tutorial_pageflow.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/tutorial_pageflow.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/tutorial_pageflow.xml (original)
+++ beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/netui/tutorial_pageflow.xml Sun Sep 11 15:38:28 2005
@@ -63,21 +63,22 @@
                 </p>
                 <ol>
                 <li>Create a directory <code>/beehive_projects</code> (on Windows, this would be <code>C:\beehive_projects</code>).</li>
-                <li>Copy the folder <code>&lt;BeehiveDistribution>/samples/netui-blank</code> into 
-                    <code>/beehive_projects</code> where <code>&lt;BeehiveDistribution></code> is the directory that contains your 
-                    unzipped copy of a Beehive distribution.  A typical value might be <code>/apache/apache-beehive-1.0</code>.)</li>
-                <li>Rename the folder <code>/beehive_projects/</code><strong><code>netui-blank</code></strong> to 
-                    <code>/beehive_projects/</code><strong><code>pageflow_tutorial</code></strong></li>
+                <li>Run the Ant target to create a new NetUI project:
+                    <code>ant -f &lt;beehive-root>/beehive-imports.xml</code> and provide a fully-qualified web project root directory
+                    named <code>pageflow_tutorial</code>.  Note, <code>&lt;beehive-root></code> is the directory that contains a 
+                    Beehive distribution; a typical value might be <code>/apache/apache-beehive-1.0</code>.</li>
                 <li>Before continuing, confirm that the following directory structure exists:</li>
                 </ol>
                 <source>
-/
     beehive_projects/
         pageflow_tutorial/
-          Controller.java
-          index.jsp
-          resources/
-          WEB-INF/
+            web/
+                Controller.java
+                index.jsp
+                resources/
+                WEB-INF/
+            build.properties
+            build.xml
 </source>
                 <p>
                 Note, this directory structure is just an example; you are free to put the <code>pageflow_tutorial</code> 
@@ -88,26 +89,26 @@
             <section id="setup_configure_properties">
                 <title>Configure Build Properties</title>
                 <p>
-                The <code>WEB-INF/src/build.properties</code> file contains several project-related properties that must 
+                The <code>build.properties</code> file contains several project-related properties that must 
                 be set in order to build the web application.  Specifically, the paths to your Beehive distribution and 
                 to the JSP / Servlet API JARs for your application container must be set.  The following steps will set these properties
                 for the <code>pageflow_tutorial</code> webapp.
                 </p>
                 <ol>
-                <li>Open the file <code>pageflow_tutorial/WEB-INF/src/build.properties</code> in a text editor.</li>
+                <li>Open the file <code>pageflow_tutorial/build.properties</code> in a text editor.</li>
                 <li>Edit the <code>beehive.home</code> property so it points to the top-level folder of your Beehive distribution.</li>  
                 <li>Edit the <code>context.path</code> to use the value <code>pageflow_tutorial</code>.</li>
                 </ol>
                 <note>
                 The <code>context.path</code> property determines both (1) the name of the application WAR file and (2) the application URL.  
                 <br/><br/>
-                If <code>context.path=fooWebApp</code>, then the following WAR file will be produced:
+                If <code>context.path=pageflow_tutorial</code>, then the following WAR file will be produced:
                 <br/><br/>
-                &nbsp;&nbsp;&nbsp;&nbsp;<strong><code>fooWebApp</code></strong><code>.war</code>
+                &nbsp;&nbsp;&nbsp;&nbsp;<strong><code>pageflow_tutorial</code></strong><code>.war</code>
                 <br/><br/>
                 and the following URL will invoke the web application:
                 <br/><br/>
-                &nbsp;&nbsp;&nbsp;&nbsp;<code>http://someapplicationserver/</code><strong><code>fooWebApp</code></strong>
+                &nbsp;&nbsp;&nbsp;&nbsp;<code>http://someapplicationserver/</code><strong><code>pageflow_tutorial</code></strong>
                 </note>
                 <p>For example, if your Beehive distribution is located in <code>/apache/apache-beehive-1.0</code>, 
                 then your <code>build.properties</code> file would appear as follows.</p>
@@ -119,8 +120,9 @@
 context.path=<strong>pageflow_tutorial</strong></source>
                 <note>Properties files should use the '/' character to separate drive, directory, and file names.</note>
                 <p>
-                If you are using an application container other than Tomcat, be sure to set the <code>servlet-api.jar</code> and <code>jsp-api.jar</code> properties 
-                to reference the JAR your server provides which contains the JSP and Servlet API classes.
+                If you are using an application container other than Tomcat, be sure to set the <code>servlet-api.jar</code> and 
+                <code>jsp-api.jar</code> properties to reference the JAR your server provides which contains the JSP and Servlet 
+                API classes.
                 </p>
             </section>
             <section id="setup_start_server">
@@ -275,8 +277,7 @@
             <section id="create_build_deploy">
                 <title>Compile and Deploy the Web Application</title>
                 <p>You are now ready to compile the page flow and deploy it to Tomcat.</p>
-                <p>The following Ant command assumes that you are in the <code>pageflow_tutorial/WEB-INF/src</code> 
-                   directory.  At the command prompt, enter:</p>
+                <p>The following Ant command assumes that you are in the <code>pageflow_tutorial/</code> directory.  At the command prompt, enter:</p>
                 <source>
 ant clean build war
 </source>
@@ -307,7 +308,7 @@
             <title>Step 3: Navigation</title>
             <section id="navigate_create_page">
                 <title>Create a Destination JSP</title>
-                <p>In the directory <code>pageflow_tutorial</code>, create a file named <code>page2.jsp</code>.</p>
+                <p>In the directory <code>pageflow_tutorial/web</code>, create a file named <code>page2.jsp</code>.</p>
                 <p>Edit page2.jsp so it appears as follows.</p>
                 <p><strong><code>page2.jsp</code></strong></p>                
                 <source><![CDATA[
@@ -330,7 +331,7 @@
             <section id="navigate_create_link"> 
                 <title>Create a Link to the Destination Page</title>
                 <p>In this step you will create a link from the JSP, <code>index.jsp</code> to a new Simple Action that you will add to the controller class.</p>
-                <p>Open the file <code>pageflow_tutorial/index.jsp</code>.</p>
+                <p>Open the file <code>pageflow_tutorial/web/index.jsp</code>.</p>
                 <p>Edit <code>index.jsp</code> so it appears as follows.  The code to add appears in bold type.</p>
         <p><strong><code>index.jsp</code></strong></p>
         <source>
@@ -356,7 +357,7 @@
             </section>
             <section id="navigate_add_action">
                 <title>Add a Simple Action to Handle the Link</title>
-                <p>Open the file <code>pageflow_tutorial/Controller.java</code>.</p>
+                <p>Open the file <code>pageflow_tutorial/web/Controller.java</code>.</p>
                 <p>Edit <code>Controller.java</code> so it appears as follows.  Don't forget the comma after the first <code>Jpf.SimpleAction(...)</code> element!</p>
                 <p><strong><code>Controller.java</code></strong></p>                
                 <source>
@@ -405,7 +406,7 @@
                 <title>Create a Submission Form</title>
                 <p>This step illustrates the use of custom tags to render an HTML form tag and link it to an Action.
                     In a later step, the new Action will be added to the controller class to handle the data submission.</p>
-                <p>Edit the file <code>pageflow_tutorial/page2.jsp</code> so it appears as follows.</p>
+                <p>Edit the file <code>pageflow_tutorial/web/page2.jsp</code> so it appears as follows.</p>
                 <p><strong><code>page2.jsp</code></strong></p>                
                 <source>
 &lt;%@ page language="java" contentType="text/html;charset=UTF-8"%>
@@ -435,9 +436,9 @@
             <section id="forms_create_formbean">
                 <title>Create a Server Side Representation of the Submission Form (a.k.a. Create a Form Bean)</title>
                 <p>In this step you will create a Java class that represents the submission form created in the previous task.  When the form data is submitted, the Java class will be instantiated, and the form data will be loaded into the members of the Java class.</p>
-                <p>In the directory <code>pageflow_tutorial/WEB-INF/src</code> create a directory named <strong><code>forms</code></strong>.</p>
-                <p>In the directory <code>pageflow_tutorial/WEB-INF/src/forms</code> create a JAVA file named <strong><code>ProfileForm.java</code></strong>.</p>
-                <p>Edit <code>pageflow_tutorial/WEB-INF/src/forms/ProfileForm.java</code> so it appears as follows.</p>
+                <p>In the directory <code>pageflow_tutorial/src</code> create a directory named <strong><code>forms</code></strong>.</p>
+                <p>In the directory <code>pageflow_tutorial/src/forms</code> create a JAVA file named <strong><code>ProfileForm.java</code></strong>.</p>
+                <p>Edit <code>pageflow_tutorial/src/forms/ProfileForm.java</code> so it appears as follows.</p>
                 
                 <p><strong><code>ProfileForm.java</code></strong></p>
                     <source>
@@ -471,7 +472,7 @@
                 <title>Edit the Controller Class to Handle the Submitted Data</title>
                 <p>Now you will add a new Action and use your new Form Bean to handle the data
                 submitted from the HTML form.</p>
-                <p>Open the file <code>pageflow_tutorial/Controller.java</code>
+                <p>Open the file <code>pageflow_tutorial/web/Controller.java</code>
                 </p>
                 <p>Edit <code>Controller.java</code> so it appears as follows.  Code to add appears in bold type.</p>
                 
@@ -536,7 +537,7 @@
             <section id="create_jsp">
                 <title>Create a JSP to Display Submitted Data</title>
                 <p>In this step you will create a new JSP to present the results from processing the data submission.</p>
-                <p>In the directory <code>pageflow_tutorial</code> create a file named 
+                <p>In the directory <code>pageflow_tutorial/web</code> create a file named 
                     <strong><code>displayData.jsp</code></strong>. </p>
                 <p>Edit <code>displayData.jsp</code> so it appears as follows.</p>
                 
@@ -612,7 +613,7 @@
                     for the name field of the form so that it will (1) be a required field and 
                     (2) have a maximum length of 30 characters. The age field will also be required and must have a value 
                     in the range 0 to 130.</p>
-                <p>Open the file <code>pageflow_tutorial/Controller.java</code></p>
+                <p>Open the file <code>pageflow_tutorial/web/Controller.java</code></p>
                 <p>
                     Edit the
                     <a href="../apidocs/classref_netui/org/apache/beehive/netui/pageflow/annotations/Jpf.Action.html">
@@ -659,7 +660,7 @@
             <section id="validation_display_errors">
                 <title>Modify the JSP to Display Validation Errors</title>
                 <p>Add the <code>&lt;netui:error></code> tag to display validation error messages on the page.</p>
-                <p>Edit the file <code>pageflow_tutorial/page2.jsp</code> so it appears as follows.</p>
+                <p>Edit the file <code>pageflow_tutorial/web/page2.jsp</code> so it appears as follows.</p>
                 <p><strong><code>page2.jsp</code></strong></p>
                 <source>&lt;%@ page language="java" contentType="text/html;charset=UTF-8"%>
 &lt;%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
@@ -706,12 +707,10 @@
             <title>Step 7: Collect Data from a Nested Page Flow</title>
             <section id="nested_link">
                 <title>Link to the Nested Page Flow</title>
-                <p>In this task you will modify the HTML form tag to (1) add a new data field and (2) 
-                add a button linking to an
-                    Action in a nested page flow. (Later you will create the nested controller class
-                     to handle the data collection.)</p>
-                <p>Edit the file <code>pageflow_tutorial/page2.jsp</code> so it
-                    appears as follows. Code to add appears in bold.</p>
+                <p>
+                In this task you will modify the HTML form tag to (1) add a new data field and (2) add a button linking to 
+                an Action in a nested page flow. (Later you will create the nested controller class to handle the data collection.)</p>
+                <p>Edit the file <code>pageflow_tutorial/web/page2.jsp</code> so it appears as follows. Code to add appears in bold.</p>
                 <p><strong><code>page2.jsp</code></strong></p>
                 <source>&lt;%@ page language="java" contentType="text/html;charset=UTF-8"%>
 &lt;%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
@@ -744,11 +743,14 @@
             </section>
             <section id="nested_update_formbean">
                 <title>Update the Form Bean</title>
-                <p>In this task you will update the Java class that represents the submission form with the
-                    additional data field created in the previous task.  When the nested page flow returns,
-                    the new member of the Form Bean class instance can be loaded with the value collected.</p>
-                <p>Edit <code>pageflow_tutorial/WEB-INF/src/forms/ProfileForm.java</code>
-                    and add the following member variable and methods.</p>
+                <p>
+                In this task you will update the Java class that represents the submission form with the
+                additional data field created in the previous task.  When the nested page flow returns,
+                the new member of the Form Bean class instance can be loaded with the value collected.
+                </p>
+                <p>
+                Edit <code>pageflow_tutorial/src/forms/ProfileForm.java</code> and add the following member variable and methods.
+                </p>
                 <p><strong><code>ProfileForm.java</code></strong></p>
                 <source>
     ...
@@ -771,7 +773,7 @@
                 <title>To Launch and Return from the Nested Page Flow</title>
                 <p>In this task you will add Action methods: one to handle forwarding to the nested page flow and another to
                     implement the return Action when the nested page flow completes.</p>
-                <p>Open the file <code>pageflow_tutorial/Controller.java</code></p>
+                <p>Open the file <code>pageflow_tutorial/web/Controller.java</code></p>
                 <p>Edit <code>Controller.java</code> so it appears as follows.  Code to add appears
                     in bold type. Don't forget to add the <code>useFormBean</code> property to the
                     <a href="../apidocs/classref_netui/org/apache/beehive/netui/pageflow/annotations/Jpf.Action.html">
@@ -877,12 +879,14 @@
                     field for the user's choice of sport activity. The options to be displayed are
                     declared as member data of this nested page flow. After the user confirms the
                     data, the nested page flow returns a <code>String</code> to the main page flow.</p>
-                <p>In the directory <code>pageflow_tutorial/</code> create a directory
-                    named <strong><code>sports</code></strong>.</p>
-                <p>In the directory <code>pageflow_tutorial/sports</code> create a JAVA
-                    file named <strong><code>SportsController.java</code></strong>.</p>
-                <p>Edit <code>pageflow_tutorial/sports/SportsController.java</code> so it
-                    appears as follows.</p>
+                <p>
+                In the directory <code>pageflow_tutorial/web</code> create a directory named <strong><code>sports</code></strong>.
+                </p>
+                <p>
+                In the directory <code>pageflow_tutorial/web/sports</code> create a Java file named 
+                <strong><code>SportsController.java</code></strong>.
+                </p>
+                <p>Edit <code>pageflow_tutorial/web/sports/SportsController.java</code> so it appears as follows.</p>
 
                 <p><strong><code>SportsController.java</code></strong></p>
                 <source>
@@ -956,7 +960,7 @@
                 <title>To Present and Collect Data using a Form</title>
                 <p>This task illustrates the use of custom tags to render a radio button group in an HTML form and 
                    link it to the nested page flow <code>selectSport</code> Action method.</p>
-                <p>In the directory <code>pageflow_tutorial/sports</code>, create a file named <code>index.jsp</code>.</p>
+                <p>In the directory <code>pageflow_tutorial/web/sports</code>, create a file named <code>index.jsp</code>.</p>
                 <p>Edit index.jsp so it appears as follows.</p>
                 <p><strong><code>index.jsp</code></strong></p>
                 <source><![CDATA[
@@ -992,8 +996,7 @@
             </section>
             <section id="nested_confirm_data">
                 <title>Confirm the Selected Data</title>
-                <p>In the directory <code>pageflow_tutorial/sports</code>, create
-                    a file named <code>confirm.jsp</code>.</p>
+                <p>In the directory <code>pageflow_tutorial/web/sports</code>, create a file named <code>confirm.jsp</code>.</p>
                 <p>Edit confirm.jsp so it appears as follows.</p>
                 <p><strong><code>confirm.jsp</code></strong></p>
                 <source><![CDATA[
@@ -1022,7 +1025,7 @@
             <section id="nested_display_data">
                 <title>Update the JSP to Display Submitted Data</title>
                 <p>In this step you will update the JSP to present the results from processing the data submission.</p>
-                <p>In the directory <code>pageflow_tutorial</code> update the file named
+                <p>In the directory <code>pageflow_tutorial/web</code> update the file named
                     <strong><code>displayData.jsp</code></strong> and add code to display the additional data.
                     The code to add appears in bold type.</p>
                 <p>Edit <code>displayData.jsp</code> so it appears as follows.</p>
@@ -1074,8 +1077,7 @@
             <title>Step 8: Adding Actions to a Shared Flow</title>
             <section id="sharedflow_page">
                 <title>To Create a Common Destination JSP</title>
-                <p>In the directory <code>pageflow_tutorial</code>, create a
-                    file named <code>help.jsp</code>.</p>
+                <p>In the directory <code>pageflow_tutorial/web</code>, create a file named <code>help.jsp</code>.</p>
                 <p>Edit help.jsp so it appears as follows.</p>
                 <p><strong><code>help.jsp</code></strong></p>
                 <source><![CDATA[
@@ -1099,7 +1101,7 @@
                 <title>To Make an Action available to multiple Page Flows</title>
                 <p>In this task you will add a Simple Action to the existing Shared Flow.  The Action forwards to the 
                     help page created in the previous task and will be available to multiple page flows in the application.</p>
-                <p>Open the existing Shared Flow file <code>pageflow_tutorial/WEB-INF/src/shared/SharedFlow.java</code></p>
+                <p>Open the existing Shared Flow file <code>pageflow_tutorial/src/shared/SharedFlow.java</code></p>
                 <p>
                     Edit the
                     <a href="../apidocs/classref_netui/org/apache/beehive/netui/pageflow/annotations/Jpf.Controller.html">
@@ -1130,7 +1132,7 @@
                 <title>To Link a Page to the Shared Flow Action</title>
                 <p>In this task you will create a link from the JSP, <code>index.jsp</code> to the
                     Shared Flow Action.</p>
-                <p>Open the file <code>pageflow_tutorial/index.jsp</code>.</p>
+                <p>Open the file <code>pageflow_tutorial/web/index.jsp</code>.</p>
                 <p>Edit <code>index.jsp</code> so it appears as follows.  The code to add appears in bold type.</p>
                 <p><strong><code>index.jsp</code></strong></p>
                 <source>&lt;%@ page language="java" contentType="text/html;charset=UTF-8"%>

Modified: beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/site.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/site.xml (original)
+++ beehive/trunk/docs/forrest/release/src/documentation/content/xdocs/site.xml Sun Sep 11 15:38:28 2005
@@ -21,7 +21,9 @@
                     <pageflow_jspOverview_SimpleLinking href="#SimpleLinking" />
                     <pageflow_jspOverview_StartingJSP href="#StartingJSP" />
                 </pageflow_jsp>
-                <netuiProjects label="Project Model" href="netui/projects.html"/>
+                <netuiProjects label="Project Model" href="netui/projects.html">
+                    <sourceOut href="#projectLayoutSourceOut"/>
+                </netuiProjects>
                 <pageflow_altering label="Altering a Page Flow" href="netui/alteringPageFlow.html"/>
             </netuiIntro>
             <netuiBasic label="Basic Topics">

Modified: beehive/trunk/netui/test/dist-test/ant/testWebBuild.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/dist-test/ant/testWebBuild.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/netui/test/dist-test/ant/testWebBuild.xml (original)
+++ beehive/trunk/netui/test/dist-test/ant/testWebBuild.xml Sun Sep 11 15:38:28 2005
@@ -106,7 +106,7 @@
          <deploy-netui webappDir="${webapp.dir}"/>
 
          <copy todir="${webapp.dir}/WEB-INF">
-              <fileset dir="${dist.home}/samples/netui-blank/WEB-INF" includes="*.xml"/>
+              <fileset dir="${dist.home}/samples/netui-blank/web/WEB-INF" includes="*.xml"/>
          </copy>
     </target>
     

Modified: beehive/trunk/user/beehive-imports.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/user/beehive-imports.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/user/beehive-imports.xml (original)
+++ beehive/trunk/user/beehive-imports.xml Sun Sep 11 15:38:28 2005
@@ -24,6 +24,7 @@
 <project name="beehive-imports" default="" basedir=".">
 
     <property environment="os"/>
+
     <dirname property="this.dir" file="${ant.file.beehive-imports}"/>
 
     <path id="controls.dependency.path">
@@ -74,10 +75,28 @@
         </sequential>
     </macrodef>
 
+    <target name="new.netui.webapp" description="Create a new NetUI-enabled Beehive webapp">
+        <input message="Provide a fully-qualified web project path (like c:\java\projects\fooWeb):" addproperty="webapp.dir"/>
+
+        <copy todir="${webapp.dir}">
+            <fileset dir="${basedir}/samples/netui-blank">
+                <include name="**/*"/>
+            </fileset>
+        </copy>
+   
+        <echo>
+Created a NetUI-enabled in ${webapp.dir}.  
+
+Set the appropriate properties in ${webapp.dir}/build.properties.  
+
+Then run "ant build" in ${webapp.dir} to copy the runtime JARs and build the project.
+        </echo>
+    </target>
+
     <target name="usage" description="Print the usage for this build.xml">
         <java fork="no" classname="org.apache.tools.ant.Main">
             <arg line="-f ${ant.file} -projecthelp"/>
         </java>
     </target>
 
-</project>
\ No newline at end of file
+</project>

Modified: beehive/trunk/user/netui-blank/build.properties
URL: http://svn.apache.org/viewcvs/beehive/trunk/user/netui-blank/build.properties?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/user/netui-blank/build.properties (original)
+++ beehive/trunk/user/netui-blank/build.properties Sun Sep 11 15:38:28 2005
@@ -1,9 +1,9 @@
 #
 #
 #
-beehive.home=../../../..
+beehive.home=../..
 
 servlet-api.jar=${os.CATALINA_HOME}/common/lib/servlet-api.jar
 jsp-api.jar=${os.CATALINA_HOME}/common/lib/jsp-api.jar
 
-context.path=netui-blank
\ No newline at end of file
+context.path=netui-blank

Modified: beehive/trunk/user/netui-blank/build.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/user/netui-blank/build.xml?rev=280193&r1=280192&r2=280193&view=diff
==============================================================================
--- beehive/trunk/user/netui-blank/build.xml (original)
+++ beehive/trunk/user/netui-blank/build.xml Sun Sep 11 15:38:28 2005
@@ -20,74 +20,89 @@
 <!--
   An Ant build file for compiling a Beehive page flow web application.
 -->
-<project name="Beehive/Samples/netui-blank" default="usage" basedir="../..">
+<project name="Beehive/Samples/netui-blank" default="usage" basedir=".">
 
     <property environment="os"/>
-    <property file="${basedir}/WEB-INF/src/build.properties"/>
+    <property file="${basedir}/build.properties"/>
 
     <import file="${beehive.home}/beehive-imports.xml"/>
     <import file="${beehive.home}/ant/beehive-tools.xml"/>
 
     <property name="webapp.dir" location="${basedir}"/>
+    <property name="build.dir" location="build"/>
+    <property name="web.dir" location="web"/>
+    <property name="src.dir" location="src"/>
 
     <property name="tmp.sourcegen.dir" value=".tmpbeansrc"/>
 
     <!-- Define the classpath used to build the webapp -->
-    <path id="webapp.build.classpath">
+    <path id="webapp.classpath"> 
         <pathelement location="${servlet-api.jar}"/>
         <pathelement location="${jsp-api.jar}"/>
-        <pathelement location="${webapp.dir}/WEB-INF/classes"/>
-        <fileset dir="${webapp.dir}/WEB-INF/lib">
+        <pathelement location="${build.dir}/WEB-INF/classes"/>
+        <fileset dir="${build.dir}/WEB-INF/lib">
             <include name="*.jar"/>
         </fileset>
     </path>    
 
-    <!-- Define the sourcepath used to build the webapp -->
-    <path id="webapp.build.sourcepath">
-        <pathelement location="${webapp.dir}"/>
-        <pathelement location="${webapp.dir}/WEB-INF/src"/>
-    </path>    
-
-    <target name="deploy-beehive" description="Copy the Beehive page flow and web service rutime into the target webapp">
-        <deploy-netui webappDir="${webapp.dir}"/>
-        <deploy-wsm webappDir="${webapp.dir}"/>
+    <target name="deploy-beehive" description="Copy the Beehive Page Flow rutime into the target webapp">
+        <mkdir dir="${build.dir}"/>
+        <deploy-netui webappDir="${build.dir}"/>
     </target>
 
     <target name="build" depends="deploy-beehive" description="Build the webapp">
         <available property="webapp.dir.available" file="${webapp.dir}" type="dir"/>
         <fail unless="webapp.dir.available" message="Can't find the webapp directory ${webapp.dir}"/>
 
-        <!-- 
-            this directory needs to get whacked before every build so 
-            that control interface repackagings don't cause stale
-            files to be compiled 
-          -->
-        <delete dir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}" includeEmptyDirs="true"/>
+        <copy todir="${build.dir}/">
+            <fileset dir="${web.dir}">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </copy>
 
-        <mkdir dir="${webapp.dir}/WEB-INF/classes"/>
+        <copy todir="${build.dir}/WEB-INF/classes">
+            <fileset dir="${src.dir}/">
+                <include name="sql/**"/>
+                <include name="**/*.properties"/>
+                <include name="**/*.xml"/>
+            </fileset>
+        </copy>
 
         <!-- compile XSDs -->
-        <build-schemas srcdir="${webapp.dir}/WEB-INF/schemas" destdir="${webapp.dir}/WEB-INF/classes"/>
+        <echo>Building XML Schemas</echo>
+        <build-schemas srcdir="${basedir}/schemas"
+                       destDir="${build.dir}/WEB-INF/classes"/>
 
         <!-- compile controls -->
-        <build-controls srcdir="${webapp.dir}/WEB-INF/src" 
-                        destdir="${webapp.dir}/WEB-INF/classes" 
-                        tempdir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}"
-                        classpathref="webapp.build.classpath"/>
+        <echo>Building Controls</echo>
+        <build-controls srcdir="${basedir}/src"
+                        destdir="${build.dir}/WEB-INF/classes" 
+                        tempdir="${build.dir}/WEB-INF/${tmp.sourcegen.dir}"
+                        classpathRef="webapp.classpath"/>
 
         <!-- compile JPFs -->
-        <build-pageflows webcontentdir="${webapp.dir}"
-                         srcdir="${webapp.dir}" 
-                         classoutputdir="${webapp.dir}/WEB-INF/classes" 
-                         tempdir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}"
-                         classpathref="webapp.build.classpath"
-                         sourcepathref="webapp.build.sourcepath"/>
+        <echo>Building Page Flows</echo>
+        <build-pageflows srcdir="${web.dir}"
+                         webcontentdir="${web.dir}"
+                         classoutputdir="${build.dir}/WEB-INF/classes"
+                         tempdir="${build.dir}/WEB-INF/${tmp.sourcegen.dir}"
+                         classpathref="webapp.classpath"/>
 
         <!-- copy resources -->
         <echo>Copy all .properties and .xml files</echo>
-        <copy todir="${webapp.dir}/WEB-INF/classes">
-            <fileset dir="${webapp.dir}/WEB-INF/src" includes="**/*.properties"/>
-            <fileset dir="${webapp.dir}/WEB-INF/src" includes="**/*.xml"/>
+        <copy todir="${build.dir}/WEB-INF/classes">
+            <fileset dir="${src.dir}" includes="**/*.properties"/>
+            <fileset dir="${src.dir}" includes="**/*.xml"/>
+        </copy>
+    </target>
+
+    <target name="copy.jsps" 
+            description="When deploying an exploded webapp, this target copies changed JSPs into the deployed directory">
+        <copy todir="${build.dir}/">
+            <fileset dir="${web.dir}">
+                <exclude name="**/*.java"/>
+                <exclude name="WEB-INF/**"/>
+            </fileset>
         </copy>
     </target>
 
@@ -97,13 +112,12 @@
     </target>
 
     <target name="war" description="Build a compressed WAR file that can be deployed to an application container">
-        <property name="archive.dir" value="${webapp.dir}/.."/>
+        <property name="archive.dir" value="${basedir}"/>
 
         <!-- this does *not* exclude source from the archive -->
-        <war destfile="${archive.dir}/${context.path}.war" webxml="${webapp.dir}/WEB-INF/web.xml">
-            <fileset dir="${webapp.dir}">
+        <war destfile="${archive.dir}/${context.path}.war" webxml="${build.dir}/WEB-INF/web.xml">
+            <fileset dir="${build.dir}">
                 <exclude name="WEB-INF/web.xml"/>
-                <exclude name="WEB-INF/src/**"/>
             </fileset>
         </war>
     </target>