Author: steveh
Date: Wed Mar 16 11:13:45 2005
New Revision: 157789

URL: http://svn.apache.org/viewcvs?view=rev&rev=157789
Log:
(1) Adding topic on data grid.
(2) Misc. wordsmithery edits.

Added:
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml
   (with props)
    
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.dia
   (with props)
    
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.png
   (with props)
Modified:
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/controlsOverview.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-blank.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-db.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/index.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/jpetstore.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/guide.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/setup.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_Dashboard.xml
    
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/controlsOverview.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/controlsOverview.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/controlsOverview.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/controlsOverview.xml
 Wed Mar 16 11:13:45 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" 
"http://forrest.apache.org/dtd/document-v13.dtd";>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
"http://forrest.apache.org/dtd/document-v20.dtd";>
 <document>
     <header>
         <title>Controls Overview</title>
@@ -9,24 +9,22 @@
             <title>Overview</title>
             <section>
                 <title>The Problem with J2EE: Complexity</title>
-                <p>
-J2EE provides a rich set of component types, protocols, and system services 
that can be used to assemble an application or service</p>
-                <p>
-                    <strong>
+                <p>J2EE provides a rich set of component types, protocols, and 
system services that can be used to assemble an application or service.</p>
+                <p><strong>
 As the scope of the J2EE architectural design space has grown, the complexity 
of assembling solutions has also grown.</strong>
                 </p>
                 <p>Many of the basic building blocks provide their own set of 
mechanisms for how J2EE abstractions are accessed, how usage is parameterized, 
and how resources associated with them (connections, sessions, etc) are 
managed.</p>
                 <p>
-An objective of the J2EE community is to expand beyond the Java system 
software developer that has traditionally built J2EE solutions to enfranchise a 
new type of developer: the corporate developer. The corporate developer is 
often a very strong programmer, but may have significantly less experience with 
object-oriented design, building distributed systems, and Java/J2EE.</p>
+An objective of the J2EE community is to expand beyond the Java system 
software developer who has traditionally built J2EE solutions to enfranchise a 
new type of developer: the corporate developer. The corporate developer is 
often a very strong programmer, but may have significantly less experience with 
object-oriented design, building distributed systems, and Java/J2EE.</p>
                 <p>
                     <strong>The goal is to enable a collaboration where the 
base J2EE distributed system architecture and back-end components can be 
designed and built by the J2EE system software developer, then assembled into 
exposed web user interfaces, web services, or applications by the corporate or 
application developer.
 </strong>
                 </p>
-                <p>But the complexity and diversity of J2EE client access 
models stands in direct opposition to achieving this goal. Depending upon the 
system architecture and components constructed by the system developer, the 
application developer might have to learn a variety of new technologies and 
APIs to work within the architecture.
+                <p>But the complexity and diversity of J2EE client access 
models stand in direct opposition to achieving this goal. Depending upon the 
system architecture and components constructed by the system developer, the 
application developer might have to learn a variety of new technologies and 
APIs to work within the architecture.
 </p>
                 <p>Consider a simple example: A systems developer has built a 
distributed system where synchronous services are exposed as Enterprise 
JavaBeans and asynchronous services are exposed via JMS queues. A corporate 
developer new to J2EE is tasked with building a web user interface that 
integrates with these services.
 </p>
-                <p>To accomplish his task, the corporate developer now has to 
learn how to:</p>
+                <p>To accomplish this task, the corporate developer now has to 
learn how to:</p>
                 <ul>
                     <li>Create a JNDI context and lookup resources. If 
resources are app-scoped, then how to provide the appropriate deployment 
descriptor configuration.</li>
                     <li>How to use home/business interfaces of exposed EJBs to 
access business methods, including understanding differences in usage depending 
upon whether the exposed EJBs are Stateless Session Beans, Stateful Session 
Beans, or Entity Beans.</li>
@@ -35,7 +33,7 @@
                     <li>How to properly manage the resources associated with 
the above, such that vital system resources (such as connections) are used 
efficiently and correctly. The cost of a subtle mistake can be poor system 
performance or even system failure.</li>
                 </ul>
                 <p>
