From 8aec740bd8ed96f869413f95cf219d889d695011 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Mon, 26 Mar 2012 16:27:53 -0400 Subject: [PATCH] Updates to readme, javadoc, and sample poms. Issues: SWF-1507 --- build-spring-webflow/resources/readme.txt | 77 ++++++------- spring-binding/src/main/java/overview.html | 7 -- spring-build/common/common.xml | 2 +- spring-build/multi-bundle/common.xml | 4 +- .../booking-faces/.classpath | 50 ++------- spring-webflow-samples/booking-faces/pom.xml | 32 +----- spring-webflow-samples/booking-mvc/.classpath | 92 +++------------- spring-webflow-samples/booking-mvc/pom.xml | 23 +--- .../booking-portlet-faces/.classpath | 62 ++--------- .../booking-portlet-faces/pom.xml | 23 +--- .../booking-portlet-mvc/.classpath | 56 ++-------- .../booking-portlet-mvc/pom.xml | 23 +--- spring-webflow-samples/jsf-booking/.classpath | 36 ++----- .../org.eclipse.wst.common.component | 4 +- spring-webflow-samples/jsf-booking/pom.xml | 31 +----- spring-webflow/src/main/java/overview.html | 101 ++++-------------- 16 files changed, 129 insertions(+), 494 deletions(-) delete mode 100644 spring-binding/src/main/java/overview.html diff --git a/build-spring-webflow/resources/readme.txt b/build-spring-webflow/resources/readme.txt index 242863eb..64587975 100644 --- a/build-spring-webflow/resources/readme.txt +++ b/build-spring-webflow/resources/readme.txt @@ -78,97 +78,82 @@ For an exact list of project dependencies, see each project's ivy file at "proje ------------------ This distribution contains documentation and sample applications demonstrating the features of the Spring Web Flow projects. A great way to get started is to review and run the sample applications, supplementing with reference manual material as you go. -To build deployable .war files for all samples, simply access the projects/build-spring-webflow directory and run ant. -All projects are directly importable into Eclipse as "Dynamic Web Projects". -See http://www.springframework.org/webflow-samples for more information. +To build deployable .war files for the samples, access the projects/spring-webflow-samples directory and run "mvn package". +Sample projects can be imported into an IDE as Maven projects or by generating IDE settings (e.g. "mvn eclipse:eclipse"). -5. OBTAINING RELEASE JARS FROM THE SPRINGSOURCE BUNDLE REPOSITORY ------------------------------------------------------------------ -Each jar in the Web Flow distribution is available in the SpringSource release repository. -These jars may be accessed using Maven or Ivy dependency managers. -Browse the contents of the repository by accessing http://www.springsource.com/repository. +5. OBTAINING RELEASE JARS WITH MAVEN OR IVY +------------------------------------------- +Release versions of Spring Web Flow artifacts are available via Maven Central. -To access jars using Maven, add the following repositories to your Maven pom: +For milestones and snapshots only (and for Ivy dependencies) you'll need to use the +SpringSource repository. Add the following repository to your Maven pom.xml: - com.springsource.repository.bundles.release - SpringSource Enterprise Bundle Repository - SpringSource Releases - http://repository.springsource.com/maven/bundles/release + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot - - com.springsource.repository.bundles.external - SpringSource Enterprise Bundle Repository - External Releases - http://repository.springsource.com/maven/bundles/external - - -Then declare the following dependencies (note that many times it's sufficient to include -org.springframework.webflow only, which will give you org.springframework.binding, -org.springframework.js, and org.springframework.js via transitive dependencies): +Then declare the following dependencies (note that many times it's sufficient +to include spring-webflow only, which will give you spring-binding and spring-js +via transitive dependencies): org.springframework.webflow - org.springframework.binding + spring-binding 2.3.1.RELEASE org.springframework.webflow - org.springframework.js + spring-js 2.3.1.RELEASE org.springframework.webflow - org.springframework.webflow + spring-webflow 2.3.1.RELEASE -If using JavaServerFaces all you need to include is: +If using JSF all you need to include is: org.springframework.webflow - org.springframework.faces + spring-faces 2.3.1.RELEASE To access jars using Ivy, add the following repositories to your Ivy config: - - - + + + - - - + + + Then declare the following dependencies in your ivy.xml: - - - + + + If using JavaServerFaces: - + -Refer to the reference documentation for more coverage on obtaining Web Flow jars using Maven or Ivy. +For more information see the SpringSource Repository FAQ: +https://github.com/SpringSource/spring-framework/wiki/SpringSource-repository-FAQ 6. ADDITIONAL RESOURCES ----------------------- The Spring Web Flow homepage is located at: - http://www.springframework.org/webflow - -There you will find resources such as a 'Quick Start' guide and a 'Frequently Asked Questions' section. + http://www.springsource.org/spring-web-flow The Spring Web Flow community forums are located at: http://forum.springframework.org - -There you will find an active community of users collaborating about the project. -The Spring Community portal is located at: - http://www.springframework.org - -There you will find links to many resources on Spring Portfolio projects, including on-line access to Spring documentation. diff --git a/spring-binding/src/main/java/overview.html b/spring-binding/src/main/java/overview.html deleted file mode 100644 index 1eb7a2e8..00000000 --- a/spring-binding/src/main/java/overview.html +++ /dev/null @@ -1,7 +0,0 @@ - - -

