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><BeehiveRoot>/samples/controls-blank</code> into your
- project folder (refered to as <code><Project-Folder></code> below).
(Or copy <code>controls-blank</code>
+ project folder (referred to as <code><Project-Folder></code> below).
(Or copy <code>controls-blank</code>
to another location and rename it as <code><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><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><Path-to-Project-Folder></strong>\build.xml
build</source>
<p>This will produce a distributable JAR file at:
<code><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 – An Implementation of
JSR-181, an
- annotation driven programming model for
web services.</li>
+ <li>Web Services – 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><netui:></strong>. (Tags with the <netui:> reference the
netui-tags-html.tld tag library.) Neuti tags like <neuti:anchor>,
<netui:button>, and <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 <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><netui:></strong>. (Tags with the <netui:> reference the
netui-tags-html.tld tag library.) Neuti tags like <neuti:anchor>,
<netui:button>, and <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 <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 @@
<%@ taglib uri="netui-tags-html.tld" prefix="netui"%>
...
<!-- Render a link that invokes the toPageB method -->
- <netui:anchor <strong>action="toPageB"</strong>>Link to
page_B.jsp</netui:anchor>
+ <netui:anchor <strong>action="navigate"</strong>>Link to
page_B.jsp</netui:anchor>
</source>
<!-- <p>(When pageA.jsp is viewed in a broswer, the
<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 <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><%@ taglib
uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"
prefix="netui-template"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"
prefix="netui-data"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
+<netui-template:template templatePage="/resources/jsp/template.jsp">
+ <netui-template:setAttribute value="WAS - Inventory" name="title"/>
+ <netui-template:section name="bodySection">
+ <blockquote>
+ <span class="subtitle">Inventory Section</span><br>
+
+ <netui-data:dataGrid dataSource="pageFlow.rs"
name="inventoryGrid" styleClassPrefix="gridStyle">
+ <netui-data:configurePager pageSize="4"
pagerFormat="prevNext" pageAction="processData.do" disableDefaultPager="true"/>
+ <netui-data:caption>
+ We currently have ${requestScope.cars} vehicles in our
inventory.
+ </netui-data:caption>
+
+ <netui-data:header>
+ <netui-data:headerCell headerText="Details"/>
+ <netui-data:headerCell headerText="Make"/>
+ <netui-data:headerCell headerText="Model" />
+ <netui-data:headerCell headerText="Description"/>
+ <netui-data:headerCell headerText="Inventory
Number"/>
+ <netui-data:headerCell headerText="Price"/>
+ <netui-data:headerCell headerText="Status"/>
+ </netui-data:header>
+ <netui-data:rows>
+ <netui-data:imageAnchorCell
src="${pageContext.request.contextPath}/resources/images/${container.item.carid}sm.jpg"
action="item" alt="Details for this vehicle" border="0">
+ <netui:parameter name="sku"
value="${container.item.sku}"/>
+ </netui-data:imageAnchorCell>
+ <netui-data:spanCell value="${container.item.make}"/>
+ <netui-data:spanCell value="${container.item.model}"
filterExpression="model" />
+ <netui-data:spanCell
value="${container.item.description}"/>
+ <netui-data:spanCell value="${container.item.sku}"/>
+ <netui-data:spanCell value="${container.item.price}">
+ <netui:formatNumber pattern="$#,###"/>
+ </netui-data:spanCell>
+ <netui-data:spanCell
value="${container.item.status}" styleClass="${container.item.status ==
'Available' ? 'status-available' : 'status-sold'}"/>
+ </netui-data:rows>
+ <netui-data:footer>
+ <td colspan="7" style="height: 50px;">
+ <netui-data:renderPager/>
+ </td>
+ </netui-data:footer>
+ </netui-data:dataGrid>
+ </blockquote>
+ </netui-template:section>
+</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&war=file:C:/beehive_projects/petstoreWeb&update=true">http://localhost:8080/manager/deploy?path=/petstoreWeb&war=file:C:/pageflow_projects/petstoreWeb&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><SomeContext></strong> with some
string that is appropriate for
+ <p>In the URL below, replace <strong><SomeContext></strong> with
some string that is appropriate for
your web service.
Replace <strong><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