-What initially appears to be a simple task in the abstract (call these EJBs or 
enqueue a message that looks like this) can devolve into hours or days or 
reading J2EE HowTo books and Javadoc API references, getting the right 
deployment descriptor values configured, and calling all the right APIs, at all 
of the right times, in the right order. In the resulting application or 
service, often the directly application-related code (i.e. calling the bean 
business method or building message contents) is a small fraction of the total 
code required to accomplish the task.</p>
+What initially appears to be a simple task in the abstract (call these EJBs or 
enqueue a message that looks like this) can devolve into hours or days of 
reading J2EE HowTo books and Javadoc API references, getting the right 
deployment descriptor values configured, and calling all the right APIs, at all 
of the right times, in the right order. In the resulting application or 
service, often the directly application-related code (i.e. calling the bean 
business method or building message contents) is a small fraction of the total 
code required to accomplish the task.</p>
                 <p>
 Here is an example of the code required to invoke a single method on an 
exposed EJB using standard J2EE APIs: </p>
                 <source>Trader trader = null;
@@ -56,7 +54,17 @@
     if (trader != null)
         trader.remove();
 }</source>
-                <p>A common solution to this problem is often to task the J2EE 
professional developer with constructing facades or custom frameworks that hide 
some of the underlying complexity and resource access mechanisms and provides 
appropriate guarantees that system resources (connections, sessions, handles, 
etc) are utilized properly. But constructing these intermediate abstractions is 
an inefficient use of (an often scarce and expensive) systems development 
resources. Depending upon the "thickness" of the intermediate abstractions, 
this approach can also have performance or application deployment footprint 
implications. </p>
+                <p>A common solution to this problem is often to 
+                                       task the J2EE professional developer 
with constructing facades or custom 
+                                       frameworks that hide some of the 
underlying complexity of the resource access 
+                                       mechanisms and provides appropriate 
guarantees that system resources 
+                                       (connections, sessions, handles, etc) 
are utilized properly. But constructing 
+                                       these intermediate abstractions is an 
inefficient use of 
+                                       (often scarce and expensive) 
+                                       systems development resources. 
Depending upon the "thickness" of the intermediate 
+                                       abstractions, 
+                                       this approach can also have performance 
or application deployment footprint 
+                                       implications. </p>
             </section>
             <section>
                 <title>Solution: Controls: A Unified Client Programming Model 
</title>
@@ -317,9 +325,10 @@
 <p>
 Contextual services can also define an event model, so contextual services can 
also declare and fire events on Controls that have registered in interest. As 
an example, a basic ControlContext contextual service is provided as part of 
the base Controls architecture. This contextual service provides common 
services for Controls, such as access to properties, as well as a set of 
lifecycle events for Controls.
 </p>