-The Spring Data Binding framework, an internal library used by Spring Web Flow. -

- - \ No newline at end of file diff --git a/spring-build/common/common.xml b/spring-build/common/common.xml index 4973529a..690cc193 100644 --- a/spring-build/common/common.xml +++ b/spring-build/common/common.xml @@ -237,4 +237,4 @@ - \ No newline at end of file + diff --git a/spring-build/multi-bundle/common.xml b/spring-build/multi-bundle/common.xml index e1d72134..26b311ac 100644 --- a/spring-build/multi-bundle/common.xml +++ b/spring-build/multi-bundle/common.xml @@ -104,7 +104,7 @@ + stylesheetfile="${javadoc.stylesheet.file}" splitindex="true" useexternalfile="true" overview="@{input.dir}/overview.html">
]]>
@@ -117,4 +117,4 @@ - \ No newline at end of file + diff --git a/spring-webflow-samples/booking-faces/.classpath b/spring-webflow-samples/booking-faces/.classpath index 3e73170c..4c7c4b07 100755 --- a/spring-webflow-samples/booking-faces/.classpath +++ b/spring-webflow-samples/booking-faces/.classpath @@ -9,55 +9,23 @@ - - - - - + - + - - - - - - - - - - - - - - - + + + - - - - - + - - - - - + - - - - - - - - - - + + diff --git a/spring-webflow-samples/booking-faces/pom.xml b/spring-webflow-samples/booking-faces/pom.xml index 176fc473..ea0be316 100644 --- a/spring-webflow-samples/booking-faces/pom.xml +++ b/spring-webflow-samples/booking-faces/pom.xml @@ -185,37 +185,13 @@
- - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2 - false + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - - - - java.net.release - Repository for Projects On Hosted on java.net - http://download.java.net/maven/2 - - - - primefaces + primefaces-repository Prime Technology Maven Repository http://repository.primefaces.org default diff --git a/spring-webflow-samples/booking-mvc/.classpath b/spring-webflow-samples/booking-mvc/.classpath index 25fa2769..8300e496 100755 --- a/spring-webflow-samples/booking-mvc/.classpath +++ b/spring-webflow-samples/booking-mvc/.classpath @@ -11,74 +11,30 @@ - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - + - - - - - + - - - - - + - - - - - - - - - - + + @@ -105,26 +61,10 @@ - - - - - - - - - - - - - - - - - - - - + + + + \ No newline at end of file diff --git a/spring-webflow-samples/booking-mvc/pom.xml b/spring-webflow-samples/booking-mvc/pom.xml index 98daf2d2..2a88b252 100644 --- a/spring-webflow-samples/booking-mvc/pom.xml +++ b/spring-webflow-samples/booking-mvc/pom.xml @@ -208,28 +208,11 @@
- - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2/ - false + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot - - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - booking-mvc diff --git a/spring-webflow-samples/booking-portlet-faces/.classpath b/spring-webflow-samples/booking-portlet-faces/.classpath index 8156d631..1c5d0346 100644 --- a/spring-webflow-samples/booking-portlet-faces/.classpath +++ b/spring-webflow-samples/booking-portlet-faces/.classpath @@ -10,70 +10,30 @@ - - - - - + - - - - - - - - - - - - - - - - + + + + - - - - - + - - - - - + - - - - - + - - - - - - - - - - + + - - - - - + diff --git a/spring-webflow-samples/booking-portlet-faces/pom.xml b/spring-webflow-samples/booking-portlet-faces/pom.xml index 950df72e..17a7dcfa 100644 --- a/spring-webflow-samples/booking-portlet-faces/pom.xml +++ b/spring-webflow-samples/booking-portlet-faces/pom.xml @@ -170,28 +170,11 @@
- - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2 - false + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot - - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - booking-portlet-faces diff --git a/spring-webflow-samples/booking-portlet-mvc/.classpath b/spring-webflow-samples/booking-portlet-mvc/.classpath index 583c72c7..4e91487c 100644 --- a/spring-webflow-samples/booking-portlet-mvc/.classpath +++ b/spring-webflow-samples/booking-portlet-mvc/.classpath @@ -11,62 +11,26 @@ - - - - - + - - - - - - - - - - - - - - - - + + + + - - - - - + - - - - - + - - - - - + - - - - - - - - - - + + diff --git a/spring-webflow-samples/booking-portlet-mvc/pom.xml b/spring-webflow-samples/booking-portlet-mvc/pom.xml index e1215cfd..819aebc9 100644 --- a/spring-webflow-samples/booking-portlet-mvc/pom.xml +++ b/spring-webflow-samples/booking-portlet-mvc/pom.xml @@ -175,28 +175,11 @@
- - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2 - false + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot - - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - booking-portlet-mvc diff --git a/spring-webflow-samples/jsf-booking/.classpath b/spring-webflow-samples/jsf-booking/.classpath index 65c3eeb3..859f9d1f 100644 --- a/spring-webflow-samples/jsf-booking/.classpath +++ b/spring-webflow-samples/jsf-booking/.classpath @@ -8,41 +8,21 @@ - - - - - - - - - - - + + + - - - - - + - - - - - + - - - - - + - - + + diff --git a/spring-webflow-samples/jsf-booking/.settings/org.eclipse.wst.common.component b/spring-webflow-samples/jsf-booking/.settings/org.eclipse.wst.common.component index 0da81cfa..2be3ead4 100644 --- a/spring-webflow-samples/jsf-booking/.settings/org.eclipse.wst.common.component +++ b/spring-webflow-samples/jsf-booking/.settings/org.eclipse.wst.common.component @@ -45,10 +45,10 @@ uses - + uses - + uses diff --git a/spring-webflow-samples/jsf-booking/pom.xml b/spring-webflow-samples/jsf-booking/pom.xml index 1f944a97..1308bf2c 100644 --- a/spring-webflow-samples/jsf-booking/pom.xml +++ b/spring-webflow-samples/jsf-booking/pom.xml @@ -10,7 +10,7 @@ 3.0.5.RELEASE 1.5.10 - 2.0.3 + 2.1.7 @@ -133,33 +133,10 @@
- - org.maven.central - Maven Central Repository - http://repo1.maven.org/maven2 - false - - - - org.springframework.maven.snapshot - Spring Maven Snapshot Repository - http://maven.springframework.org/snapshot - false - true - - - - org.springframework.maven.milestone - Spring Maven Milestone Repository - http://maven.springframework.org/milestone - false - - - - java.net.release - Repository for Projects On Hosted on java.net - http://download.java.net/maven/2 + spring-repository + Spring project snapshots, milestones, and releases + http://repo.springsource.org/snapshot diff --git a/spring-webflow/src/main/java/overview.html b/spring-webflow/src/main/java/overview.html index 4bc7241f..84d0c175 100644 --- a/spring-webflow/src/main/java/overview.html +++ b/spring-webflow/src/main/java/overview.html @@ -2,84 +2,27 @@