-<p>
-The discovery and implementation model for Controls Contextual Services will 
be based upon the JavaBeans Runtime Containment and Services Protocol (Glasgow) 
(<link 
href="http://java.sun.com/products/javabeans/glasgow/#containment";>http://java.sun.com/products/javabeans/glasgow/#containment</link>)
 that is already shipping as part of J2SE.
-</p>
+<p>The discovery and implementation model for Controls Contextual Services 
will be based upon the 
+       JavaBeans Runtime Containment and Services Protocol (Glasgow) 
+       (<a 
href="http://java.sun.com/products/javabeans/glasgow/#containment";>http://java.sun.com/products/javabeans/glasgow/#containment</a>)
 
+       that is already shipping as part of J2SE.</p>
             </section>
             <section>
                 <title>Resource Management</title>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-blank.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-blank.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-blank.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-blank.xml
 Wed Mar 16 11:13:45 2005
@@ -22,7 +22,7 @@
         <p>The following instruction assume that you have completed the basic 
Beehive set up procedure 
                        at <a class="fork" href="../setup.html">Set Up the Dev 
Environment</a>.</p>
   <p>To use the template, copy the contents of 
<code>&lt;BeehiveRoot>/samples/controls-blank</code> into your 
-       project folder (refered to as <code>&lt;Project-Folder></code> below). 
(Or copy <code>controls-blank</code>
+       project folder (referred to as <code>&lt;Project-Folder></code> below). 
(Or copy <code>controls-blank</code>
        to another location and rename it as <code>&lt;Project-Folder></code>.) 
 
        An Ant build file is included 
        in the template, which will compile your control project into a 
distributable JAR 
@@ -31,7 +31,7 @@
 <source>&lt;Project-Folder>
   src
   build.xml</source> 
-  <p>The following Ant command will compile the control template. </p>
+  <p>The following Ant command will compile the control template.</p>
 <source>ant -f <strong>&lt;Path-to-Project-Folder></strong>\build.xml 
build</source>
     <p>This will produce a distributable JAR file at: 
<code>&lt;Project-Folder>/build/mycontrols.jar</code>.</p>
     <p>To use the JAR in your other projects (like a web app project or a web 
service project), copy 

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-db.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-db.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-db.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/controls/sample_controls-db.xml
 Wed Mar 16 11:13:45 2005
@@ -34,7 +34,13 @@
     
 <p>In this example, the title field is of type VARCHAR, so the return value is 
declared as String. </p>
 
-<p>When your method returns a single row with multiple fields, its return type 
can be a user-defined object or a java.util.HashMap object.  When the return 
type is a user-defined object,  it must contain members with names that match 
the names of the columns that will be returned by the query. Because database 
column names are case-insensitive, the matching names are case-insensitive. The 
class may also contain other members, members not matching any column names 
will not be set.  The following example declares an Employee class with members 
corresponding to fields in the Employee table. The findEmployee method returns 
an object of type Employee:</p>
+<p>When your method returns a single row with multiple fields, its return type 
can be a user-defined 
+       object or a java.util.HashMap object.  When the return type is a 
user-defined object,  it must 
+       contain members with names that match the names of the columns that 
will be returned by the query. 
+       Because database column names are case-insensitive, the matching names 
are case-insensitive. The 
+       class may also contain other members; members not matching any column 
names will not be set.  
+       The following example declares an Employee class with members 
corresponding to fields in the 
+       Employee table. The findEmployee method returns an object of type 
Employee:</p>
 
 <source>    @SQL(statement="SELECT * FROM EMPLOYEE WHERE id={id}")
     public Employee findEmployee(int id) throws SQLException;
@@ -47,8 +53,11 @@
         public String title;
     }</source>
 
-<p>When your method returns multiple rows from the database, its return type 
can be an array, a java.util.Iterator, or a java.sql.ResultSet.  </p>
-<p>When you want to return an Iterator object, you must specify the 
iteratorElementType element to the @SQL annotation to indicate the underlying 
type that the Iterator will contain.  The following example returns a iterator 
of all employees sorted by their last names.</p>
+<p>When your method returns multiple rows from the database, its return type 
can be an array, a 
+       java.util.Iterator, or a java.sql.ResultSet.  </p>
+<p>When you want to return an Iterator object, you must specify the 
iteratorElementType 
+       element to the @SQL annotation to indicate the underlying type that the 
Iterator will contain.  
+       The following example returns an iterator of all employees sorted by 
their last names.</p>
 
 <source>    @SQL(statement="SELECT * FROM EMPLOYEE ORDER BY lName", 
iteratorElementType=Employee.class, maxRows=500)
     public Iterator getEmployeesSortedByLastName() throws 
SQLException;</source>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/index.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/index.xml 
(original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/index.xml 
Wed Mar 16 11:13:45 2005
@@ -11,7 +11,7 @@
                        <anchor id="what"/>
                        <p> Welcome to Beehive! Our goal is to make J2EE 
programming easier 
                                by building a simple object model on J2EE and 
Struts. Using the 
-                               new JSR-175 and JSR-181 metadata annotations 
Beehive reduces 
+                               new JSR-175 and JSR-181 metadata annotations, 
Beehive reduces 
                                the coding necessary for J2EE. The initial 
Beehive project has 
                                three pieces.</p>
                        <ul>
@@ -25,8 +25,8 @@
                                        with a few pre-made controls as well, 
for example, see the 
                                        <a 
href="controls/sample_controls-db.html">Database Control 
                                        Sample</a>.</li>
-                               <li>Web Services &#8211; An Implementation of 
JSR-181, an 
-                                       annotation driven programming model for 
web services.</li>
+                               <li>Web Services &#8211; An implementation of 
JSR-181, an 
+                                       annotation-driven programming model for 
web services.</li>
                        </ul>
                </section>
                <section id="news">
@@ -36,7 +36,7 @@
                                <li>Beehive has a <a class="fork" 
                                        
href="http://wiki.apache.org/beehive";>wiki</a>.</li>
                                <li>Bugs or feature requests can be filed in 
our issue tracking system: <a class="fork" 
-                                       
href="http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10570";>jira</a></li>
+                                       
href="http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10570";>jira</a>.</li>
                                <li><a class="fork" 
                                        
href="http://www.eclipse.org/pollinate/";>Pollinate</a> is 
                                        an Eclipse technology project building 
an IDE for the 

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/jpetstore.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/jpetstore.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/jpetstore.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/jpetstore.xml
 Wed Mar 16 11:13:45 2005
@@ -28,7 +28,7 @@
                        <p>Most of the Page Flows have associated Control files 
(located 
                                at: 
                                
<code>petstoreWeb/WEB-INF/src/org/apache/beehive/samples/petstore/controls/</code>).
 
-                               The Controls handle the backend data traffic 
and encupsulate 
+                               The Controls handle the backend data traffic 
and encapsulate 
                                the operations of the web application, such as 
retrieving data 
                                from a database and handling user orders.</p>
                </section>
@@ -200,7 +200,7 @@
                                <source>%CATALINA_HOME%\bin\startup.bat</source>
                        </section>
                        <section id="deploy">
-                               <title>To Deploying to Tomcat</title>
+                               <title>To Deploy to Tomcat</title>
        <p>To deploy the web application, click the following link.  We 
recommend that you open the 
                link in a new browser window.  Each time you want to redeploy 
the application,
                simply refresh the browser.</p>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/guide.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/guide.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/guide.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/guide.xml
 Wed Mar 16 11:13:45 2005
@@ -33,7 +33,7 @@
             <p>
                 <strong>How the Code Works</strong>
             </p>
-            <p>Methods in the Controller file are invoked through specially 
designed JSP tags, called "netui" tags.  These tags appear with the prefix 
<strong>&lt;netui:></strong>. (Tags with the &lt;netui:> reference the 
netui-tags-html.tld tag library.)  Neuti tags like &lt;neuti:anchor>, 
&lt;netui:button>, and &lt;netui:imageButton> are all capable of invoking 
methods in the Controller file.  The method to invoke is specified by the tag's 
<code>action</code> attribute.  For example, the following  &lt;netui:anchor> 
tag invokes the <code>toPageB</code> method by referencing the method in it's 
<code>action</code> attribute.</p>
+            <p>Methods in the Controller file are invoked through specially 
designed JSP tags, called "netui" tags.  These tags appear with the prefix 
<strong>&lt;netui:></strong>. (Tags with the &lt;netui:> reference the 
netui-tags-html.tld tag library.)  Neuti tags like &lt;neuti:anchor>, 
&lt;netui:button>, and &lt;netui:imageButton> are all capable of invoking 
methods in the Controller file.  The method to invoke is specified by the tag's 
<code>action</code> attribute.  For example, the following  &lt;netui:anchor> 
tag invokes the <code>navigate</code> method by referencing the method in it's 
<code>action</code> attribute.</p>
             <p>
                 <strong>pageA.jsp</strong>
             </p>
@@ -42,10 +42,10 @@
     &lt;%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
        ...
        <!-- Render a link that invokes the toPageB method -->
-       &lt;netui:anchor <strong>action="toPageB"</strong>>Link to 
page_B.jsp&lt;/netui:anchor>
+       &lt;netui:anchor <strong>action="navigate"</strong>>Link to 
page_B.jsp&lt;/netui:anchor>
 </source>
 <!--            <p>(When pageA.jsp is viewed in a broswer, the 
&lt;netui:anchor> tag is rendered as ordinary HTML, with associated JavaScript 
which handles the invocation.... [todo] )</p>-->
-            <p>Suppose the link above is clicked.  When clicked, the following 
method, <code>toPageB</code>, is invoked.</p>
+            <p>Suppose the link above is clicked.  When clicked, the following 
method, <code>navigate</code>, is invoked.</p>
             <p>The method below, when invoked, navigates the user to 
pageB.jsp.  The code within the method body is very simple: upon invocation, 
the method immediately returns a Forward object, with the String parameter 
"success".  The code <em>above</em> the method does the real work of 
determining the navigational target.  The code above the method consists of two 
metadata annotations.  "Metadata" means that the annotation configures or sets 
a property on some part of the Java code.  In the example below, the 
@Jpf.Action annotation makes the method available to invocation (by netui 
tags), while the @Jpf.Forward annotation configures the navigation information. 
 In the this case the method it configured to navigate to pageB.jsp whenever it 
is invoked.  </p>
             <p>
                 <strong>Controller.jpf</strong>
@@ -58,7 +58,7 @@
             @Jpf.Forward(name = "<strong>success</strong>", path = 
"<strong>pageB.jsp</strong>")
         }
     )
-    protected Forward toPageB()
+    protected Forward navigate()
     {
         return new Forward("success");
     }</source>

Added: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml?view=auto&rev=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml
 (added)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml
 Wed Mar 16 11:13:45 2005
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
"http://forrest.apache.org/dtd/document-v20.dtd";>
+<document>
+    <header>
+        <title>Displaying Results Sets with Data Grids</title>
+    </header>
+    <body>
+        <section id="database_driven">
+            <title>Database Driven Web Applications</title>
+                       <p><img src="images/pageflow_database_app_1.png" 
alt="pageflow_database"/></p>
+        </section>
+        <section id="pager">
+            <title>The &lt;netui-data:pager> Tag</title>
+        </section>
+        <section id="filtering">
+            <title>Filtering a Data Grid</title>
+        </section>
+        <section id="sorting">
+            <title>Sorting a Data Grid</title>
+        </section>
+               <section>
+                       <title>Sample Code</title>
+                       <p><strong>Controller.jpf</strong></p>
+                       <source>import java.sql.ResultSet;
+import javax.servlet.http.HttpSession;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+// Set up annotations
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp")
+    }
+    , sharedFlowRefs={       @Jpf.SharedFlowRef(name="shared", 
type=shared.SharedFlow.class)    }
+)
+public class Controller 
+    extends PageFlowController
+{
+    // Shared Flow - handle common exceptions, etc. here
+       @Jpf.SharedFlowField(name="shared")
+    private shared.SharedFlow sharedFlow;
+    
+    // Controls
+       @org.apache.beehive.controls.api.bean.Control 
+    private controls.data.carDB carDB;
+
+       // Objects to pass to page flow
+       public ResultSet rs;
+       
+       // Actions
+    @Jpf.Action(
+            forwards = { 
+                @Jpf.Forward(name = "success", path = "list.jsp")
+            }
+        )
+        public Forward processData() throws Exception
+        {
+            int nCount = carDB.countCars();
+            getRequest().setAttribute("cars", nCount);
+            rs = carDB.getInventoryRS();
+            return new Forward("success");
+        }
+
+    @Jpf.Action(
+               forwards = {
+                       @Jpf.Forward(name = "success", path = "item.jsp")
+        })
+        protected Forward item() throws Exception
+        {
+               int nSKU = Integer.parseInt(getRequest().getParameter("sku"));
+               rs = carDB.getItem(nSKU);
+               return new Forward("success");
+        }
+
+    // Callback that is invoked when this controller instance is created.
+    protected void onCreate() {}
+
+    // Callback that is invoked when this controller instance is destroyed.
+    protected void onDestroy(HttpSession session) {}
+}</source>
+                       <p><strong>list.jsp</strong></p>
+                               <source>&lt;%@ taglib 
uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui" %>
+&lt;%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+&lt;%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c"%>
+&lt;netui-template:template templatePage="/resources/jsp/template.jsp">
+    &lt;netui-template:setAttribute value="WAS - Inventory" name="title"/>
+    &lt;netui-template:section name="bodySection">
+        &lt;blockquote>
+        &lt;span class="subtitle">Inventory Section&lt;/span>&lt;br>
+
+               &lt;netui-data:dataGrid dataSource="pageFlow.rs" 
name="inventoryGrid" styleClassPrefix="gridStyle">
+               &lt;netui-data:configurePager pageSize="4" 
pagerFormat="prevNext" pageAction="processData.do" disableDefaultPager="true"/>
+               &lt;netui-data:caption>
+                       We currently have ${requestScope.cars} vehicles in our 
inventory.
+               &lt;/netui-data:caption>
+        
+               &lt;netui-data:header>
+                       &lt;netui-data:headerCell headerText="Details"/>
+                       &lt;netui-data:headerCell headerText="Make"/>
+                       &lt;netui-data:headerCell headerText="Model" />
+                       &lt;netui-data:headerCell headerText="Description"/>
+                       &lt;netui-data:headerCell headerText="Inventory 
Number"/>
+                       &lt;netui-data:headerCell headerText="Price"/>
+                       &lt;netui-data:headerCell headerText="Status"/>
+                   &lt;/netui-data:header>
+                   &lt;netui-data:rows>
+                       &lt;netui-data:imageAnchorCell 
src="${pageContext.request.contextPath}/resources/images/${container.item.carid}sm.jpg"
 action="item" alt="Details for this vehicle" border="0">
+                           &lt;netui:parameter name="sku" 
value="${container.item.sku}"/>
+                       &lt;/netui-data:imageAnchorCell>
+                       &lt;netui-data:spanCell value="${container.item.make}"/>
+                       &lt;netui-data:spanCell value="${container.item.model}" 
filterExpression="model" />
+                       &lt;netui-data:spanCell 
value="${container.item.description}"/>
+                       &lt;netui-data:spanCell value="${container.item.sku}"/>
+                       &lt;netui-data:spanCell value="${container.item.price}">
+                               &lt;netui:formatNumber pattern="$#,###"/>
+                       &lt;/netui-data:spanCell>
+                       &lt;netui-data:spanCell 
value="${container.item.status}" styleClass="${container.item.status == 
'Available' ? 'status-available' : 'status-sold'}"/>
+                   &lt;/netui-data:rows>
+               &lt;netui-data:footer>
+                 &lt;td colspan="7" style="height: 50px;">
+                   &lt;netui-data:renderPager/>
+                 &lt;/td>
+               &lt;/netui-data:footer>
+           &lt;/netui-data:dataGrid>
+        &lt;/blockquote>
+    &lt;/netui-template:section>
+&lt;/netui-template:template></source>
+               </section>
+</body>
+</document>
\ No newline at end of file