-The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow. +The public Java Documentation for the Spring Web Flow project.

-

-Spring Web Flow's packages are partitioned across a set of logical layers. Higher layers depend on the layers directly beneath. Lower layers never depend on higher layers. -

-

-The layers of Spring Web Flow, from lowest to highest, are shown below: -

-

- -
-Layer architecture diagram -

-

-The description, subsystems, and source packages of each layer are summarized below: -

-

Execution Core Layer

-

-Contains the central public Spring Web Flow API elements. This includes elements to model flow definitions -as well as execute those flow definitions. As the "bottom layer", this layer defines key domain interfaces and is highly stable. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.core Core} -
  2. {@link org.springframework.webflow.definition Flow Definition} -
  3. {@link org.springframework.webflow.definition.registry Flow Definition Registry} -
  4. {@link org.springframework.webflow.context External Context} -
  5. {@link org.springframework.webflow.conversation Conversation} -
  6. {@link org.springframework.webflow.execution Flow Execution} -
  7. {@link org.springframework.webflow.execution.repository Flow Execution Repository} -
  8. {@link org.springframework.webflow.action Action} -
  9. {@link org.springframework.webflow.util Util} -
-

Executor Layer

-

-Contains services called "flow executors" that drive the execution of flow definitions. This layer defines the -core FlowExecutor service interface and implementation, as well as adaption code for executing flows in several -specific environments. Support for Spring MVC, Struts, and Java Server Faces (JSF) environments is housed here. -This layer depends on the stable Execution Core, but is not coupled to the more volatile Execution Engine -implementation. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.executor Core} -
  2. {@link org.springframework.webflow.executor.mvc Spring MVC} -
  3. {@link org.springframework.webflow.executor.struts Struts} -
  4. {@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)} -