Propchange: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_datagrid.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/pageflow_overview.xml
 Wed Mar 16 11:13:45 2005
@@ -29,7 +29,7 @@
     <p><strong>Declarative Programming</strong></p>
     <p>Many common web app programming tasks are accomplished through a 
declarative programming model using 
                JSR 175 metadata annotations, a new feature in JKD5.  JSR 175 
metadata annotations, "annotations" 
-               for short, are property setters for Java classes and methods, 
aliviating the need for independent 
+               for short, are property setters for Java classes and methods, 
alleviating the need for independent 
                configuration files. Navigation, exception handling, 
validation, and other tasks become configurable 
                properties of a single Java class, the "controller" class that 
drives the web application.</p>
     <p><strong>Page Flows are Stateful</strong></p>
@@ -220,7 +220,7 @@
        <p>Actions may perform any required
     complex logic.  For example, if a user clicks on the "My Page" link, the 
action may check if
     the user is logged in, and if so, navigate the user to the 
<code>mypage.jsp</code>
-    page, otherwise it will navigate the user to the
+    page; otherwise it will navigate the user to the
     <code>login.jsp</code> page.
     </p>
 
@@ -233,7 +233,7 @@
     </ul>
 
     <p>
-    When using JPFs, pages and actions are interweaved, transparently.
+    When using JPFs, pages and actions are interwoven, transparently.
     </p>
 
     <ul>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/setup.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/setup.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/setup.xml 
(original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/setup.xml 
Wed Mar 16 11:13:45 2005
@@ -7,8 +7,8 @@
        </header>
        <body>
                <p>This topic explains how to install a Beehive distribution on 
your 
-                       machine. The instructions below are divided into (1) 
basic stetup steps 
-                       and tutorial-specific steps.</p>
+                       machine. The instructions below are divided into (1) 
basic setup steps 
+                       and (2) tutorial-specific steps.</p>
                        <p>
                         Once you have completed the basic setup steps, 
                        you can begin developing Beehive applications. You only 
need to 

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml 
(original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/site.xml 
Wed Mar 16 11:13:45 2005
@@ -19,6 +19,7 @@
             <pageflow_jsp label="JSP Files" href="pageflow/pageflow_jsp.html"/>
             <pageflow_building label="Building a Web-App" 
href="pageflow/pageflow_building.html"/>
             <pageflow_altering label="Altering a Page Flow" 
href="pageflow/pageflow_altering.html"/>
+            <pageflow_sharedFlow label="Using Data Grids" 
href="pageflow/pageflow_datagrid.html"/>
             <pageflow_sharedFlow label="Shared Flow" 
href="pageflow/sharedFlow.html"/>
             <pageflow_popups label="Popup Windows" 
href="pageflow/popupWindows.html"/>
             <pageflow_programming label="Page Flow Programming" 
href="pageflow/guide.html"/>
@@ -39,7 +40,7 @@
             <sam_index label="Samples" href="samples/index.html"/>
             <jpetstore label="Petstore" href="jpetstore.html"/>
             <dash label="Petstore Dashboard" href="wsm/sample_Dashboard.html"/>
-            <address label="AddressBook/Employee" 
href="wsm/sample_AddressBook.html"/>
+            <address label="AddressBook" href="wsm/sample_AddressBook.html"/>
             <db label="Database Control" 
href="controls/sample_controls-db.html"/>
             <control-blank label="Page Flow Project" 
href="pageflow/sample_netui-blank.html"/>
             <control-blank label="Control Project" 
href="controls/sample_controls-blank.html"/>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_AddressBook.xml
 Wed Mar 16 11:13:45 2005
@@ -14,14 +14,14 @@
                                Old Java Objects) models, service interface, 
service 
                                implementation, and unit tests for the service. 
Apache Axis 
                                provides automatic client-generation and junit 
test cases for 
-                               the sample. The directory structure and ant 
build file can be 
+                               the sample. The directory structure and Ant 
build file can be 
                                used as a template for building new standalone 
web services.</p>
                        <p><strong>EmployeeWS</strong> provides a web service 
interface for 
                                an Employee database. Using SOAP messages, the 
web service 
                                queries the backend database: selecting, 
updating and inserting 
                                employee data. A Beehive database control 
connects the web 
                                service and the database. The web service class 
is located at 
-                               <code>EmployeeWS/WEB-INF/src/web/Service. 
jws</code>. The 
+                               
<code>EmployeeWS/WEB-INF/src/web/Service.jws</code>. The 
                                database control is located at 
                                
<code>EmployeeWS/WEB-INF/src/org/apache/beehive/sample/EmployeeDBControl.jcx</code>.
 
                                Note that EmployeeDBControl is a subclass of 
DatabaseControl, 
@@ -32,15 +32,15 @@
                                Derby requires a simple JAR file download, 
described below.) 
                                Apache Axis provides the automatic 