-

Execution Engine Layer

-

-Contains concrete implementations of the stable Execution Engine abstractions. This layer defines the -finite-state machine that carries out runtime flow execution. It also contains a builder subsystem for -assembling flows from externalized resources such as XML files. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.engine Engine Implementation} -
  2. {@link org.springframework.webflow.engine.builder Flow Builder} -
-

Test Layer

-

-Contains support code for testing flow executions. Two types of support are provided: stubs for unit -testing engine artifacts, and base classes for writing flow execution integration tests. This layer -depends on the Execution Core and Execution Engine layers. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.test Unit Test} -
  2. {@link org.springframework.webflow.test.execution Execution Test} -
-

System Configuration Layer

-

Subsystems

-

-Contains support for configuring the flow executor engine using Spring. A Spring 2.0 config schema is provided. -This is the top layer and depends on the Execution Core, Executor, and Execution Engine layers. -

-
    -
  1. {@link org.springframework.webflow.config Spring Configuration Support} -
+

Spring Web Flow facilitates building web applications that require guided navigation -- e.g. a shopping cart, flight check-in, a loan application, and many others. In contrast to stateless, free-form navigation such use cases have a clear start and end point, one or more screens to go through in a specific order, and a set of changes that are not finalized to the end.

+ +

A distinguishing feature is the ability to define a flow definition consisting of states, transitions, and data. For example, view states correspond to the individual screens of the flow while transitions are caused by events resulting from the click of a button or a link. Data may be stored in scopes such as flash, view, flow, and others. Scoped data is cleared when it is no longer in scope.

+ +

In REST terms a flow represents as a single resource. The same URL used to start the flow is also the URL used to step through the flow (there is also an execution key uniquely identifying the current flow instance). As a result of this approach navigation remains encapsulated in the flow definition.

+ +

Some key benefits of using Spring Web Flow:

+ +
    +
  • A flow abstraction to model "long conversations" in web applications
  • +
  • Proper encapsulation for navigation rules
  • +
  • Multiple scopes in which to keep data
  • +
  • Automatic use of the POST/REDIRECT/GET pattern to avoid browser warnings
  • +
  • Impossible to return to completed flow sessions via browser back button
  • +
  • Rapid prototyping of flow requirements
  • +
  • Development mode in which flow definition changes are detected on the fly
  • +
  • IDE visualization for flow definitions
  • +
  • Much more...
  • +
+ - \ No newline at end of file +