client-generation for the 
                                web service. Custom unit tests are provided to 
exercise the 
-                               webservice methods. The unit tests creates the 
database table, 
-                               inserts a new record, queries the database, and 
finally drops 
+                               webservice methods. The unit tests create the 
database table, 
+                               insert new records, query the database, and 
finally drop 
                                the table. Use the junit tests as a template 
for building 
                                automatic tests for your own controls.</p>
                </section>
                <section id="running">
                        <title>Running the Samples</title>
                        <section id="reqs">
-                               <title>Requirements for Running the 
Sample</title>
+                               <title>Requirements for Running the 
Samples</title>
                                <p>To run the Samples, you need:</p>
                                <ul>
                                        <li>Beehive</li>
@@ -56,7 +56,7 @@
                                <p>Before proceeding, complete all of the 
necessary and 
                                        optional steps in the following topic: 
<a class="fork" 
                                        href="../setup.html">Beehive 
Installation and Setup</a></p>
-                               <p>Open a command shell and confirm that you 
have the following 
+                               <p>Open a command shell and confirm that the 
following 
                                        variables have been set:</p>
                                <ul>
                                        <li>
@@ -147,7 +147,7 @@
 <strong>Copy and paste version:</strong>
 
 ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml 
-Dwebapp.dir=C:\beehive_projects\AddressBookWS build</source>
-                <p>To compile the EmployeeWS app, enter the following Ant 
command:</p>
+                <p>To compile the EmployeeWS app, enter the following Ant 
command.</p>
 <source>ant 
   -f %BEEHIVE_HOME%\ant\buildWebapp.xml 
   -Dwebapp.dir=C:\beehive_projects\EmployeeWS 
@@ -228,7 +228,7 @@
                                <p>and</p>
 <source>ant -f 
C:/beehive_projects/EmployeeWS/WEB-INF/build-client-dist.xml</source>
                                <p>Note that you do not need to run a 
particular target within 
-                                       <code>client-build.xml</code>. Simply 
run the ant commands 
+                                       <code>client-build.xml</code>. Simply 
run the Ant commands 
                                        shown above and the client will be 
generated in 
                                        
<code>WEB-INF/build/generated</code>.</p>
                                <p>The clients consist of JUnit test cases that 
exercise the 

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_Dashboard.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_Dashboard.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_Dashboard.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_Dashboard.xml
 Wed Mar 16 11:13:45 2005
@@ -7,7 +7,11 @@
     <body>
         <section id="dir_struct">
             <title>The Petstore Dashboard Sample</title>
-        <p>Petstore has both a web site and a web service interface.  The web 
site is designed for customer access; the web service is for employee access.  
Through the web service, employees update the prices and inventory seen on the 
customer web site.  The Petstore Dashboard is a Swing client application for 
this web service. Updates made on the Dashboard are passed to the web service 
and ultimately the updates appear on the Petstore web site.  
+        <p>Petstore has both a web site and a web service interface.  The web 
site is designed for 
+                       customer access; the web service is for employee 
access.  Through the web service, employees 
+                       update the prices and inventory seen on the customer 
web site.  The Petstore Dashboard is a 
+                       Swing client application for this web service. Updates 
made on the Dashboard are passed to 
+                       the web service, and ultimately the updates appear on 
the Petstore web site.  
 </p>
 <!--
             <p>The Dashboard sample source code is located at 
<code>BEEHIVE_HOME/samples/PetStoreDashboard</code>.  [todo: more about the 
code breakdown]</p>
@@ -96,19 +100,19 @@
         </section>
 <section id="build_petstore">
     <title>To Recompile and Redeploy Petstore</title>
-<p>In this step you will recompile and redeploy Petstore.  The following 
instruction assume that you have Petstore 
+<p>In this step you will recompile and redeploy Petstore.  The following 
instructions assume that you have Petstore 
        up and running on an instance of Tomcat server.  If Petstore is not up 
and running, complete the following
        instructions before proceeding: <a href="site:jpetstore">Beehive 
Sample: Petstore</a>.</p>
        <p>To recompile the Petstore web app, run the following Ant command.</p>
+
 <source>ant 
-  -f %BEEHIVE_HOME%\ant\buildWebapp.xml 
-  -Dwebapp.dir=C:\beehive_projects\petstoreWeb 
+  -f C:\beehive_projects\petstoreWeb\WEB-INF\src\build.xml
   build
-  
-<strong>Copy and paste version:</strong>
-ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml 
-Dwebapp.dir=C:\beehive_projects\petstoreWeb build</source>  
+
+<strong>Copy and Paste version:</strong>
+ant -f C:\beehive_projects\petstoreWeb\WEB-INF\src\build.xml build</source>
        <p>To redeploy the Petstore web app, click the following link. (We 
recommend opening the link in a new window.
-               after deployment has completed, the browser window will display 
a status message.  After the 
+               After deployment has completed, the browser window will display 
a status message.  After the 
                status message has been displayed, you may close the browser 
window.)</p>
     <p class="quote">
          <a class="fork" 
href="http://localhost:8080/manager/deploy?path=/petstoreWeb&amp;war=file:C:/beehive_projects/petstoreWeb&amp;update=true";>http://localhost:8080/manager/deploy?path=/petstoreWeb&amp;war=file:C:/pageflow_projects/petstoreWeb&amp;update=true</a>
@@ -123,7 +127,7 @@
   <source>ant -f 
<code>C:\beehive_projects\PetstoreDashboard\build.xml</code></source>
 <p>The Swing application comes up in its own window. Click on the different 
categories and modify price and quantity. The changes show up on the Petstore 
site (when the browser is refreshed).
 </p>
-<p>  Note: If the petstoreWeb sample is deployed to Tomcat with a context.path 
different from 
+<p>  Note: If the petstoreWeb sample is deployed to Tomcat with a 
<code>context.path</code> different from 
        "petstoreWeb", or if it is deployed to a different server than 
localhost:8080, 
        then the file 
<code>C:/beehive_projects/PetstoreDashboard/build.xml</code> needs to be 
modified accordingly. 
        The Dashboard client generator relies on these default values.</p>

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml?view=diff&r1=157788&r2=157789
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
 (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/wsm/sample_wsm-blank.xml
 Wed Mar 16 11:13:45 2005
@@ -17,7 +17,7 @@
     </section>
                <section id="using">
                        <title>Using the Web Service Template</title>
-                       <p>The following instruction assume that you have 
completed all of 
+                       <p>The following instructions 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>.</p>
                        <p>To use the template, follow these steps:</p>
@@ -64,7 +64,7 @@
        <p>To deploy the web service, visit the following URL in a web browser. 
 (We recommend that you open the 
                link in a new browser window.  Each time you want to redeploy 
the application,
                simply refresh the browser.)</p>
-       <p>In the URL below replace <strong>&lt;SomeContext></strong> with some 
string that is appropriate for 
+       <p>In the URL below, replace <strong>&lt;SomeContext></strong> with 
some string that is appropriate for 
 your web service.
                Replace <strong>&lt;Path-to-Project-Folder></strong> with the 
path to your project folder.</p>  
     <p class="quote">

Added: 
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.dia
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.dia?view=auto&rev=157789
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.dia
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.png
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.png?view=auto&rev=157789
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/beehive/trunk/docs/forrest/src/documentation/resources/images/pageflow_database_app_1.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream


Reply via email to