<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-33146</id>
	<title>Nabble - seam-commits</title>
	<updated>2009-11-24T22:22:19Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/seam-commits-f33146.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/seam-commits-f33146.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26508083</id>
	<title>Seam SVN: r11679 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-24T22:22:19Z</published>
	<updated>2009-11-24T22:22:19Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-25 01:22:18 -0500 (Wed, 25 Nov 2009)
&lt;br&gt;New Revision: 11679
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;Log:
&lt;br&gt;Adding changes for CP07. Not PDF-buildable in Publican.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 20:44:52 UTC (rev 11678)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-25 06:22:18 UTC (rev 11679)
&lt;br&gt;@@ -417,21 +417,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The following table presents a non-exhaustive list of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;changed components:
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;table&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--&amp;lt;table&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Component in Seam 2&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tgroup cols=&amp;quot;6&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;1&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;2&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;3&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;4&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;5&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;6&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt; --&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;thead&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;row&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;entry&amp;gt;
&lt;br&gt;@@ -1038,7 +1033,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/row&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/tbody&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tgroup&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/table&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/table&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26508083&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11679---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26508083p26508083.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26502978</id>
	<title>Seam SVN: r11678 - branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT.</title>
	<published>2009-11-24T12:44:52Z</published>
	<updated>2009-11-24T12:44:52Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: nico.ben
&lt;br&gt;Date: 2009-11-24 15:44:52 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11678
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Jms.po
&lt;br&gt;Log:
&lt;br&gt;Italian translation
&lt;br&gt;&lt;br&gt;Modified: branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Jms.po
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Jms.po	2009-11-24 16:44:00 UTC (rev 11677)
&lt;br&gt;+++ branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Jms.po	2009-11-24 20:44:52 UTC (rev 11678)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp;&amp;quot;Project-Id-Version: PACKAGE VERSION\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Report-Msgid-Bugs-To: &lt;a href=&quot;http://bugs.kde.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.kde.org&lt;/a&gt;\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;POT-Creation-Date: 2009-06-13 23:52+0000\n&amp;quot;
&lt;br&gt;-&amp;quot;PO-Revision-Date: 2009-11-21 21:14+0100\n&amp;quot;
&lt;br&gt;+&amp;quot;PO-Revision-Date: 2009-11-24 21:44+0100\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Last-Translator: Nicola Benaglia &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26502978&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nico.benaz@...&lt;/a&gt;&amp;gt;\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Language-Team: none\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;MIME-Version: 1.0\n&amp;quot;
&lt;br&gt;@@ -53,7 +53,7 @@
&lt;br&gt;&amp;nbsp;#: Jms.xml:34
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;This chapter first covers how to leverage Seam to simplify JMS and then explains how to use the simpler asynchronous method and event facility.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Questo capitolo innanzitutto spiega come sfruttare Seam per semplificare JMS e quindi spiega come usare in modo semplice metodo asincrono e facility evento.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Questo capitolo innanzitutto spiega come sfruttare Seam per semplificare JMS e quindi spiega come usare il più semplice metodo asincrono e facility evento.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Jms.xml:40
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26502978&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11678---branches-community-Seam_2_2-doc-Seam_Reference_Guide-it-IT.-tp26502978p26502978.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26499305</id>
	<title>Seam SVN: r11677 - in modules/trunk: international and 2 other directories.</title>
	<published>2009-11-24T08:44:00Z</published>
	<updated>2009-11-24T08:44:00Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26499305&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;shane.bryzak@...&lt;/a&gt;
&lt;br&gt;Date: 2009-11-24 11:44:00 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11677
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/faces/src/test/java/org/jboss/seam/faces/international/FacesMessagesTest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/international/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/international/src/test/java/org/jboss/seam/international/StatusMessagesTest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/version-matrix/pom.xml
&lt;br&gt;Log:
&lt;br&gt;fixed up poms
&lt;br&gt;&lt;br&gt;&lt;br&gt;Modified: modules/trunk/faces/src/test/java/org/jboss/seam/faces/international/FacesMessagesTest.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/faces/src/test/java/org/jboss/seam/faces/international/FacesMessagesTest.java	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;+++ modules/trunk/faces/src/test/java/org/jboss/seam/faces/international/FacesMessagesTest.java	2009-11-24 16:44:00 UTC (rev 11677)
&lt;br&gt;@@ -28,9 +28,9 @@
&lt;br&gt;&amp;nbsp;import org.jboss.testharness.impl.packaging.Artifact;
&lt;br&gt;&amp;nbsp;import org.jboss.testharness.impl.packaging.Classes;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.context.ConversationContext;
&lt;br&gt;-import org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.log.LoggerProducer;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.test.AbstractWebBeansTest;
&lt;br&gt;+import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore;
&lt;br&gt;&amp;nbsp;import org.testng.annotations.Test;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/international/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/international/pom.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;+++ modules/trunk/international/pom.xml	2009-11-24 16:44:00 UTC (rev 11677)
&lt;br&gt;@@ -60,16 +60,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;jsr299-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.enterprise&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;cdi-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;webbeans-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/dependencies&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/project&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/international/src/test/java/org/jboss/seam/international/StatusMessagesTest.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/international/src/test/java/org/jboss/seam/international/StatusMessagesTest.java	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;+++ modules/trunk/international/src/test/java/org/jboss/seam/international/StatusMessagesTest.java	2009-11-24 16:44:00 UTC (rev 11677)
&lt;br&gt;@@ -9,9 +9,9 @@
&lt;br&gt;&amp;nbsp;import org.jboss.testharness.impl.packaging.Artifact;
&lt;br&gt;&amp;nbsp;import org.jboss.testharness.impl.packaging.Classes;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.context.ConversationContext;
&lt;br&gt;-import org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.log.LoggerProducer;
&lt;br&gt;&amp;nbsp;import org.jboss.webbeans.test.AbstractWebBeansTest;
&lt;br&gt;+import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore;
&lt;br&gt;&amp;nbsp;import org.testng.annotations.Test;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/version-matrix/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/version-matrix/pom.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;+++ modules/trunk/version-matrix/pom.xml	2009-11-24 16:44:00 UTC (rev 11677)
&lt;br&gt;@@ -54,6 +54,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;seam.version&amp;gt;3.0.0-SNAPSHOT&amp;lt;/seam.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;seam.groupId&amp;gt;org.jboss.seam&amp;lt;/seam.groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;weld.version&amp;gt;1.0.0&amp;lt;/weld.version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;weld-ext.version&amp;gt;1.0.0-SNAPSHOT&amp;lt;/weld-ext.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;weld.groupId&amp;gt;org.jboss.weld&amp;lt;/weld.groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;@@ -187,16 +188,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld-ext.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-logging&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}.servlet&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-servlet&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;@@ -308,6 +303,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;#{seam.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;seam-remoting&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${seam.version}&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${seam.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;seam-resources&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${seam.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26499305&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11677---in-modules-trunk%3A-international-and-2-other-directories.-tp26499305p26499305.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26497419</id>
	<title>Seam SVN: r11676 - in branches/enterprise/JBPAPP_4_3_FP01: examples/dvdstore/resources and 2 other directories.</title>
	<published>2009-11-24T07:02:05Z</published>
	<updated>2009-11-24T07:02:05Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: manaRH
&lt;br&gt;Date: 2009-11-24 10:02:04 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11676
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/examples/dvdstore/resources/hibernate.cfg.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/examples/todo/resources/hibernate.cfg.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/src/test/integration/resources/hibernate.cfg.xml
&lt;br&gt;Log:
&lt;br&gt;reverting jbpm upgrade to 3.2.8
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml	2009-11-24 12:32:01 UTC (rev 11675)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;@@ -254,7 +254,7 @@
&lt;br&gt;&amp;nbsp;			&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;groupId&amp;gt;org.jbpm.jbpm3&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;artifactId&amp;gt;jbpm-jpdl&amp;lt;/artifactId&amp;gt;
&lt;br&gt;-				&amp;lt;version&amp;gt;3.2.8&amp;lt;/version&amp;gt;
&lt;br&gt;+				&amp;lt;version&amp;gt;3.2.5.SP5&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;exclusions&amp;gt;
&lt;br&gt;&amp;nbsp;					&amp;lt;exclusion&amp;gt;
&lt;br&gt;&amp;nbsp;						&amp;lt;groupId&amp;gt;org.hibernate&amp;lt;/groupId&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/examples/dvdstore/resources/hibernate.cfg.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/examples/dvdstore/resources/hibernate.cfg.xml	2009-11-24 12:32:01 UTC (rev 11675)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/examples/dvdstore/resources/hibernate.cfg.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;@@ -51,7 +51,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- hql queries and type defs --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.queries.hbm.xml&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.types.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- graph.action mapping files --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/graph/action/MailAction.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/examples/todo/resources/hibernate.cfg.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/examples/todo/resources/hibernate.cfg.xml	2009-11-24 12:32:01 UTC (rev 11675)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/examples/todo/resources/hibernate.cfg.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;@@ -51,7 +51,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- hql queries and type defs --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.queries.hbm.xml&amp;quot; /&amp;gt;
&lt;br&gt;-	&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.types.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- graph.action mapping files --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/graph/action/MailAction.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/src/test/integration/resources/hibernate.cfg.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/src/test/integration/resources/hibernate.cfg.xml	2009-11-24 12:32:01 UTC (rev 11675)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/src/test/integration/resources/hibernate.cfg.xml	2009-11-24 15:02:04 UTC (rev 11676)
&lt;br&gt;@@ -40,7 +40,6 @@
&lt;br&gt;&amp;nbsp; ###################### 
&lt;br&gt;&amp;nbsp; hql queries and type defs --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.queries.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/db/hibernate.types.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- graph.action mapping files --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;mapping resource=&amp;quot;org/jbpm/graph/action/MailAction.hbm.xml&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;!-- graph.def mapping files --&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26497419&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11676---in-branches-enterprise-JBPAPP_4_3_FP01%3A-examples-dvdstore-resources-and-2-other-directories.-tp26497419p26497419.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26495128</id>
	<title>Seam SVN: r11675 - branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/blog.</title>
	<published>2009-11-24T04:32:02Z</published>
	<updated>2009-11-24T04:32:02Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495128&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kpiwko@...&lt;/a&gt;
&lt;br&gt;Date: 2009-11-24 07:32:01 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11675
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/blog/build.xml
&lt;br&gt;Log:
&lt;br&gt;JBPAPP-3110
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/blog/build.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/blog/build.xml	2009-11-24 08:51:59 UTC (rev 11674)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/src/test/ftest/examples/blog/build.xml	2009-11-24 12:32:01 UTC (rev 11675)
&lt;br&gt;@@ -22,6 +22,7 @@
&lt;br&gt;&amp;nbsp;--&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;project name=&amp;quot;blog.ftest.build&amp;quot; basedir=&amp;quot;.&amp;quot; default=&amp;quot;build&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;property name=&amp;quot;example.name&amp;quot; value=&amp;quot;blog&amp;quot; /&amp;gt;
&lt;br&gt;+	&amp;lt;property name=&amp;quot;jboss.example.ready.check.url&amp;quot; value=&amp;quot;seam-blog/home.seam&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	&amp;lt;import file=&amp;quot;../build.xml&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/project&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495128&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11675---branches-enterprise-JBPAPP_4_3_FP01-src-test-ftest-examples-blog.-tp26495128p26495128.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26492454</id>
	<title>Seam SVN: r11674 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-24T00:51:59Z</published>
	<updated>2009-11-24T00:51:59Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 03:51:59 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11674
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;Log:
&lt;br&gt;Edited the Tutorial chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 08:09:15 UTC (rev 11673)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 08:51:59 UTC (rev 11674)
&lt;br&gt;@@ -97,7 +97,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;validation&amp;lt;/emphasis&amp;gt; declaratively, via annotations. It also needs some extra
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annotations that define the class as a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;User.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Entity
&lt;br&gt;@@ -198,7 +198,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;-&amp;lt;/example&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The most important things to notice in this example are the &amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt; and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; annotations. These annotations establish that this class is a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We'll see below that the properties of our &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class are bound
&lt;br&gt;@@ -214,7 +214,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The stateless session bean class: &amp;lt;literal&amp;gt;RegisterAction.java&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Most Seam application use session beans as JSF action listeners (you can use JavaBeans instead if
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Most Seam applications use session beans as JSF action listeners (you can use JavaBeans instead if
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you like). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We have exactly one JSF action in our application, and one session bean method attached to it. In
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this case, we'll use a stateless session bean, since all the state associated with our action is
&lt;br&gt;@@ -392,18 +392,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The Seam component deployment descriptor: &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If you've used many Java frameworks before, you'll be used to having to declare all your
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component classes in some kind of XML file that gradually grows more and more unmanageable as your
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;project matures. You'll be relieved to know that Seam does not require that application components
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;be accompanied by XML. Most Seam applications require a very small amount of XML that does not grow
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;very much as the project gets bigger. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If you have used Java frameworks previously, you will be used to declaring your component classes in an XML file. You have probably also noticed that as a project matures, these XML files tend to become unmanageable. Fortunately, Seam does not require application components to be accompanied by XML. Most Seam applications require only a small amount of XML, which does not tend to increase in size as projects expand. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Nevertheless, it is often useful to be able to provide for &amp;lt;emphasis&amp;gt;some&amp;lt;/emphasis&amp;gt; external
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration of &amp;lt;emphasis&amp;gt;some&amp;lt;/emphasis&amp;gt; components (particularly the components built in to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam). You have a couple of options here, but the most flexible option is to provide this
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration in a file called &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, located in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;WEB-INF&amp;lt;/literal&amp;gt; directory. We'll use the &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; file to tell
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam how to find our EJB components in JNDI: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; However, it is often useful to be able to provide for some external configuration of some components, particularly the components that are built into Seam. The most flexible option, here, is to provide this configuration in a file called &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt;, located in the &amp;lt;filename&amp;gt;WEB-INF&amp;lt;/filename&amp;gt; directory. The &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt; file can be used to tell Seam how to find our EJB components in JNDI: &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;
&lt;br&gt;@@ -504,17 +495,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Note that we don't need
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;any JSF managed bean declarations! Our managed beans are annotated Seam components. In Seam applications,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the &amp;lt;literal&amp;gt;faces-config.xml&amp;lt;/literal&amp;gt; is used much less often than in plain JSF. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; &amp;nbsp;Note that JSF managed bean declarations are unnecessary because the managed beans are annotated Seam components. In Seam applications, &amp;lt;filename&amp;gt;faces-config.xml&amp;lt;/filename&amp;gt; is used much less often than in plain JSF. Here, we use it simply to enable Facelets (and not JSP) as the view handler.
&lt;br&gt;+ &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; In fact, once you have all the basic descriptors set up, the &amp;lt;emphasis&amp;gt;only&amp;lt;/emphasis&amp;gt; XML you
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;need to write as you add new functionality to a Seam application is orchestration: navigation rules 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or jBPM process definitions. Seam takes the view that &amp;lt;emphasis&amp;gt;process flow&amp;lt;/emphasis&amp;gt; and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;configuration data&amp;lt;/emphasis&amp;gt; are the only things that truly belong in XML. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Once you have set up all the basic descriptors, the only XML you need write to add functionality to a Seam application will be for orchestration: navigation rules or jBPM process definitions. Seam operates on the principle that process flow and configuration data are all that truly belongs in XML. &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; In this simple example, we don't even need a navigation rule, since we decided to embed the view
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;id in our action code. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The previous example does not require a navigation rule, since the view ID was embedded in our action code. &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -579,7 +565,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The view: &amp;lt;literal&amp;gt;register.xhtml&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;registered.xhtml&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The view pages for a Seam application could be implemented using any technology that supports
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF. In this example we use Facelets, because we think it's better than JSP.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF. This example uses Facelets.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -638,9 +624,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This is a boring old Facelets page using some embedded EL. There is nothing specific to Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;here. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -681,8 +664,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This deployment descriptor links modules in the enterprise archive and binds the web application
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to the context root &amp;lt;literal&amp;gt;/seam-registration&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We've now seen &amp;lt;emphasis&amp;gt;all&amp;lt;/emphasis&amp;gt; the files in the entire application! &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -813,7 +794,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; But &amp;lt;literal&amp;gt;MessageManagerBean&amp;lt;/literal&amp;gt; is also responsible for fetching the list of messages
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the first time we navigate to the message list page. There are various ways the user could navigate
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to the page, and not all of them are preceded by a JSF action&amp;#8212;the user might have
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to the page, and not all of them are preceded by a JSF action &amp;#8212; the user might have
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bookmarked the page, for example. So the job of fetching the message list takes place in a Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;factory method&amp;lt;/emphasis&amp;gt;, instead of in an action listener method. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -934,12 +915,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void destroy();
&lt;br&gt;&amp;nbsp;}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; From now on, we won't show local interfaces in our code examples. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Let's skip over &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;persistence.xml&amp;lt;/literal&amp;gt;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; From this point, local interfaces are no longer shown in these code examples.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;persistence.xml&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;ejb-jar.xml&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;faces-config.xml&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and &amp;lt;literal&amp;gt;application.xml&amp;lt;/literal&amp;gt; since they are much the same as the previous example, and go
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;straight to the JSP. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and &amp;lt;literal&amp;gt;application.xml&amp;lt;/literal&amp;gt; operate in a similar fashion to the previous example and to directly to the JSP. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1055,8 +1035,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Understanding the code&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The center of this example is the jBPM process definition. There are also two JSPs and two trivial
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaBeans (There was no reason to use session beans, since they do not access the database, or have any
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;other transactional behavior). Let's start with the process definition: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaBeans. (There was no reason to use session beans, since they do not access the database, or have any
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;other transactional behavior.) Let's start with the process definition: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;todo.jpdl.xml Example&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1531,7 +1511,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/imageobject&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Now that we have seen the pageflow, it is very, very easy to understand the rest of the application! &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Now that we have seen the pageflow, it is easy to understand the rest of the application. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Here is the main page of the application, &amp;lt;literal&amp;gt;numberGuess.jspx&amp;lt;/literal&amp;gt;: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1647,7 +1627,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; As is &amp;lt;literal&amp;gt;lose.jspx&amp;lt;/literal&amp;gt; (which I can't be bothered copy/pasting). Finally, the JavaBean
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;filename&amp;gt;lose.jspx&amp;lt;/filename&amp;gt; is also as expected. Finally, the JavaBean
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;NumberGuess.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -1786,7 +1766,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/programlisting&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; As you can see, this Seam component is pure business logic! It doesn't need to know anything at all
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; As you can see, this Seam component is pure business logic. It doesn't need to know anything at all
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;about the user interaction flow. This makes the component potentially more reuseable. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -1849,50 +1829,60 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/screenshot&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The booking application uses JSF, EJB 3.0 and Seam, together with Facelets for the view. There is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;also a port of this application to JSF, Facelets, Seam, JavaBeans and Hibernate3. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The booking application uses JSF, EJB 3.0 and Seam, together with Facelets for the view. There is also a port of this application to JSF, Facelets, Seam, JavaBeans and Hibernate3. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; One of the things you'll notice if you play with this application for long enough is that it is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extremely &amp;lt;emphasis&amp;gt;robust&amp;lt;/emphasis&amp;gt;. You can play with back buttons and browser refresh and opening
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;multiple windows and entering nonsensical data as much as you like and you will find it very difficult
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to make the application crash. You might think that we spent weeks testing and fixing bugs to achive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this. Actually, this is not the case. Seam was designed to make it very straightforward to build robust
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;web applications and a lot of robustness that you are probably used to having to code yourself comes
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;naturally and automatically with Seam. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; As you browse the sourcecode of the example application, and learn how the application works, observe
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;how the declarative state management and integrated validation has been used to achieve this robustness. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; One of the things you will notice about this application is that it is extremely robust. You can open multiple windows, use the back and browser refresh buttons, and enter nonsensical data, but the application is difficult to crash. Seam was designed to make building robust web applications straightforward, so robustness that would previously be hand-coded comes naturally and automatically with Seam. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; As you browse the source code of the example application and learn how the application works, pay particular attention to the way the declarative state management and integrated validation has been used to achieve this robustness. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Overview of the booking example&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The project structure is identical to the previous one, to install and deploy this application,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The project structure is identical to the previous one. To install and deploy this application,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;please refer to &amp;lt;xref linkend=&amp;quot;try-examples&amp;quot;/&amp;gt;. Once you've successfully started the application, you
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;can access it by pointing your browser to &amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://localhost:8080/seam-booking/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:8080/seam-booking/&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&lt;a href=&quot;http://localhost:8080/seam-booking/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:8080/seam-booking/&lt;/a&gt;&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ulink&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Just nine classes (plus six session beans local interfaces) where used to implement this application.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Six session bean action listeners contain all the business logic for the listed features. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The application uses six session beans to implement the business logic for the following features: &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;BookingListAction&amp;lt;/literal&amp;gt; retrieves existing bookings for the currently logged in user. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;AuthenticatorAction&amp;lt;/literal&amp;gt; provides the login authentication logic.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;ChangePasswordAction&amp;lt;/literal&amp;gt; updates the password of the currently logged in user.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;BookingListAction&amp;lt;/literal&amp;gt; retrieves existing bookings for the currently logged in user.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;HotelBookingAction&amp;lt;/literal&amp;gt; implements the core functionality of the application: hotel
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;room searching, selection, booking and booking confirmation. This functionality is implemented as a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt;, so this is the most interesting class in the application. &amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;RegisterAction&amp;lt;/literal&amp;gt; registers a new system user.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ChangePasswordAction&amp;lt;/literal&amp;gt; updates the password of the currently logged in user.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;HotelBookingAction&amp;lt;/literal&amp;gt; implements booking and confirmation functionality. This is implemented as a &amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt;, so this is one of the more important classes in the application.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;HotelSearchingAction&amp;lt;/literal&amp;gt; implements the hotel search functionality.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;RegisterAction&amp;lt;/literal&amp;gt; registers a new system user.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Three entity beans implement the application's persistent domain model. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -1909,66 +1899,36 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Understanding Seam conversations&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We encourage you browse the sourcecode at your pleasure. In this tutorial we'll concentrate upon one
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;particular piece of functionality: hotel search, selection, booking and confirmation. From the point of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;view of the user, everything from selecting a hotel to confirming a booking is one continuous unit of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;work, a &amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt;. Searching, however, is &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; part of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation. The user can select multiple hotels from the same search results page, in different
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;browser tabs. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Most web application architectures have no first class construct to represent a conversation. This
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;causes enormous problems managing state associated with the conversation. Usually, Java web applications
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use a combination of two techniques: first, some state is thrown into the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt;; second, persistable state is flushed to the database after every
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request, and reconstructed from the database at the beginning of each new request. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Since the database is the least scalable tier, this often results in an utterly unacceptable lack of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scalability. Added latency is also a problem, due to the extra traffic to and from the database on every
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request. To reduce this redundant traffic, Java applications often introduce a data (second-level) cache
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that keeps commonly accessed data between requests. This cache is necessarily inefficient, because
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;invalidation is based upon an LRU policy instead of being based upon when the user has finished working
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with the data. Furthermore, because the cache is shared between many concurrent transactions, we've
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;introduced a whole raft of problem's associated with keeping the cached state consistent with the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;database. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Now consider the state held in the &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt;. By very careful programming, we
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;might be able to control the size of the session data. This is a lot more difficult than it sounds,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;since web browsers permit ad hoc non-linear navigation. But suppose we suddenly discover a system
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requirement that says that a user is allowed to have &amp;lt;emphasis&amp;gt;mutiple concurrent
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversations&amp;lt;/emphasis&amp;gt;, halfway through the development of the system (this has happened to me).
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Developing mechanisms to isolate session state associated with different concurrent conversations, and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;incorporating failsafes to ensure that conversation state is destroyed when the user aborts one of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversations by closing a browser window or tab is not for the faint hearted (I've implemented this
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stuff twice so far, once for a client application, once for Seam, but I'm famously psychotic). &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Now there is a better way. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam introduces the &amp;lt;emphasis&amp;gt;conversation context&amp;lt;/emphasis&amp;gt; as a first class construct. You can
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;safely keep conversational state in this context, and be assured that it will have a well-defined
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lifecycle. Even better, you won't need to be continually pushing data back and forth between the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application server and the database, since the conversation context is a natural cache of data that the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user is currently working with. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Usually, the components we keep in the conversation context are stateful session beans. (We can also
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;keep entity beans and JavaBeans in the conversation context.) There is an ancient canard in the Java
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;community that stateful session beans are a scalability killer. This may have been true in 1998 when
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WebFoobar 1.0 was released. It is no longer true today. Application servers like JBoss AS have extremely
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sophisticated mechanisms for stateful session bean state replication. (For example, the JBoss EJB3
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container performs fine-grained replication, replicating only those bean attribute values which actually
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;changed.) Note that all the traditional technical arguments for why stateful beans are inefficient apply
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;equally to the &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt;, so the practice of shifting state from business tier
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stateful session bean components to the web session to try and improve performance is unbelievably
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;misguided. It is certainly possible to write unscalable applications using stateful session beans, by
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using stateful beans incorrectly, or by using them for the wrong thing. But that doesn't mean you should
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;never&amp;lt;/emphasis&amp;gt; use them. Anyway, Seam guides you toward a safe usage model. Welcome to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2005. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; OK, I'll stop ranting now, and get back to the tutorial. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This tutorial concentrates upon one particular piece of functionality: placing a hotel reservation. From the user&amp;#39;s perspective, hotel search, selection, booking, and confirmation are one continuous unit of work — a &amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt;. However, from our perspective, it is important that searching remains separate so that users can select multiple hotels from the same search results page, and open distinct conversations in separate browswer tabs.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Most web application architectures do not have first class constructs to represent conversations, which makes managing conversational state problematic. Java web applications generally use a combination of several techniques. Some state is transferred in the URL, but what cannot be transferred here is either added to the &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt; or recorded to the database at the beginning and end of each request.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Since the database is the least-scalable tier, this drastically reduces scalability. The extra traffic to and from the database also increases latency. In order to reduce redundant traffic, Java applications often introduce a data cache to store commonly-accessed data between requests. However, since invalidation is based upon an LRU policy, rather than whether the user has finished using the data, this cache is inefficient. It is also shared between concurrent transactions, which introduces further issues associated with keeping the cached state consistent with that of the database.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;State held in the &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt; suffers similar issues. The &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt; is fine for storing true session data — data common to all requests between user and application — but for data related to individual request series, it does not work so well. Conversations stored here quickly break down when dealing with multiple windows or the back button. Without careful programming, data in the &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt; can also grow quite large, which makes the session difficult to cluster. Developing mechanisms to deal with the problems these methods present (by isolating session state associated with distinct concurrent conversations, and incorporating failsafes to ensure conversation state is destroyed when a conversation is aborted) can be complicated.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam greatly improves conditions by introducing &amp;lt;emphasis&amp;gt;conversation context&amp;lt;/emphasis&amp;gt; as a first class construct. Conversation state is stored safely in this context, with a well-defined lifecycle. Even better, there is no need to push data continually between the application server and the database; the conversation context is a natural cache for currently-used data.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The booking example application shows how stateful components with different scopes can collaborate
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;together to achieve complex behaviors. The main page of the booking application allows the user to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;search for hotels. The search results are kept in the Seam session scope. When the user navigates to one
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of these hotels, a conversation begins, and a conversation scoped component calls back to the session
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scoped component to retrieve the selected hotel. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The booking example also demonstrates the use of RichFaces Ajax to implement rich client behavior without
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the use of handwritten JavaScript. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In the following application, the conversation context is used to store stateful session beans. These are sometimes regarded as detrimental to scalability, and in the past, they may have been. However, modern application servers have sophisticated mechanisms for stateful session bean replication. JBoss AS performs fine-grained replication, replicating only altered bean attribute values. Used correctly, stateful session beans pose no scalability problems, but for those uncomfortable or unfamiliar with the use of stateful session beans, Seam also allows the use of POJOs.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The booking example shows one way that stateful components with different scopes can collaborate to achieve complex behaviors. The main page of the booking application allows the user to search for hotels. Search results are stored in the Seam session scope. When the user navigate to a hotel, a conversation begins, and a conversation scoped component retrieves the selected hotel from the session scoped component.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The booking example also demonstrates the use of RichFaces Ajax to implement rich client behavior without handwritten JavaScript.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The search function is implemented with a session-scoped stateful session bean, similar to the one used in the message list example.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The search functionality is implemented using a session-scope stateful session bean, similar to the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;one we saw in the message list example above. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;HotelSearchingAction.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;@@ -2724,7 +2684,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Notice that the example is using page actions for some other functionality&amp;#8212;the login
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Notice that the example is using page actions for some other functionality &amp;#8212; the login
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;challenge, and the pageview counter. Also notice the use of a parameter in the page action method
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;binding. This is not a standard feature of JSF EL, but Seam lets you use it, not just for page actions,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;but also in JSF method bindings. &amp;lt;/para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26492454&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11674---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26492454p26492454.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491978</id>
	<title>Seam SVN: r11673 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-24T00:09:15Z</published>
	<updated>2009-11-24T00:09:15Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 03:09:15 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11673
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;Log:
&lt;br&gt;Edited part of Tutorial chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 08:00:17 UTC (rev 11672)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 08:09:15 UTC (rev 11673)
&lt;br&gt;@@ -6,29 +6,27 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;try-examples&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Try the examples&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; In this tutorial, we'll assume that you are using JBoss EAP 4.3.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam provides a number of example applications which demonstrate how to use a variety of Seam's features. This tutorial will guide you through a few of those examples to help you get started learning Seam. The Seam examples are located in the &amp;lt;filename&amp;gt;examples&amp;lt;/filename&amp;gt; subdirectory of the Seam distribution. The first example, on registration, is in the &amp;lt;filename&amp;gt;examples/registration&amp;lt;/filename&amp;gt; directory, and so on.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Each example has the same directory structure:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The directory structure of each example in Seam follows this pattern: &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Web pages, images and stylesheets may be found in
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;filename&amp;gt;examples/&amp;lt;replaceable&amp;gt;registration&amp;lt;/replaceable&amp;gt;/view&amp;lt;/filename&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;filename&amp;gt;view&amp;lt;/filename&amp;gt; directory contains view-related files such as web page templates, images and stylesheets. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Resources such as deployment descriptors and data import scripts may be found in
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;filename&amp;gt;examples/&amp;lt;replaceable&amp;gt;registration&amp;lt;/replaceable&amp;gt;/resources&amp;lt;/filename&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;filename&amp;gt;resources&amp;lt;/filename&amp;gt; directory contains deployment descriptors and other configuration files. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Java source code may be found in
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;filename&amp;gt;examples/&amp;lt;replaceable&amp;gt;registration&amp;lt;/replaceable&amp;gt;/src&amp;lt;/filename&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;filename&amp;gt;src&amp;lt;/filename&amp;gt; directory contains the application source code. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Ant build script is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;filename&amp;gt;examples/&amp;lt;replaceable&amp;gt;registration&amp;lt;/replaceable&amp;gt;/build.xml&amp;lt;/filename&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; &amp;lt;filename&amp;gt;build.xml&amp;lt;/filename&amp;gt; is the Ant script that builds and runs the example.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;@@ -37,10 +35,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Running the examples on JBoss AS&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; First, make sure you have Ant correctly installed, with &amp;lt;literal&amp;gt;$ANT_HOME&amp;lt;/literal&amp;gt; and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;$JAVA_HOME&amp;lt;/literal&amp;gt; set correctly. Next, make sure you set the location of your EAP embedded JBoss AS
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;$JAVA_HOME&amp;lt;/literal&amp;gt; set correctly. Next, make sure you set the location of your Enterprise Application Platform embedded JBoss AS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;installation in the &amp;lt;literal&amp;gt;build.properties&amp;lt;/literal&amp;gt; file in the root folder of your Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;installation, predefined location is /var/lib/jbossas. If you haven't already done so, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;start JBoss EAP AS now by typing &amp;lt;literal&amp;gt;bin/run.sh&amp;lt;/literal&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;start JBoss Enterprise Application Platform AS now by typing &amp;lt;literal&amp;gt;bin/run.sh&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or &amp;lt;literal&amp;gt;bin/run.bat&amp;lt;/literal&amp;gt; in the root directory of your JBoss installation. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Now, build and deploy the example by typing &amp;lt;literal&amp;gt;ant deploy&amp;lt;/literal&amp;gt; in the
&lt;br&gt;@@ -99,6 +97,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;validation&amp;lt;/emphasis&amp;gt; declaratively, via annotations. It also needs some extra
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annotations that define the class as a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;User.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Entity
&lt;br&gt;@@ -199,7 +198,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;-
&lt;br&gt;+&amp;lt;/example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The most important things to notice in this example are the &amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt; and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; annotations. These annotations establish that this class is a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We'll see below that the properties of our &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class are bound
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491978&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11673---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491978p26491978.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491895</id>
	<title>Seam SVN: r11672 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-24T00:00:17Z</published>
	<updated>2009-11-24T00:00:17Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 03:00:17 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11672
&lt;br&gt;&lt;br&gt;Removed:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.ent
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.xml
&lt;br&gt;Log:
&lt;br&gt;Removed old book version files.
&lt;br&gt;&lt;br&gt;Deleted: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.ent
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.ent	2009-11-24 07:59:12 UTC (rev 11671)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.ent	2009-11-24 08:00:17 UTC (rev 11672)
&lt;br&gt;@@ -1,3 +0,0 @@
&lt;br&gt;-&amp;lt;!ENTITY HOLDER &amp;quot;Red Hat, Inc&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;!ENTITY YEAR &amp;quot;2008&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;!ENTITY VERSION &amp;quot;4.3.0_CP02_FP01&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;Deleted: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.xml	2009-11-24 07:59:12 UTC (rev 11671)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Seam_Reference_Guide_CP02_FP01.xml	2009-11-24 08:00:17 UTC (rev 11672)
&lt;br&gt;@@ -1,41 +0,0 @@
&lt;br&gt;-&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;-&amp;lt;!DOCTYPE book PUBLIC &amp;quot;-//OASIS//DTD DocBook XML V4.3//EN&amp;quot; &amp;quot;&lt;a href=&quot;http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd&lt;/a&gt;&amp;quot; &amp;nbsp;[ ]&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;book&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href=&amp;quot;Book_Info.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href=&amp;quot;Preface.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;lt;xi:include href=&amp;quot;Tutorial.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Gettingstarted.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Getting_Started_With_JBoss_Tools.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Migration.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Concepts.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Xml.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Events.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Conversations.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Jbpm.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Persistence.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Validation.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Groovy.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Framework.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Drools.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Security.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;I18n.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Text.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Itext.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Mail.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Jms.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Cache.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Webservices.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Remoting.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Spring.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Hsearch.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Configuration.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Annotations.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Components.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Controls.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Elenhancements.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Testing.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Tools.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;xi:include href= &amp;quot;Dependencies.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;-&amp;lt;xi:include href=&amp;quot;Revision_History.xml&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot; /&amp;gt;
&lt;br&gt;-&amp;lt;/book&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491895&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11672---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491895p26491895.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491869</id>
	<title>Seam SVN: r11671 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T23:59:12Z</published>
	<updated>2009-11-23T23:59:12Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 02:59:12 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11671
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Spring.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Spring chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Spring.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Spring.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Spring.xml	2009-11-24 07:59:12 UTC (rev 11671)
&lt;br&gt;@@ -11,9 +11,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;Spring integration in Seam is marked as technology preview, so standard support is not guaranteed.&amp;lt;/para&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Note! The Spring integration code is included in the jboss-seam-ioc library. &amp;nbsp;This dependency is required for
&lt;br&gt;+ &amp;nbsp;&amp;lt;note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The Spring integration code is included in the jboss-seam-ioc library. &amp;nbsp;This dependency is required for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;all seam-spring integration techniques covered in this chapter.&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam's support for Spring provides the ability to: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -83,18 +85,18 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/bean&amp;gt;
&lt;br&gt;&amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Now for the caveat!&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;However, Spring, unlike Seam, was not designed to support a stateful component model with multiple contexts. Spring injection does not occur at method invocation time, but when the Spring bean is instantiated.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The instance available when the bean is instantiated will be used for the entire life of the bean. Say you inject a Seam conversation-scoped component instance directly into a singleton Spring bean — that singleton will hold a reference to the same instance long after the conversation is over. This is called scope &amp;lt;emphasis&amp;gt;impedance&amp;lt;/emphasis&amp;gt;. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam bijection maintains scope impedance naturally as an invocation flows through the system. In Spring, we must inject a proxy of the Seam component, and resolve the reference when the proxy is invoked.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam was designed from the ground up to support a stateful component model with multiple contexts. Spring
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;was not. Unlike Seam bijection, Spring injection does not occur at method invocation time. Instead,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;injection happens only when the Spring bean is instantiated. So the instance available when the bean is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instantiated will be the same instance that the bean uses for the entire life of the bean. For example, if a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam &amp;lt;literal&amp;gt;CONVERSATION&amp;lt;/literal&amp;gt;-scoped component instance is directly injected into a singleton Spring
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bean, that singleton will hold a reference to the same instance long after the conversation is over! We call
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this problem &amp;lt;emphasis&amp;gt;scope impedance&amp;lt;/emphasis&amp;gt;. Seam bijection ensures that scope impedance is maintained
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;naturally as an invocation flows through the system. In Spring, we need to inject a proxy of the Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component, and resolve the reference when the proxy is invoked.&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;&amp;lt;seam:instance/&amp;gt;&amp;lt;/literal&amp;gt; tag lets us automatically proxy the Seam component.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;seam:instance id=&amp;quot;seamManagedEM&amp;quot; name=&amp;quot;someManagedEMComponent&amp;quot; proxy=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;@@ -106,7 +108,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This example shows one way to use a Seam-managed persistence context from a Spring bean. (For a more robust
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;way to use Seam-managed persistence contexts as a replacement for the Spring
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;OpenEntityManagerInView&amp;lt;/literal&amp;gt; filter see section on
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xref linkend=&amp;quot;spring-persistence&amp;quot;/&amp;gt;Using a Seam Managed Persistence Context in Spring)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xref linkend=&amp;quot;spring-persistence&amp;quot;/&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -197,7 +199,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The prefix of the scope name may be changed by specifying the &amp;lt;literal&amp;gt;prefix&amp;lt;/literal&amp;gt; attribute in the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;configure-scopes&amp;lt;/literal&amp;gt; definition. (The default prefix is &amp;lt;literal&amp;gt;seam.&amp;lt;/literal&amp;gt;) &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; By default an instance of a Spring Component registered in this way is not automatically created when
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; By default an instance of a Spring component registered in this way is not automatically created when
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;referenced using &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;. &amp;nbsp;To have an instance auto-created you must either specify &amp;lt;literal&amp;gt;@In(create=true)&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at the injection point to identify a specific bean to be auto created or you can use the &amp;lt;literal&amp;gt;default-auto-create&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;attribute of &amp;lt;literal&amp;gt;configure-scopes&amp;lt;/literal&amp;gt; to make all spring beans who use a seam scope auto created.&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -228,9 +230,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction APIs (JPA, Hibernate, JDO, and JTA) &amp;nbsp;Spring also provides tight integrations with many application
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server TransactionManagers such as Websphere and Weblogic. &amp;nbsp;Spring
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction management exposes support for many advanced features such as nested
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transactions and supports full Java EE transaction propagation rules like REQUIRES_NEW and NOT_SUPPORTED. &amp;nbsp;For more
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transactions and supports full Java EE transaction propagation rules like REQUIRES_NEW and NOT_SUPPORTED. &amp;nbsp;&amp;lt;!--For more
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;information see the spring documentation
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html&lt;/a&gt;&amp;quot;&amp;gt;here.&amp;lt;/ulink&amp;gt;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html&lt;/a&gt;&amp;quot;&amp;gt;here.&amp;lt;/ulink&amp;gt;--&amp;gt;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;To configure Seam to use Spring transactions enable the SpringTransaction component like so:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -251,7 +253,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;an persistence context beyond the scope of a single web request
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(&amp;lt;literal&amp;gt;OpenEntityManagerInViewFilter&amp;lt;/literal&amp;gt;). &amp;nbsp;So, it would be nice if Spring developers
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;could have access to a Seam managed persistence context using all of the same tools Spring provides
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for integration with JPA(e.g. &amp;lt;literal&amp;gt;PersistenceAnnotationBeanPostProcessor&amp;lt;/literal&amp;gt;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for integration with JPA (for example, &amp;lt;literal&amp;gt;PersistenceAnnotationBeanPostProcessor&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;JpaTemplate&amp;lt;/literal&amp;gt;, etc.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam provides a way for Spring to access a Seam managed persistence context with
&lt;br&gt;@@ -282,8 +284,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	&amp;lt;property name=&amp;quot;persistenceContextName&amp;quot; value=&amp;quot;entityManager&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/bean&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		&amp;lt;para&amp;gt;Where 'persistenceContextName' is the name of the Seam managed persistence context component. &amp;nbsp;By default
&lt;br&gt;-		this EntityManagerFactory has a unitName equal to &amp;nbsp;the Seam component name or in this case 'entityManager'.
&lt;br&gt;+		&amp;lt;para&amp;gt;Where &amp;lt;literal&amp;gt;persistenceContextName&amp;lt;/literal&amp;gt; is the name of the Seam managed persistence context component. &amp;nbsp;By default
&lt;br&gt;+		this EntityManagerFactory has a unitName equal to &amp;nbsp;the Seam component name or in this case &amp;lt;literal&amp;gt;entityManager&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp;		If you wish to provide a different unitName you can do so by providing a persistenceUnitName like so:
&lt;br&gt;&amp;nbsp;		&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -330,18 +332,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using a Seam Managed Hibernate Session in Spring&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The Seam Spring integration also provides support for complete access to a Seam managed Hibernate session
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using spring's tools. &amp;nbsp;This integration is very similar to the &amp;lt;xref linkend=&amp;quot;spring-persistence&amp;quot;/&amp;gt;JPA integration.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using spring's tools. &amp;nbsp;This integration is very similar to the &amp;lt;xref linkend=&amp;quot;spring-persistence&amp;quot;/&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Like Spring's JPA integration spring's propagation model allows only one open EntityManager per
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EntityManagerFactory per transaction??? to be available to spring tools. &amp;nbsp;So, the Seam Session integration works
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by wrapping a proxy SessionFactory around a Seam managed Hibernate session
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Spring's propagation model allows only one open &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; per &amp;lt;literal&amp;gt;EntityManagerFactory&amp;lt;/literal&amp;gt; to be available to Spring tools, so Seam integrates by wrapping a proxy &amp;lt;literal&amp;gt;SessionFactory&amp;lt;/literal&amp;gt; around a Seam-managed Hibernate session context. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;bean id=&amp;quot;seamSessionFactory&amp;quot; class=&amp;quot;org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;property name=&amp;quot;sessionName&amp;quot; value=&amp;quot;hibernateSession&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/bean&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		&amp;lt;para&amp;gt;Where 'sessionName' is the name of the &amp;lt;literal&amp;gt;persistence:managed-hibernate-session&amp;lt;/literal&amp;gt; component.
&lt;br&gt;+		&amp;lt;para&amp;gt;Where &amp;lt;literal&amp;gt;sessionName&amp;lt;/literal&amp;gt; is the name of the &amp;lt;literal&amp;gt;persistence:managed-hibernate-session&amp;lt;/literal&amp;gt; component.
&lt;br&gt;&amp;nbsp;		 This SessionFactory can then be used in any Spring provided tools. &amp;nbsp;The integration
&lt;br&gt;&amp;nbsp;		 also provides support for calls to &amp;lt;literal&amp;gt;SessionFactory.getCurrentInstance()&amp;lt;/literal&amp;gt; as long as you call
&lt;br&gt;&amp;nbsp;		 getCurrentInstance() on the &amp;lt;literal&amp;gt;SeamManagedSessionFactory&amp;lt;/literal&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -389,7 +388,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Spring provides an abstraction for executing code asynchronously called a &amp;lt;literal&amp;gt;TaskExecutor&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Spring Seam integration allows for the use of a Spring &amp;lt;literal&amp;gt;TaskExecutor&amp;lt;/literal&amp;gt; for executing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;immediate &amp;lt;literal&amp;gt;@Asynchronous&amp;lt;/literal&amp;gt; method calls. &amp;nbsp;To enable this functionality install the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;SpringTaskExecutorDispatchor&amp;lt;/literal&amp;gt; and provide a spring bean defined taskExecutor like so:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;SpringTaskExecutorDispatcher&amp;lt;/literal&amp;gt; and provide a spring bean defined taskExecutor like so:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;spring:task-executor-dispatcher task-executor=&amp;quot;#{springThreadPoolTaskExecutor}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491869&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11671---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491869p26491869.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491579</id>
	<title>Seam SVN: r11670 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T23:37:05Z</published>
	<updated>2009-11-23T23:37:05Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 02:37:05 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11670
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Testing.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Text.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Validation.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml
&lt;br&gt;Log:
&lt;br&gt;Edited testing, text, tools, validation, webservices and xml chapters.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Testing.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Testing.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Testing.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;@@ -3,7 +3,7 @@
&lt;br&gt;&amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;Most Seam applications will need at least two kinds of automated tests:
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;unit tests&amp;lt;/emphasis&amp;gt;, which test a particular Seam component
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;in isolation, and scripted &amp;lt;emphasis&amp;gt;integration tests&amp;lt;/emphasis&amp;gt; which
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;in isolation, and &amp;lt;emphasis&amp;gt;scripted integration tests&amp;lt;/emphasis&amp;gt; which
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;exercise all Java layers of the application (that is, everything except the
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;view pages).
&lt;br&gt;&amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -15,7 +15,7 @@
&lt;br&gt;&amp;nbsp;		&amp;lt;title&amp;gt;Unit testing Seam components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;		&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp;All Seam components are POJOs. This is a great place to start if you
&lt;br&gt;-		 &amp;nbsp; &amp;nbsp;want easy unit testing. And since Seam emphasises the use of bijection 
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;want easy unit testing. And since Seam emphasises the use of bijection 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for inter-component interactions and access to contextual objects, it's 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;very easy to test a Seam component outside of its normal runtime 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;environment.
&lt;br&gt;@@ -76,11 +76,11 @@
&lt;br&gt;&amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You'll notice we aren't testing retrieving data from or persisting
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;data to the database; nor are we testing any functionality 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;provided by Seam. We are just testing the logic of our POJOs. Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;components don't usually depend directly upon container infrastructure,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;so most unit testing as as easy as that!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In this case, we aren't testing retrieving data from the database, or
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;pushing data to it; nor are we testing any functionality provided
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by Seam. We are just testing the logic of our POJOs. Seam components
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;don't usually depend directly upon container infrastructure,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;so most unit testing is a simple process.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;However, if you want to test the entire application, read on.
&lt;br&gt;@@ -93,18 +93,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Integration testing is slightly more difficult. In this case, we can't eliminate
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the container infrastructure; indeed, that is part of what is being tested! At
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the same time, we don't want to be forced to deploy our application to an
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application server to run the automated tests. We need to be able to reproduce
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;just enough of the container infrastructure inside our testing environment to be 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;able to exercise the whole application, without hurting performance too much.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the container infrastructure, as it is also being tested. At the same time, we don't
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;want to be forced to deploy our application to an application server to run the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;automated tests. We need to be able to reproduce just enough of the container
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;infrastructure inside our testing environment to be able to exercise the whole
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application, without hurting performance too much.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The approach taken by Seam is to let you write tests that exercise your
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;components while running inside a pruned down container environment (Seam,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;together with the JBoss Embedded container; n.b. JBoss Embedded requires
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JDK 1.5 and does not work with JDK 1.6).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam allows you to test your components while running inside a pruned down container environment. This 		environment, incorporating Seam and the JBoss Embedded Container, requires JDK 1.5, and does not work with
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JDK 1.6. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[public class RegisterTest extends SeamTest
&lt;br&gt;@@ -143,7 +141,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Occasionally, we need to be able to replace the implementation of some
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component that depends upon resources which are not available in 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the integration test environment. For example, suppose we have some
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component which is a facade to some payment processing system:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component which is a facade to a payment processing system:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Name(&amp;quot;paymentProcessor&amp;quot;)
&lt;br&gt;@@ -176,20 +174,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Integration testing Seam application user interactions&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Integration testing Seam application User Interactions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;An even harder problem is emulating user interactions. A third problem is where 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to put our assertions. Some test frameworks let us test the whole application
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by reproducing user interactions with the web browser. These frameworks have
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;their place, but they are not appropriate for use at development time.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Emulating user interactions is a difficult, as is correctly placing our assertions. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Some test frameworks let us test the whole application by reproducing user
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;interactions with the web browser. These frameworks have their place, but are not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;appropriate for use at development time.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;SeamTest&amp;lt;/literal&amp;gt; lets you write &amp;lt;emphasis&amp;gt;scripted&amp;lt;/emphasis&amp;gt; tests,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in a simulated JSF environment. The role of a scripted test is to reproduce 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the interaction between the view and the Seam components. In other words, you 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;get to pretend you are the JSF implementation!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the interaction between the view and the Seam components.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -283,7 +280,7 @@
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Notice that we've extended &amp;lt;literal&amp;gt;SeamTest&amp;lt;/literal&amp;gt;, which provides a 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;We have extended &amp;lt;literal&amp;gt;SeamTest&amp;lt;/literal&amp;gt;, which provides a 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam environment for our components, and written our test script as an 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anonymous class that extends &amp;lt;literal&amp;gt;SeamTest.FacesRequest&amp;lt;/literal&amp;gt;, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;which provides an emulated JSF request lifecycle. (There is also a
&lt;br&gt;@@ -296,7 +293,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You'll find plenty of integration tests for the Seam example applications
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;which demonstrate more complex cases. There are instructions for running
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;these tests using Ant, or using the TestNG plugin for eclipse:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;these tests using Ant, or using the TestNG plugin for Eclipse:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mediaobject&amp;gt;
&lt;br&gt;@@ -436,17 +433,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependencies from &amp;lt;literal&amp;gt;lib/&amp;lt;/literal&amp;gt; (e.g. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;jboss-system.jar&amp;lt;/literal&amp;gt;) on the classpath, these
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;will cause Embedded JBoss to not boot. So, just add the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependencies (e.g. Drools, jBPM)you need as you go.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependencies (e.g. Drools, jBPM) you need as you go.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You also need to include the &amp;lt;literal&amp;gt;bootstrap/&amp;lt;/literal&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;directory on the classpath; &amp;lt;literal&amp;gt;bootstrap/&amp;lt;/literal&amp;gt; contains
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;directory on the classpath. &amp;lt;literal&amp;gt;Bootstrap/&amp;lt;/literal&amp;gt; contains
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the configuration for Embedded JBoss.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;And, of course you need to put your built project and tests onto
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You also need to put your built project and tests onto
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the classpath. Don't forget to put all the correct configuration
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;files for JPA and Seam onto the classpath as well.Seam asks 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Embedded JBoss to deploy any resource (jar or directory)
&lt;br&gt;@@ -458,7 +455,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;By default, a generated project will use the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;java:/DefaultDS&amp;lt;/literal&amp;gt; (a built in HSQL datasource in
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;java:/DefaultDS&amp;lt;/literal&amp;gt; (a built-in HSQL datasource in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Embedded JBoss) for testing. If you want to use another datasource
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;place the &amp;lt;literal&amp;gt;foo-ds.xml&amp;lt;/literal&amp;gt; into 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;bootstrap/deploy&amp;lt;/literal&amp;gt; directory.
&lt;br&gt;@@ -471,7 +468,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam provides TestNG support out of the box, but you can also use
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;another test framework, such as JUnit, if you want.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;another test framework, such as JUnit, if you prefer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;@@ -532,7 +529,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You need to provide a dataset for DBUnit. &amp;nbsp;IMPORTANT NOTE: DBUnit supports two
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;formats for dataset files, flat and XML. &amp;nbsp;Seam's DBUnitSeamTest assumes the flat 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;format is used, so please ensure that your dataset is in this format also.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;format is used, so please ensure that your dataset is in this format:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;dataset&amp;gt;
&lt;br&gt;@@ -550,7 +547,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/dataset&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and tell Seam about it by overriding &amp;lt;literal&amp;gt;prepareDBUnitOperations()&amp;lt;/literal&amp;gt;:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Then override the &amp;lt;literal&amp;gt;prepareDBUnitOperations()&amp;lt;/literal&amp;gt; to announce the changes to Seam:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[protected void prepareDBUnitOperations() {
&lt;br&gt;@@ -644,4 +641,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Text.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Text.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Text.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;@@ -43,7 +43,7 @@
&lt;br&gt;&amp;nbsp;This is the second paragraph.]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Note that a simple newline is ignored, you need an additional blank line to wrap text into a new paragraph.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A simple newline will be ignored, and you need an additional blank line to wrap text into a new paragraph.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is the HTML that results:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -220,10 +220,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Last name:&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;King&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/table&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;But you can do much more if you want!
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Validation.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Validation.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Validation.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;@@ -105,7 +105,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;emphasis&amp;gt;Note:&amp;lt;/emphasis&amp;gt; specifying &amp;lt;literal&amp;gt;@NotNull&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; on the model does &amp;lt;emphasis&amp;gt;not&amp;lt;/emphasis&amp;gt; eliminate the requirement
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for &amp;lt;literal&amp;gt;required=&amp;quot;true&amp;quot;&amp;lt;/literal&amp;gt; to appear on the control!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for &amp;lt;literal&amp;gt;required=&amp;quot;true&amp;quot;&amp;lt;/literal&amp;gt; to appear on the control.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is due to a limitation of the JSF validation architecture.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -144,8 +144,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This tag simply adds an &amp;lt;literal&amp;gt;&amp;lt;s:validate&amp;gt;&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to every input in the form. For a large form, it can save a lot
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of typing!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to every input in the form.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;@@ -248,7 +247,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; 		It's better style to define explicit ids for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;important controls on the page, especially if you want to do
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;automated testing for the UI, using some toolkit like
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;automated testing for the UI, using a toolkit like
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Selenium. If you don't provide explicit ids, JSF will generate
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;them, but the generated values will change if you change
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anything on the page.
&lt;br&gt;@@ -277,10 +276,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/h:form&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;-		And what if you want to specify a different message to be 
&lt;br&gt;-		displayed when validation fails? &amp;nbsp;You can use the Seam message
&lt;br&gt;-		bundle (and all it's goodies like el expressions inside the message,
&lt;br&gt;-		and per-view message bundles) with the Hibernate Validator:
&lt;br&gt;+		You can use the Seam message bundle (and all it's goodies like el expressions inside the message,
&lt;br&gt;+		and per-view message bundles) with the Hibernate Validator to specify a different
&lt;br&gt;+		message to be displayed when validation fails:
&lt;br&gt;&amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[public class Location {
&lt;br&gt;@@ -300,4 +298,4 @@
&lt;br&gt;&amp;nbsp;location.zipCode.invalid = The zip code is not valid for #{location.name}
&lt;br&gt;&amp;nbsp;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;@@ -45,9 +45,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Conversational Web Services&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;So how are conversations propagated between web service requests? &amp;nbsp;Seam uses a SOAP header element present
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;in both the SOAP request and response messages to carry the conversation ID from the consumer to the service,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;and back again. &amp;nbsp;Here's an example of a web service request that contains a conversation ID:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam uses a SOAP header element present in both the SOAP request and response messages to carry the conversation ID from the consumer to the service, and back again. Below is an example of a web service request that contains a conversation ID:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;soapenv:Envelope xmlns:soapenv=&amp;quot;&lt;a href=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/a&gt;&amp;quot; 
&lt;br&gt;@@ -72,7 +70,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;An important thing to note is that the &amp;lt;literal&amp;gt;conversationId&amp;lt;/literal&amp;gt; header element must be qualified
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with a namespace of &amp;lt;literal&amp;gt;&lt;a href=&quot;http://www.jboss.org/seam/webservice&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jboss.org/seam/webservice&lt;/a&gt;&amp;lt;/literal&amp;gt;, otherwise Seam will not be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;able to read the conversation ID from the request. Here's an example of a response to the above request message:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;able to read the conversation ID from the request. Below is an example of a response to the above request message:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;env:Envelope xmlns:env='&lt;a href=&quot;http://schemas.xmlsoap.org/soap/envelope/'&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://schemas.xmlsoap.org/soap/envelope/'&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml	2009-11-24 07:37:05 UTC (rev 11670)
&lt;br&gt;@@ -1,12 +1,13 @@
&lt;br&gt;&amp;nbsp;&amp;lt;chapter id=&amp;quot;xml&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring Seam components&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring Seam Components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The philosophy of minimizing XML-based configuration is extremely strong in Seam. Nevertheless,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;there are various reasons why we might want to configure a Seam component using XML: to isolate
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;deployment-specific information from the Java code, to enable the creation of re-usable frameworks,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to configure Seam's built-in functionality, etc.
&lt;br&gt;+	&amp;lt;/para&amp;gt;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam provides two basic approaches to configuring components: configuration via property settings in a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;properties file or in &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;, and configuration via &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -38,8 +39,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring components via &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; file is a bit more powerful than property settings. It lets
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; file is a bit more powerful than property settings. It allows
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you to: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -92,8 +93,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For example, the following &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; file installs jBPM: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For example, the following three examples install jBPM: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+		Example One:
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components xmlns=&amp;quot;&lt;a href=&quot;http://jboss.com/products/seam/components&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/components&lt;/a&gt;&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;@@ -102,7 +106,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This example does the same thing:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Example Two:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components&amp;gt;
&lt;br&gt;@@ -125,7 +129,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As does this one:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Example Three:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components&amp;gt;
&lt;br&gt;@@ -203,7 +207,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can create an &amp;quot;alias&amp;quot; (a second name) for a Seam component like so: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can create an alias for a Seam component like so: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components&amp;gt;
&lt;br&gt;@@ -213,7 +217,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can even create an &amp;quot;alias&amp;quot; for a commonly used expression: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can even create an alias for a commonly used expression: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components&amp;gt;
&lt;br&gt;@@ -334,7 +338,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Finally, you may wire together components using a value-binding expression. Note that this is quite
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;different to injection using &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;, since it happens at component instantiation time
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;different to injection using &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;, since it happens at component creation time
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instead of invocation time. It is therefore much more similar to the dependency injection facilities
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;offered by traditional IoC containers like JSF or Spring. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -396,9 +400,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Now, this works great for the built-in Seam components, but what about user components? There are two options. 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;First, Seam supports mixing the two models, allowing the use of the generic &amp;lt;literal&amp;gt;&amp;lt;component&amp;gt;&amp;lt;/literal&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;declarations for user components, along with namespaced declarations for built-in components. But even better,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam allows you to quickly declare namespaces for your own components.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Firstly, Seam supports mixing the two models, allowing the use of the generic &amp;lt;literal&amp;gt;&amp;lt;component&amp;gt;&amp;lt;/literal&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;declarations for user components, along with namespaced declarations for built-in components. Secondly, Seam allows you to quickly declare namespaces for your own components.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491579&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11670---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491579p26491579.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491581</id>
	<title>Seam SVN: r11669 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T23:35:44Z</published>
	<updated>2009-11-23T23:35:44Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 02:35:44 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11669
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Security chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-24 07:14:11 UTC (rev 11668)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-24 07:35:44 UTC (rev 11669)
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If on the other hand, your application requires security checks based on contextual state or complex business rules,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If, on the other hand, your application requires security checks based on contextual state or complex business rules,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;then you will require the features provided by the advanced mode.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -112,7 +112,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The authentication features provided by Seam Security are built upon JAAS (Java Authentication and Authorization Service),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and as such provide a robust and highly configurable API for handling user authentication. &amp;nbsp;However, for less complex
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;authentication requirements Seam offers a much more simplified method of authentication that hides the complexity of JAAS.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;authentication requirements Seam offers a simpler authentication method that hides the complexity of JAAS.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -324,7 +324,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To prevent users from receiving the default error page in response to a security error, it's recommended that
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; is configured to redirect security errors to a more &amp;quot;pretty&amp;quot; page. &amp;nbsp;The two
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; is configured to redirect security errors to a more attractive page. &amp;nbsp;The two
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;main types of exceptions thrown by the security API are:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -394,8 +394,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/pages&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(This is less of a blunt instrument than the exception handler shown above, but should
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;probably be used in conjunction with it.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is more refined than the previous exception handler, but should
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;probably be used in conjunction with it.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1045,8 +1045,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;So how does the security API know whether a user has the &amp;lt;literal&amp;gt;customer:modify&amp;lt;/literal&amp;gt; permission
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for a specific customer? &amp;nbsp;Seam Security provides quite a novel method for determining user permissions,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;based on JBoss Rules. &amp;nbsp;A couple of the advantages of using a rule engine are 1) a centralized location
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for a specific customer? &amp;nbsp;Seam Security determines permissions based on JBoss Rules. &amp;nbsp;Some advantages of using a rule engine are 1) a centralized location
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for the business logic that is behind each user permission, and 2) speed - JBoss Rules uses very efficient
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;algorithms for evaluating large numbers of complex rules involving multiple conditions.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -1146,9 +1145,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[c: PermissionCheck(name == &amp;quot;customer&amp;quot;, action == &amp;quot;delete&amp;quot;)]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In plain english, this condition is stating that there must exist a &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; object
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This condition specifies that a &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with a &amp;lt;literal&amp;gt;name&amp;lt;/literal&amp;gt; property equal to &amp;quot;customer&amp;quot;, and an &amp;lt;literal&amp;gt;action&amp;lt;/literal&amp;gt; property equal
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to &amp;quot;delete&amp;quot; within the working memory.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to &amp;quot;delete&amp;quot; must exist within the working memory.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491581&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11669---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491581p26491581.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491378</id>
	<title>Seam SVN: r11668 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T23:14:12Z</published>
	<updated>2009-11-23T23:14:12Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 02:14:11 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11668
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Remoting chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 07:14:11 UTC (rev 11668)
&lt;br&gt;@@ -726,7 +726,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Javascript if desired. The following example demonstrates how to configure the polling to occur much more
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aggressively. You should set these parameters to suitable values for your application: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Via components.xml: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Via &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt;: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;remoting:remoting poll-timeout=&amp;quot;5&amp;quot; poll-interval=&amp;quot;1&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491378&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11668---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491378p26491378.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491315</id>
	<title>Seam SVN: r11667 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T23:06:18Z</published>
	<updated>2009-11-23T23:06:18Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 02:06:18 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11667
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
&lt;br&gt;Log:
&lt;br&gt;Edited chapters for CP07.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -15,29 +15,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The idea of a &amp;lt;emphasis&amp;gt;workspace&amp;lt;/emphasis&amp;gt;, which I 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encountered in a project for the Victorian government in 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2002. In this project I was forced to implement workspace 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;management on top of Struts, an experience I pray never
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to repeat.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The idea of a &amp;lt;emphasis&amp;gt;workspace&amp;lt;/emphasis&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The idea of an &amp;lt;emphasis&amp;gt;application transaction&amp;lt;/emphasis&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with optimistic semantics, and the realization that existing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworks based around a stateless architecture could not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;provide effective management of extended persistence contexts.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(The Hibernate team is truly fed up with copping the blame for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;LazyInitializationException&amp;lt;/literal&amp;gt;s, which are
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;not really Hibernate's fault, but rather the fault of the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extremely limiting persistence context model supported by 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stateless architectures such as the Spring framework or the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;traditional &amp;lt;emphasis&amp;gt;stateless session facade&amp;lt;/emphasis&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(anti)pattern in J2EE.)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -49,7 +38,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;By unifying these ideas and providing deep support in the framework, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;we have a powerful construct that lets us build richer and more efficient 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;applications with less code than before.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;applications with less code.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -170,7 +159,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/h:commandLink&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Note that disabling conversation context propagation is absolutely not the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Note that disabling conversation context propagation is not the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;same thing as ending the conversation.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -587,8 +576,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/quote&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 		&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;With a natural conversation its really easy to have the user
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rejoin the existing conversation, and pick up where they left 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;With a natural conversation it is easy to have the user
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rejoin the existing conversation and pick up where they left 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;off - just have them to rejoin the payForItem conversation 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with the itemId as the conversation id.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -598,28 +587,20 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For me this consists of a navigable 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hierarchy (I can navigate by editing the url) and a meaningful
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL (like this Wiki uses - so don't identify things by random 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ids). For some applications user friendly URLs are less 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This consists of a navigable 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hierarchy (which can be navigated by editing the url) and a meaningful
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL. For some applications user-friendly URLs are less 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;important, of course.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;With a natural conversations, when you are building your hotel 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;booking system (or, of course, whatever your app is) you can 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;generate a URL like 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;With a natural conversations you can generate a URL like 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&lt;a href=&quot;http://seam-hotels/book.seam?hotel=BestWesternAntwerpen&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://seam-hotels/book.seam?hotel=BestWesternAntwerpen&lt;/a&gt;&amp;lt;/literal&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(of course, whatever parameter &amp;lt;literal&amp;gt;hotel&amp;lt;/literal&amp;gt; maps 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to on your domain model must be unique) and with URLRewrite 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;easily transform this to 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://seam-hotels/book/BestWesternAntwerpen&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://seam-hotels/book/BestWesternAntwerpen&lt;/a&gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Much better!
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Creating a natural conversation&amp;lt;/title&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -692,7 +673,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;From here, we can see that invoking the action &amp;lt;literal&amp;gt;#{bidAction.placeBid}&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from our auction view (by the way, all these examples are taken from the seamBay example in Seam),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from our auction view (all examples are taken from the seamBay example in Seam),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that we will be redirected to &amp;lt;literal&amp;gt;/bid.xhtml&amp;lt;/literal&amp;gt;, which, as we saw previously,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is configured with the natural conversation &amp;lt;literal&amp;gt;PlaceBid&amp;lt;/literal&amp;gt;. &amp;nbsp;The declaration for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;our action method looks like this: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -749,7 +730,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Include one or more of the standard workspace switcher JSP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or facelets fragments in your pages. The standard fragments
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;support workspace management via a drop down menu, a list
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of conversations, or breadcrumbs.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of conversations or breadcrumbs.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;@@ -782,7 +763,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Note that if this file is missing, the Seam application will
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; continue to work perfectly! The only missing functionality
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; continue to work. The only missing functionality
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; will be the ability to switch workspaces.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -833,7 +814,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Include the following fragment in your JSP or facelets page
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to get a drop-down menu that lets you switch to any
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current conversation, or to any other page of the application:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current conversation or to any other page of the application:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XHTML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;h:selectOneMenu value=&amp;quot;#{switcher.conversationIdOrOutcome}&amp;quot;&amp;gt;
&lt;br&gt;@@ -953,8 +934,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Conversational components have one minor limitation: they cannot be used to hold bindings 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to JSF components. (We generally prefer not to use this feature of JSF unless absolutely
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;necessary, since it creates a hard dependency from application logic to the view.) On a 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to JSF components. It is best to not to use this feature unless absolutely necessary
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp;as it creates a hard dependency from application logic to the view. On a 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;postback request, component bindings are updated during the Restore View phase, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;before the Seam conversation context has been restored.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -1029,21 +1010,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Conversational components don't allow real concurrent access therefore
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam queues each request to process them serially. &amp;nbsp;This allows each
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request to be executed in a deterministic fashion. However, a simple
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;queue isn't that great &amp;#8212; firstly, if a method is, for some
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reason, taking a very long time to complete, running it over and over
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;again whenever the client generates a request is bad idea (potential
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for Denial of Service attacks), and, secondly, AJAX is often to used
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to provide a quick status update to the user, so continuing to run the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;action after a long time isn't useful. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;queue is not optimal &amp;#8212; firstly, if a method is taking a very long 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;time to complete, running it repeatedly whenever the client generates a 
&lt;br&gt;+	request creates the potential for Denial of Service attacks), and, 
&lt;br&gt;+	secondly, AJAX is often to used to provide a quick status update to the 
&lt;br&gt;+	user, so continuing to run the action after a long time is not effective. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Therefore, when you are working inside a long running conversation,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam queues the action event for a period of time (the concurrent 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request timeout); if it can't process the event in time, it creates a 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temporary conversation and prints out a message to the user to let them
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;know what's going on. &amp;nbsp;It's therefore very important not to flood the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;server with AJAX events!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temporary conversation and prints out a message to the user to inform them.
&lt;br&gt;+	It is therefore important not to flood the server with AJAX events.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -907,7 +907,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Maven offers support for transitive dependency management and can be used
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;application&amp;gt;Maven&amp;lt;/application&amp;gt; offers support for transitive dependency management and can be used
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;to manage the dependencies of your Seam project. &amp;nbsp;You can use Maven Ant
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Tasks to integrate Maven into your Ant build, or can use Maven to build and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;deploy your project.
&lt;br&gt;@@ -919,8 +919,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; Released versions of Seam are available in &lt;a href=&quot;http://repository.jboss.org/maven2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://repository.jboss.org/maven2&lt;/a&gt;&lt;br&gt;- &amp;nbsp; &amp;nbsp; and nightly snapshots are available in &lt;a href=&quot;http://snapshots.jboss.org/maven2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://snapshots.jboss.org/maven2&lt;/a&gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; Released versions of Seam are available in &amp;lt;ulink type=&amp;quot;http&amp;quot; url=&amp;quot;&lt;a href=&quot;http://repository.jboss.org/maven2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://repository.jboss.org/maven2&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;/ulink&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; and nightly snapshots are available in &amp;lt;ulink type=&amp;quot;http&amp;quot; url=&amp;quot;&lt;a href=&quot;http://snapshots.jboss.org/maven2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://snapshots.jboss.org/maven2&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;/ulink&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -62,14 +62,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are stored (for example, &amp;lt;literal&amp;gt;hotel.id&amp;lt;/literal&amp;gt; and 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;user.username&amp;lt;/literal&amp;gt;), and evaluated (as value 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expressions) when the page is submitted. You can't pass objects as
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parameters! 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parameters. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You must ensure that the parameters are available not only when the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page is rendered, but also when it is submittedIf the arguments can 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page is rendered, but also when it is submitted. If the arguments can 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;not be resolved when the page is submitted the action method will be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;called with &amp;lt;literal&amp;gt;null&amp;lt;/literal&amp;gt; arguments! 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;called with &amp;lt;literal&amp;gt;null&amp;lt;/literal&amp;gt; arguments. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;@@ -173,8 +173,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;types are passed in by JSF. In the case of a method binding, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF assumes that there are no parameters to pass. With this
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extension, we can't know the parameter types until after the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression has been evaluated. This has two minor 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;consequences: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression has been evaluated. This has two consequences: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -51,8 +51,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/framework:entity-home&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If that looks a bit too much like &amp;quot;programming in XML&amp;quot; for 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;your taste, you can use extension instead:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you prefer, you can use extension instead:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;@@ -68,8 +67,8 @@
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The second approach has one huge advantage: you can easily add 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extra functionality, and override the built-in functionality
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The second approach has the advantage of allowing you to easily add 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extra functionality and override the built-in functionality
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(the framework classes were carefully designed for extension
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and customization).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -183,9 +182,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/h:form&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usually, it is much nicer to be able to refer to the &amp;lt;literal&amp;gt;Person&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;merely as &amp;lt;literal&amp;gt;person&amp;lt;/literal&amp;gt;, so let's make that possible by adding a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line to &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usually, it is preferable to be able to refer to the &amp;lt;literal&amp;gt;Person&amp;lt;/literal&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;merely as &amp;lt;literal&amp;gt;person&amp;lt;/literal&amp;gt;. Adding a line to 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; makes this possible:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;factory name=&amp;quot;person&amp;quot; 
&lt;br&gt;@@ -262,8 +261,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Suppose we need to create &amp;lt;literal&amp;gt;Person&amp;lt;/literal&amp;gt; entries with their
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nationality initialized. We can do that easily, via configuration:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Should we need to create &amp;lt;literal&amp;gt;Person&amp;lt;/literal&amp;gt; entries with their
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nationality initialized, we can do so easily, via configuration:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;factory name=&amp;quot;person&amp;quot; 
&lt;br&gt;@@ -391,14 +390,13 @@
&lt;br&gt;&amp;nbsp;Person_updated=Person #{person.firstName} #{person.lastName} updated]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This enables internationalization, and keeps your code and configuration clean of
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This enables internationalization and keeps your code and configuration clean of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;presentation concerns.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The final step is to add validation functionality to the page, using
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&amp;lt;s:validateAll&amp;gt;&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;&amp;lt;s:decorate&amp;gt;&amp;lt;/literal&amp;gt;,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;but I'll leave that for you to figure out.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The final step is to add validation functionality to the page using
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&amp;lt;s:validateAll&amp;gt;&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;&amp;lt;s:decorate&amp;gt;&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -593,10 +591,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As you can see, its not an earthshattering improvement...
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -13,10 +13,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;In short, if you are an Eclipse user, then you'll want JBoss Tools!
&lt;br&gt;- &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JBoss Tools, as with seam-gen, works best with JBoss AS, but it's possible
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with a few tweaks to get your app running on other application servers.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The changes are much like those described for seam-gen later in this
&lt;br&gt;@@ -57,9 +53,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; First, enter a name for your new project. For this tutorial, we're
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; going to use
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;literal&amp;gt;helloworld&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; going to use &amp;lt;literal&amp;gt;helloworld&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -299,7 +293,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Finally, review the package names for your generated beans, and if you
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; are happy, click &amp;lt;emphasis&amp;gt;Finish&amp;lt;/emphasis&amp;gt;:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; are satisfied, click &amp;lt;emphasis&amp;gt;Finish&amp;lt;/emphasis&amp;gt;:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mediaobject&amp;gt;
&lt;br&gt;@@ -367,11 +361,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/imageobject&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If you don't want to bother with this stuff now, you don't have to—come
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; back to it later, when you get your first
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;literal&amp;gt;OutOfMemoryException&amp;lt;/literal&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; --&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; To start JBoss, and deploy the project, just right click on the server
&lt;br&gt;@@ -391,10 +385,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Don't get scared by the XML configuration documents that were generated
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; into the project directory. They are mostly standard Java EE stuff, the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stuff you need to create once and then never look at again, and they
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; are 90% the same between all Seam projects.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The XML configuration documents generated in the project directory are 
&lt;br&gt;+	predominately standard Java EE. They are 90% the same between all Seam 
&lt;br&gt;+	projects.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/section&amp;gt;
&lt;br&gt;@@ -560,10 +553,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Then go to &amp;lt;literal&amp;gt;&lt;a href=&quot;http://localhost:8080/helloworld&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost:8080/helloworld&lt;/a&gt;&amp;lt;/literal&amp;gt;. You can
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; browse the database, edit existing objects, and create new objects. If 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; you look at the generated code, you'll probably be amazed how simple it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is! Seam was designed so that data access code is easy to write by 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hand, even for people who don't want to cheat by using reverse
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; browse the database, edit existing objects, and create new objects. 
&lt;br&gt;+	Seam was designed so that data access code is easy to write by 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hand, even for people who don't want to use reverse
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; engineering.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/section&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -4,21 +4,17 @@
&lt;br&gt;&amp;nbsp;&amp;lt;chapter id=&amp;quot;gettingstarted&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Getting started with Seam, using seam-gen&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The Seam distribution includes a command line utility that makes it really easy to set up an Eclipse project,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;generate some simple Seam skeleton code, and reverse engineer an application from a preexisting database.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The Seam distribution includes a command line utility that makes it easy to set up an Eclipse project,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;generate some simple Seam skeleton code and reverse engineer an application from a preexisting database.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;This is the easy way to get your feet wet with Seam, and gives you some ammunition for next time you find
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yourself trapped in an elevator with one of those tedious Ruby guys ranting about how great and wonderful his
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new toy is for building totally trivial applications that put things in databases.&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;In this release, seam-gen works best for people with JBoss AS. You can use the generated project with other
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;In this release, seam-gen works best for people with JBoss AS. You can use the generated project with other
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;J2EE or Java EE 5 application servers by making a few manual changes to the project configuration.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;You &amp;lt;emphasis&amp;gt;can&amp;lt;/emphasis&amp;gt; use seam-gen without Eclipse, but in this tutorial, we want to show you how to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use it in conjunction with Eclipse for debugging and integration testing. If you don't want to install Eclipse,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you can still follow along with this tutorial—all steps can be performed from the command line.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam-gen is basically just a big ugly Ant script wrapped around Hibernate Tools, together with some templates.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam-gen is basically just an Ant script wrapped around Hibernate Tools together with some templates.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;That makes it easy to customize if you need to.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -44,8 +40,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If you're running JBoss from the command line, you can configure the JVM options in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;bin/run.conf&amp;lt;/literal&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If you don't want to bother with this stuff now, you don't have to—come back to it later, when you get
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;your first &amp;lt;literal&amp;gt;OutOfMemoryException&amp;lt;/literal&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -166,9 +160,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can edit this page, or the template, in eclipse, and see the results &amp;lt;emphasis&amp;gt;immediately&amp;lt;/emphasis&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by clicking refresh in your browser.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Don't get scared by the XML configuration documents that were generated into the project directory. They
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are mostly standard Java EE stuff, the stuff you need to create once and then never look at again, and they
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are 90% the same between all Seam projects. (They are so easy to write that even seam-gen can do it.)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The XML configuration documents generated in the project directory are 
&lt;br&gt;+	predominately standard Java EE. They are 90% the same between all Seam 
&lt;br&gt;+	projects.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The generated project includes three database and persistence configurations. The
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;persistence-test.xml&amp;lt;/literal&amp;gt; and
&lt;br&gt;@@ -360,7 +356,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this may be accomplished by touching the top level deployment descriptor: &amp;lt;literal&amp;gt;application.xml&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for an EAR deployment, or &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt; for a WAR deployment.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;But if you really want a fast edit/compile/test cycle, Seam supports incremental redeployment of JavaBean
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If you want a fast edit/compile/test cycle, Seam supports incremental redeployment of JavaBean
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;components. To make use of this functionality, you must deploy the JavaBean components into the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;WEB-INF/dev&amp;lt;/literal&amp;gt; directory, so that they will be loaded by a special Seam classloader,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instead of by the WAR or EAR classloader.&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -369,8 +365,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;the components must be JavaBean components, they cannot be EJB3 beans (we are working on fixing
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this limitation)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;the components must be JavaBean components, they cannot be EJB3 beans.
&lt;br&gt;+		(This limitation is being worked on.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 07:06:18 UTC (rev 11667)
&lt;br&gt;@@ -3,11 +3,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;chapter id=&amp;quot;remoting&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Remoting&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;para&amp;gt; Seam provides a convenient method of remotely accessing components from a web page, using AJAX (Asynchronous
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Javascript and XML). The framework for this functionality is provided with almost no up-front development effort -
&lt;br&gt;- &amp;nbsp; &amp;nbsp;your components only require simple annotating to become accessible via AJAX. This chapter describes the steps
&lt;br&gt;- &amp;nbsp; &amp;nbsp;required to build an AJAX-enabled web page, then goes on to explain the features of the Seam Remoting framework in
&lt;br&gt;- &amp;nbsp; &amp;nbsp;more detail. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Seam uses Asynchronous JavaScript and XML (AJAX) to remotely access components from a web page. The framework for this functionality requires very little development effort — you can make your components AJAX-accessible with simple annotations. This chapter describes the steps required to build an AJAX-enabled web page, and explains the Seam Remoting framework in further detail. 
&lt;br&gt;+ &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuration&amp;lt;/title&amp;gt;
&lt;br&gt;@@ -114,15 +112,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; // ]]&amp;gt;]]&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;nbsp;&amp;lt;/script&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We're done! Deploy your application and browse to your page. Click the button, and enter a name when
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prompted. A message box will display the hello message confirming that the call was successful. If you want to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;save some time, you'll find the full source code for this Hello World example in Seam's
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;/examples/remoting/helloworld&amp;lt;/literal&amp;gt; directory. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Now deploy your application and browse to your page. Click the button, and enter a name when prompted. A message box will display the &amp;quot;Hello&amp;quot; message, confirming the call's success. (You can find the full source code for this Hello World example in Seam's &amp;lt;filename&amp;gt;/examples/remoting/helloworld&amp;lt;/filename&amp;gt; directory.) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; So what does the code of our script actually do? Let's break it down into smaller pieces. To start with,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you can see from the Javascript code listing that we have implemented two methods - the first method is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;responsible for prompting the user for their name and then making a remote request. Take a look at the following
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;line: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can see from the JavaScript code listing that we have implemented two methods. The first method prompts the user for their name, and makes a remote request. Look at the following line:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XHTML&amp;quot;&amp;gt;Seam.Component.getInstance(&amp;quot;helloAction&amp;quot;).sayHello(name, sayHelloCallback);&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -131,16 +127,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;against this stub, which is exactly what happens with the remainder of the line: &amp;lt;literal&amp;gt;sayHello(name,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sayHelloCallback);&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; What this line of code in its completeness does, is invoke the &amp;lt;literal&amp;gt;sayHello&amp;lt;/literal&amp;gt; method of our
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component, passing in &amp;lt;literal&amp;gt;name&amp;lt;/literal&amp;gt; as a parameter. The second parameter,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sayHelloCallback&amp;lt;/literal&amp;gt; isn't a parameter of our component's &amp;lt;literal&amp;gt;sayHello&amp;lt;/literal&amp;gt; method,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instead it tells the Seam Remoting framework that once it receives the response to our request, it should pass
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;it to the &amp;lt;literal&amp;gt;sayHelloCallback&amp;lt;/literal&amp;gt; Javascript method. This callback parameter is entirely optional,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;so feel free to leave it out if you're calling a method with a &amp;lt;literal&amp;gt;void&amp;lt;/literal&amp;gt; return type or if you
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;don't care about the result. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The whole line invokes the &amp;lt;literal&amp;gt;sayHello&amp;lt;/literal&amp;gt; method of our component, passing in name as a parameter. The second parameter, &amp;lt;literal&amp;gt;sayHelloCallback&amp;lt;/literal&amp;gt;, is not a parameter of our component's &amp;lt;literal&amp;gt;sayHello&amp;lt;/literal&amp;gt; method — it tells the Seam Remoting framework that, once a response to the request is received, the response should be passed to the &amp;lt;literal&amp;gt;sayHelloCallback&amp;lt;/literal&amp;gt; JavaScript method. (This callback parameter is optional; you can leave it out if you are calling a method with a void return type, or if the result of the request is not important.) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;sayHelloCallback&amp;lt;/literal&amp;gt; method, once receiving the response to our remote request then pops
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;up an alert message displaying the result of our method call. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;When the sayHelloCallback method receives the response to our remote request, it displays an alert message with the result of our method call. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -243,10 +236,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam.Remoting.createType()&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If your application contains or uses Javabean classes that aren't Seam components, you may need to create
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;these types on the client side to pass as parameters into your component method. Use the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;createType()&amp;lt;/literal&amp;gt; method to create an instance of your type. Pass in the fully qualified Java
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class name as a parameter: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If your application contains or uses JavaBean classes that are not Seam components, you may need to create these types on the client side to pass as parameters into your component method. Use the &amp;lt;methodname&amp;gt;createType()&amp;lt;/methodname&amp;gt; method to create an instance of your type. Pass in the fully-qualified Java class name as a parameter: 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XHTML&amp;quot;&amp;gt;var widget = Seam.Remoting.createType(&amp;quot;com.acme.widgets.MyWidget&amp;quot;);&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -313,12 +305,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stubs are behavioural, and are used to execute methods against your session bean components, while type stubs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contain state and represent the types that can be passed in as parameters or returned as a result. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The type of client stub that is generated depends on the type of your Seam component. If the component is a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;session bean, then an executable stub will be generated, otherwise if it's an entity or JavaBean, then a type stub
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;will be generated. There is one exception to this rule; if your component is a JavaBean (ie it is not a session
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;bean nor an entity bean) and any of its methods are annotated with @WebRemote, then an executable stub will be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;generated for it instead of a type stub. This allows you to use remoting to call methods of your JavaBean
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;components in a non-EJB environment where you don't have access to session beans. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;The type of stub that is generated depends upon the type of your Seam component. If the component is a session bean, an executable stub will be generated. If it is an entity or JavaBean, a type stub will be generated. However, if your component is a JavaBean and any of its methods are annotated with &amp;lt;literal&amp;gt;@WebRemote&amp;lt;/literal&amp;gt;, an executable stub will be generated. This lets you call your JavaBean component's methods in a non-EJB environment, where you do not have access to session beans. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -337,19 +326,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call &amp;lt;literal&amp;gt;Seam.Remoting.getContext().getConversationId()&amp;lt;/literal&amp;gt;. To set the conversation ID before making a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request, call &amp;lt;literal&amp;gt;Seam.Remoting.getContext().setConversationId()&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If the conversation ID hasn't been explicitly set with
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Seam.Remoting.getContext().setConversationId()&amp;lt;/literal&amp;gt;, then it will be automatically assigned the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;first valid conversation ID that is returned by any remoting call. If you are working with multiple conversations
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;within your page, then you may need to explicitly set the conversation ID before each call. If you are working
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;with just a single conversation, then you don't need to do anything special. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;If the conversation ID has not been explicitly set with Seam.Remoting.getContext().setConversationId(), then the first valid conversation ID returned by any remoting call is assigned automatically. If you are working with multiple conversations within your page, you may need to set your conversation ID explicitly before each call. Single conversations do not require explicit ID setting. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Remote calls within the current conversation scope&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; In some circumstances it may be required to make a remote call within the scope of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current view's conversation. &amp;nbsp;To do this, you must explicitly set the conversation ID to that
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the view before making the remote call. &amp;nbsp;This small snippet of JavaScript will set the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation ID that is used for remoting calls to the current view's conversation ID: &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Under some circumstances, you may need to make a remote call within the scope of the current view's conversation. To do so, you must explicitly set the conversation ID to that of the view before making the remote call. The following JavaScript will set the conversation ID being used for remote calls to the current view's conversation ID:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XHTML&amp;quot;&amp;gt;&amp;lt;![CDATA[Seam.Remoting.getContext().setConversationId( #{conversation.id} );]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491315&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11667---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491315p26491315.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26491152</id>
	<title>Seam SVN: r11666 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T22:41:28Z</published>
	<updated>2009-11-23T22:41:28Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 01:41:27 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11666
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Persistence.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Persistence chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Persistence.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Persistence.xml	2009-11-24 05:55:24 UTC (rev 11665)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Persistence.xml	2009-11-24 06:41:27 UTC (rev 11666)
&lt;br&gt;@@ -13,28 +13,26 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Introduction&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam grew out of the frustration of the Hibernate team with the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statelessness typical of the previous generation of Java application 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;architectures. The state management architecture of Seam was originally
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;designed to solve problems relating to persistence&amp;#8212;in particular
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;problems associated with &amp;lt;emphasis&amp;gt;optimistic transaction processing&amp;lt;/emphasis&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Scalable online applications always use optimistic transactions. An atomic 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(database/JTA) level transaction should not span a user interaction unless
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the application is designed to support only a very small number of concurrent
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clients. But almost all interesting work involves first displaying data
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to a user, and then, slightly later, updating the same data. So Hibernate was
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;designed to support the idea of a persistence context which spanned an
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;optimistic transaction. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam was created because of frustration with the statelessness typical of the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;previous generation of Java application architectures. Seam's state management 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;architecture was originally designed to solve problems relating to persistence, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;particularly problems associated with optimistic transaction processing. Scalable 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;online applications always use optimistic transactions. An atomic (database/JTA) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;level transaction should not span a user interaction unless the application is 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;designed to support only a very small number of concurrent clients. But almost all 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;work involves first displaying data to a user, and then updating that data. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hibernate was designed to support a persistence context that spanned an optimistic 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unfortunately, the so-called &amp;quot;stateless&amp;quot; architectures that preceded Seam and 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EJB 3.0 had no construct for representing an optimistic transaction. So, instead,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;these architectures provided persistence contexts scoped to the atomic
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction. Of course, this resulted in many problems for users, and is the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cause of the number one user complaint about Hibernate: the dreaded 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;LazyInitializationException&amp;lt;/literal&amp;gt;. What we need is a construct
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for representing an optimistic transaction in the application tier.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unfortunately, the &amp;quot;stateless&amp;quot; architectures that preceded Seam and EJB3 had no 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;construct to represent an optimistic transaction. Instead, these architectures 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;provided persistence contexts scoped to the atomic transaction. This resulted in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;many problems for users, and causes the number one user complaint: Hibernate's 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;exceptionname&amp;gt;LazyInitializationException&amp;lt;/exceptionname&amp;gt;. A construct was 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required to represent an optimistic transaction in the application tier. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -42,15 +40,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component (a stateful session bean) with an &amp;lt;emphasis&amp;gt;extended persistence 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context&amp;lt;/emphasis&amp;gt; scoped to the lifetime of the component. This is a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;partial solution to the problem (and is a useful construct in and of 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;itself) however there are two problems:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;itself), but there are still two issues with this approach:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The lifecycle of the stateful session bean must be managed manually
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;via code in the web tier (it turns out that this is a subtle problem
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and much more difficult in practice than it sounds).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;via code in the web tier.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -62,16 +59,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam solves the first problem by providing conversations, and stateful
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session bean components scoped to the conversation. (Most conversations 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actually represent optimistic transactions in the data layer.) This is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sufficient for many simple applications (such as the Seam booking
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;demo) where persistence context propagation is not needed. For more
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;complex applications, with many loosly-interacting components in each
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation, propagation of the persistence context across components
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;becomes an important issue. So Seam extends the persistence context
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;management model of EJB 3.0, to provide conversation-scoped extended
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence contexts.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam solves the first problem by providing conversations, and scoping stateful 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session bean components to the conversation. (Most conversations actually 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;represent optimistic transactions in the data layer.) This is sufficient for many 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;simple applications where persistence context propagation is not required, such as 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the Seam booking example application. For more complex applications, with many 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;loosely-interacting components in each conversation, propagation of the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence context across components becomes an important issue. Therefore, Seam 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;extends the persistence context management model of EJB3, to provide conversation-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scoped extended persistence contexts.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -79,96 +75,93 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;persistence.seam-managed-transactions&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;title&amp;gt;Seam managed transactions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EJB session beans feature declarative transaction management. The EJB container is able
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to start a transaction transparently when the bean is invoked, and end it when the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;invocation ends. If we write a session bean method that acts as a JSF action listener, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;we can do all the work associated with that action in one transaction, and be sure that
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;it is committed or rolled back when we finish processing the action. This is a great feature, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and all that is needed by some Seam applications.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EEJB session beans feature declarative transaction management. The EJB 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container can start a transaction transparently when the bean is invoked, and 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end it when the invocation ends. If we write a session bean method that acts 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as a JSF action listener, all work associated with that action can be 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;performed as one transaction, and committed or rolled back when the action is 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;completely processed. This is a useful feature, and for some Seam 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;applications, this is all that is required.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;However, there is a problem with this approach. A Seam application may not perform all data
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access for a request from a single method call to a session bean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;However, there is a problem with this approach: in a request from a single 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method call to a session bean, a Seam application may not perform all data 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;access.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The request might require processing by several loosly-coupled components, each
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of which is called independently from the web layer. It is common to see several
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or even many calls per request from the web layer to EJB components in Seam.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when the request requires processing by several loosely-coupled 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;components, with each component being called independently from the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;web layer. It is common to see multiple calls per request from the web 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;layer to EJB components in Seam.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Rendering of the view might require lazy fetching of associations.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when view rendering requires lazily-fetched associations. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The more transactions per request, the more likely we are to encounter atomicity
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and isolation problems when our application is processing many concurrent requests.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Certainly, all write operations should occur in the same transaction!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The more transactions that exist per request, the more likely we are to 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encounter atomicity and isolation problems while our application processes 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;many concurrent requests. All write operations should occur in the same 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hibernate users developed the &amp;lt;emphasis&amp;gt;&amp;quot;open session in view&amp;quot;&amp;lt;/emphasis&amp;gt; pattern to work 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;around this problem. In the Hibernate community, &amp;quot;open session in view&amp;quot; was historically 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;even more important because frameworks like Spring use transaction-scoped persistence contexts. 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;So rendering the view would cause &amp;lt;literal&amp;gt;LazyInitializationException&amp;lt;/literal&amp;gt;s when 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;unfetched associations were accessed.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To work around this problem, Hibernate users developed the &amp;lt;emphasis&amp;gt;open 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session in view&amp;lt;/emphasis&amp;gt; pattern. This is also important because some 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;frameworks (Spring, for example) use transaction-scoped persistence contexts, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;which caused &amp;lt;exceptionname&amp;gt;LazyInitializationException&amp;lt;/exceptionname&amp;gt;s when 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;unfetched associations were accessed. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This pattern is usually implemented as a single transaction which spans the entire request. 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;There are several problems with this implementation, the most serious being that we 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;can never be sure that a transaction is successful until we commit it&amp;#8212;but by the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;time the &amp;quot;open session in view&amp;quot; transaction is committed, the view is fully rendered, and 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the rendered response may already have been flushed to the client. How can we notify the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user that their transaction was unsuccessful? 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;Open session in view&amp;lt;/emphasis&amp;gt; is usually implemented as a single 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction that spans the entire request. The most serious problem with this 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implementation is that we cannot be certain that a transaction is successful 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;until we commit it — but when the transaction commits, the view is fully 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered, and the rendered response may already be synchronized the client, so 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;there is no way to notify the user that their transaction did not succeed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam solves both the transaction isolation problem and the association fetching problem, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while working around the problems with &amp;quot;open session in view&amp;quot;. The solution comes in two 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parts:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam solves the problems with transaction isolation and association fetching, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while working around the major flaw in &amp;lt;emphasis&amp;gt;open session in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;view&amp;lt;/emphasis&amp;gt;, with two changes: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use an extended persistence context that is scoped to the conversation, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instead of to the transaction
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam uses an extended persistence context that is scoped to the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation instead of the transaction. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use two transactions per request; the first spans the beginning of the restore view
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;phase (some transaction managers begin the transaction later at the beginning of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;apply request vaues phase) until the end of the invoke application phase; the second spans the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render response phase
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam uses two transactions per request. The first spans from the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beginning of the restore view phase until the end of the invoke 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application phase; the second spans the length of the render response 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;phase. (In some applications, the first phase will begin later, at the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beginning of the apply request values phase.)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In the next section, we'll tell you how to set up a conversation-scope persistence
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context. But first we need to tell you how to enable Seam transaction management.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Note that you can use conversation-scoped persistence contexts without Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transaction management, and there are good reasons to use Seam transaction management
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;even when you're not using Seam-managed persistence contexts. However, the two
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;facilities were designed to work together, and work best when used together.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The next section takes you through the setup of a conversation-scoped 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence context. Before this, we will enable Seam transaction management. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can use conversation-scoped persistence contexts without Seam transaction 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;management, and Seam transaction management is useful even without Seam-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;managed persistence contexts, but they work most effectively together.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam transaction management is useful even if you're using EJB 3.0 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container-managed persistence contexts. But it is especially useful
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if you use Seam outside a Java EE 5 environment, or in any other
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case where you would use a Seam-managed persistence context.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;title&amp;gt;Disabling Seam-managed transactions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -197,7 +190,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:ejb-transaction /&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			However, if you are working in a non EE 5 container, Seam will try auto detect the transaction
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			However, if you are working in a non EE 5 container, Seam will try to auto detect the transaction
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			synchronization mechanism to use. However, if Seam is unable to detect the correct transaction
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			synchronization to use, you may find you need configure one of the following:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -234,23 +227,23 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			Configure JPA RESOURCE_LOCAL transaction management by adding the following to your components.xml where
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			Configure JPA RESOURCE_LOCAL transaction management by adding the following to your &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt; where
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;literal&amp;gt;#{em}&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			is the name of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;literal&amp;gt;persistence:managed-persistence-context&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			component. If your managed persistence context is named &amp;lt;literal&amp;gt;entityManager&amp;lt;/literal&amp;gt;, you can
&lt;br&gt;&amp;nbsp;				opt to leave out the &amp;lt;literal&amp;gt;entity-manager&amp;lt;/literal&amp;gt; attribute. (see
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;persistence.seam-managed-persistence-contexts&amp;quot;/&amp;gt;Seam-managed persistence contexts)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;persistence.seam-managed-persistence-contexts&amp;quot;/&amp;gt;.)
&lt;br&gt;&amp;nbsp;		&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:entity-transaction entity-manager=&amp;quot;#{em}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			To configure Hibernate managed transactions declare the following in your components.xml where
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			To configure Hibernate managed transactions declare the following in your &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt; where
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;literal&amp;gt;#{hibernateSession}&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			is the name of the project's
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			&amp;lt;literal&amp;gt;persistence:managed-hibernate-session&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			component. If your managed hibernate session is named &amp;lt;literal&amp;gt;session&amp;lt;/literal&amp;gt;, you can
&lt;br&gt;-				opt to leave out the &amp;lt;literal&amp;gt;session&amp;lt;/literal&amp;gt; attribute. (see
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;persistence.seam-managed-persistence-contexts&amp;quot;/&amp;gt;Seam-managed persistence contexts)
&lt;br&gt;+				opt to leave out the &amp;lt;literal&amp;gt;session&amp;lt;/literal&amp;gt; attribute. (See
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;persistence.seam-managed-persistence-contexts&amp;quot;/&amp;gt;.)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:hibernate-transaction session=&amp;quot;#{hibernateSession}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -259,8 +252,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:no-transaction /&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;			For configuring Spring managed transactions see
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;spring-transactions&amp;quot;/&amp;gt;using Spring PlatformTransactionManagement.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;			.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;			&amp;lt;xref linkend=&amp;quot;spring-transactions&amp;quot;/&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;section&amp;gt;
&lt;br&gt;@@ -283,29 +275,24 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam-managed persistence contexts&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you're using Seam outside of a Java EE 5 environment, you can't rely upon the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container to manage the persistence context lifecycle for you. Even if you are
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in an EE 5 environment, you might have a complex application with many loosly
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;coupled components that collaborate together in the scope of a single conversation,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and in this case you might find that propagation of the persistence context between
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component is tricky and error-prone.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you use Seam outside a Java EE 5 environment, you cannot rely upon the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container to manage the persistence context lifestyle. Even within EE 5 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;environments, propagating the persistence context between loosely-coupled 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;components in a complex application can be difficult and error-prone.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In either case, you'll need to use a &amp;lt;emphasis&amp;gt;managed persistence context&amp;lt;/emphasis&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(for JPA) or a &amp;lt;emphasis&amp;gt;managed session&amp;lt;/emphasis&amp;gt; (for Hibernate) in your components.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A Seam-managed persistence context is just a built-in Seam component that manages an
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instance of &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; or &amp;lt;literal&amp;gt;Session&amp;lt;/literal&amp;gt; in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation context. You can inject it with &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In this case, you will need to use a &amp;lt;emphasis&amp;gt;managed persistence context&amp;lt;/emphasis&amp;gt; (for JPA) or a &amp;lt;emphasis&amp;gt;managed session&amp;lt;/emphasis&amp;gt; (for Hibernate) in your components. A Seam-managed persistence context is just a built-in Seam component that manages an instance of &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; or &amp;lt;literal&amp;gt;Session&amp;lt;/literal&amp;gt; in the conversation context. You can inject it with &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam-managed persistence contexts are extremely efficient in a clustered environment.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam is able to perform an optimization that EJB 3.0 specification does not allow 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;containers to use for container-managed extended persistence contexts. Seam supports
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transparent failover of extended persisence contexts, without the need to replicate
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;any persistence context state between nodes. (We hope to fix this oversight in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;next revision of the EJB spec.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam-managed persistence contexts are extremely efficient in a clustered 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;environment. Seam can perform optimizations for container-managed persistence 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contexts that the EJB3 specification does not allow. Seam supports transparent 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;failover of extended persistence contexts, without replicating any persistence 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context state between nodes. (We hope to add this support to the next revision 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the EJB specification.)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -381,13 +368,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;connection.datasource&amp;quot;&amp;gt;java:/bookingDatasource&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;...
&lt;br&gt;&amp;nbsp;&amp;lt;/session-factory&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;note&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Note that Seam does not flush the session, so you should always enable
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;hibernate.transaction.flush_before_completion&amp;lt;/literal&amp;gt; to 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ensure that the session is automatically flushed before the JTA transaction
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;commits.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Seam does not synchronize the session with the database, so always enable 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;literal&amp;gt;hibernate.transaction.flush_before_completion&amp;lt;/literal&amp;gt; to ensure 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that the session is automatically synchronized before the JTA transaction 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; commits. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;We can now have a managed Hibernate &amp;lt;literal&amp;gt;Session&amp;lt;/literal&amp;gt; injected into our
&lt;br&gt;@@ -417,17 +405,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;By default, the persistence context is flushed (synchronized with the database)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at the end of each transaction. This is sometimes the desired behavior. But very 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;often, we would prefer that all changes are held in memory and only written to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the database when the conversation ends successfully. This allows for truly
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;atomic conversations. As the result of a truly stupid and shortsighted decision
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;by certain non-JBoss, non-Sun and non-Sybase members of the EJB 3.0 expert group, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;there is currently no simple, usable and portable way to implement atomic 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversations using EJB 3.0 persistence. However, Hibernate provides this feature
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as a vendor extension to the &amp;lt;literal&amp;gt;FlushModeType&amp;lt;/literal&amp;gt;s defined by the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;specification, and it is our expectation that other vendors will soon provide
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a similar extension.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;By default, the persistence context is synchronized with the database 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(flushed) at the end of each transaction. Sometimes this is desirable, but 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;often we prefer all changes to be held in memory, and only written to the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;database when the conversation ends successfully. This allows for truly atomic 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversations with EJB3 persistence. However, Hibernate provides this feature 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as a vendor extension to the &amp;lt;literal&amp;gt;FlushModeTypes&amp;lt;/literal&amp;gt; defined by the specification. We 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expect other vendors will soon provide a similar extension. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -478,19 +462,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using the JPA &amp;quot;delegate&amp;quot;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; interface lets you access a vendor-specific
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;API via the &amp;lt;literal&amp;gt;getDelegate()&amp;lt;/literal&amp;gt; method. Naturally, the most interesting
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vendor is Hibernate, and the most powerful delegate interface is
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;org.hibernate.Session&amp;lt;/literal&amp;gt;. You'd be nuts to use anything else. Trust
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;me, I'm not biased at all. &amp;nbsp;If you must use a different JPA provider see
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xref linkend=&amp;quot;alt-jpa-providers&amp;quot;/&amp;gt;Using Alternate JPA Providers.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; interface lets you access a vendor-specific API with the &amp;lt;literal&amp;gt;getDelegate()&amp;lt;/literal&amp;gt; method. We recommend using Hibernate as your vendor, and &amp;lt;literal&amp;gt;org.hibernate.Session&amp;lt;/literal&amp;gt; as your delegate interface, but if you require a different JPA provider, &amp;lt;xref linkend=&amp;quot;alt-jpa-providers&amp;quot;/&amp;gt; for further information.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;But regardless of whether you're using Hibernate (genius!) or something else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(masochist, or just not very bright), you'll almost certainly want to use the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;delegate in your Seam components from time to time. One approach would be the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;following:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Regardless of your vendor, there are several approaches to using the delegate in your Seam components. One approach is: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@In EntityManager entityManager;
&lt;br&gt;@@ -501,9 +477,7 @@
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; But typecasts are unquestionably the ugliest syntax in the Java language, so most
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; people avoid them whenever possible. Here's a different way to get at the 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delegate. First, add the following line to &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If you, like most Java users, would rather avoid using typecasts, you can also access the delegate by adding the following line to &amp;lt;filename&amp;gt;components.xml&amp;lt;/filename&amp;gt;: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;factory name=&amp;quot;session&amp;quot; 
&lt;br&gt;@@ -542,17 +516,19 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[User user = em.createQuery(&amp;quot;from User where username=:username&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .setParameter(&amp;quot;username&amp;quot;, user.getUsername())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .getSingleResult();]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;warning&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Of course, you should never, ever write it like this:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This should never be written as:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[User user = em.createQuery(&amp;quot;from User where username=&amp;quot; + user.getUsername()) //BAD!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[User user = em.createQuery(&amp;quot;from User where username=&amp;quot; + user.getUsername())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .getSingleResult();]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(It is inefficient and vulnerable to SQL injection attacks.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is inefficient, but more importantly, it is vulnerable to SQL injection attacks.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/warning&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -560,18 +536,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using Hibernate filters&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The coolest, and most unique, feature of Hibernate is &amp;lt;emphasis&amp;gt;filters&amp;lt;/emphasis&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Filters let you provide a restricted view of the data in the database. You can find 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out more about filters in the Hibernate documentation. But we thought we'd mention
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;an easy way to incorporate filters into a Seam application, one that works especially
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;well with the Seam Application Framework.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Hibernate's most unique, useful feature is the filter. Filters provide a restricted view of the data in the database. You can find more information in the Hibernate documentation, but this section takes you through one easy, effective method of incorporating filters into Seam.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam-managed persistence contexts may have a list of filters defined, which will be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;enabled whenever an &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; or Hibernate &amp;lt;literal&amp;gt;Session&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is first created. (Of course, they may only be used when Hibernate is the underlying
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence provider.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam-managed persistence contexts can have a list of filters defined, which will be enabled whenever an &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; or Hibernate &amp;lt;literal&amp;gt;Session&amp;lt;/literal&amp;gt; is first created. (These can only be used when Hibernate is the underlying persistence provider.) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;persistence:filter name=&amp;quot;regionFilter&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26491152&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11666---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26491152p26491152.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490843</id>
	<title>Seam SVN: r11665 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T21:55:25Z</published>
	<updated>2009-11-23T21:55:25Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 00:55:24 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11665
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Migration chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 05:27:45 UTC (rev 11664)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 05:55:24 UTC (rev 11665)
&lt;br&gt;@@ -11,13 +11,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is to create a new project using seam-gen in Seam 2, and migrate your code
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;across. We recognize that many projects may have extensive customizations
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to their project, so we also provide instructions for how to upgrade your
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;project in-situ in &amp;lt;xref linkend=&amp;quot;migrating.insitu&amp;quot; /&amp;gt; Due to the number 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;project in-situ in &amp;lt;xref linkend=&amp;quot;migrating.insitu&amp;quot; /&amp;gt;. Due to the number 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of changes introduced between Seam 1.2 and Seam 2, this may not always be 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a straightforward process! 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;However you decide to migrate your application, you'll need to alter your
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;However you decide to migrate your application, you will need to alter your
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;code, as many components have moved. &amp;lt;xref linkend=&amp;quot;migrating.general&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;details those changes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -26,7 +26,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Creating a new project skeleton using seam-gen&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Start by creating a new skeleton seam project. In your Seam 2
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Start by creating a new skeleton Seam project. In your Seam 2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; directory run:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -34,7 +34,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Customize the defaults as needed. You'll want to set the location of 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JBoss EAP, name your project and select an EAR or WAR as needed; you 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JBoss Enterprise Application Platform, name your project and select an EAR or WAR as needed; you 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; can accept the defaults for Java package names (as we aren't going to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; use the reverse engineering features of seam-gen); you'll want to set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; your JDBC driver, URL, username and password correctly, and configure
&lt;br&gt;@@ -69,13 +69,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;warning&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; You only need to do this if you are migrating from the community
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; edition of Seam, JBoss EAP 4.2 and 4.3 shipped a version of Seam
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; edition of Seam. JBoss Enterprise Application Platform 4.2 and 4.3 shipped a version of Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1.2 which used JSF 1.2.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/warning&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam 2.0 requires JSF 1.2, and JBoss EAP supports Sun's JSF RI. To 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam 2.0 requires JSF 1.2, and JBoss Enterprise Application Platform supports Sun's JSF RI. To 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch to JSF 1.2, you need to remove the MyFaces listener:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;@@ -117,8 +117,8 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/web-app&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In your Seam 1.2 app you may have specified some Seam specific 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration in &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;. &amp;nbsp;First, we'll discuss
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In your Seam 1.2 application you may have specified some Seam specific 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration in &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;. First, we'll discuss
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;all the Seam related elements you need in 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;, not just those that have changed, noting
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;any changes.
&lt;br&gt;@@ -134,8 +134,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/listener&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Modify the Seam master filter (note the package of the class 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;changed):
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Modify the Seam master filter (note the change to the class package):
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;filter&amp;gt;
&lt;br&gt;@@ -170,7 +169,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam 2 will automatically install RichFaces' Ajax4JSF if it present
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam 2 will automatically install RichFaces Ajax4JSF if it present
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in your project so you should make sure the Ajax4JSF filter isn't
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;declared:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -295,7 +294,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For testing, you need the jars in Seam's &amp;lt;literal&amp;gt;lib/test&amp;lt;/literal&amp;gt;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For testing, you need the jars in Seam's &amp;lt;literal&amp;gt;lib/test&amp;lt;/literal&amp;gt; directory,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the jars in Seam's &amp;lt;literal&amp;gt;lib/&amp;lt;/literal&amp;gt; directory, your test 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;classes and application classes together with the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;bootstrap/&amp;lt;/literal&amp;gt; directory in your classpath. 
&lt;br&gt;@@ -341,7 +340,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;important&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Don't forget to update the XSD's in &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; and
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Don't forget to update the XSDs in &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; to point at the ones for Seam 2.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Just change the suffix from &amp;lt;literal&amp;gt;-1.2.xsd&amp;lt;/literal&amp;gt; to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;-2.0.xsd&amp;lt;/literal&amp;gt;.
&lt;br&gt;@@ -353,7 +352,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam's built-in components have undergone a major reorganization 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;designed to organize them for easier learning, and to isolate 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;designed to make them easier to learn, and to isolate 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dependencies upon particular technologies like JSF into specific 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;packages.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -406,13 +405,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Pageflow component are located in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Pageflow components are located in 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;org.jboss.seam.pageflow&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Pages component are located in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Pages components are located in 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;org.jboss.seam.navigation&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;@@ -1047,7 +1046,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Annotation changes in Seam 2&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotations have also moved to reflect their purpose. In
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotations have also moved to reflect their purpose.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -1209,7 +1208,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Exception handling annotations moved to 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotations related to exception handling have moved to 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;org.jboss.seam.annotations.exception&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -1284,7 +1283,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you are using jBPM for business processes, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you need to add the tx service to &amp;lt;literal&amp;gt;jbpm.cfg.xml&amp;lt;/literal&amp;gt;:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you need to add the &amp;lt;classname&amp;gt;tx&amp;lt;/classname&amp;gt; service to &amp;lt;literal&amp;gt;jbpm.cfg.xml&amp;lt;/literal&amp;gt;:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;service name=&amp;quot;tx&amp;quot; factory=&amp;quot;org.jbpm.tx.TxServiceFactory&amp;quot; /&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt; 
&lt;br&gt;@@ -1318,7 +1317,7 @@
&lt;br&gt;&amp;nbsp;		to the data picker from your stylesheet to save on unnecessary bandwidth use.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You should check the RichFaces documentation for more information on
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Check the RichFaces documentation for more information on
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parameter name changes and namespace changes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;@@ -1354,7 +1353,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;title&amp;gt;Changes to seam-gen&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;There was a change in seam-gen regarding
&lt;br&gt;-		how the generated classes are organized when generate-entities is
&lt;br&gt;+		how generated classes are organized when generate-entities is
&lt;br&gt;&amp;nbsp;		executed.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		&amp;lt;variablelist&amp;gt;		
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490843&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11665---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490843p26490843.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490665</id>
	<title>Seam SVN: r11664 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T21:27:46Z</published>
	<updated>2009-11-23T21:27:46Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-24 00:27:45 -0500 (Tue, 24 Nov 2009)
&lt;br&gt;New Revision: 11664
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Mail.xml
&lt;br&gt;Log:
&lt;br&gt;Edited Mail chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Mail.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Mail.xml	2009-11-24 04:55:22 UTC (rev 11663)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Mail.xml	2009-11-24 05:27:45 UTC (rev 11664)
&lt;br&gt;@@ -1,7 +1,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;chapter id=&amp;quot;mail&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Email&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;Seam now includes an optional components for templating and sending emails.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Seam now includes an optional component for templating and sending emails.
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -11,13 +11,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;The examples/mail project contains an example of the email support in 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;The &amp;lt;filename&amp;gt;examples/mail&amp;lt;/filename&amp;gt; project contains an example of the email support in 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;action. It demonstrates proper packaging, and it contains a number of 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;example that demonstrate the key features currently supported. 
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;You can also test your mail's using Seam's integration testing environment.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;You can also test your mail using Seam's integration testing environment.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;See &amp;lt;xref linkend=&amp;quot;testing.mail&amp;quot; /&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -26,7 +26,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You don't need to learn a whole new templating language to use Seam Mail 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#8212; an email is just facelet!
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#8212; an email is just a facelet!
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XHTML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;m:message xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xhtml&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&amp;quot;
&lt;br&gt;@@ -90,7 +90,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	 &amp;nbsp;&amp;lt;title&amp;gt;Attachments&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	 &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam makes it easy to attach files to an email. &amp;nbsp;It supports most of 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the standard java types used when working with files.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the standard Java types used when working with files.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 		
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	 &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -160,7 +160,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You may be wondering what &amp;lt;literal&amp;gt;cid:#{...}&amp;lt;/literal&amp;gt; does. Well, the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IETF specified that by putting this as the src for your image, the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IETF specified that by putting this as the &amp;lt;varname&amp;gt;src&amp;lt;/varname&amp;gt; for your image, the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;attachments will be looked at when trying to locate the image (the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Content-ID&amp;lt;/literal&amp;gt;'s must match) &amp;#8212; magic!
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -224,8 +224,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;&amp;lt;title&amp;gt;Templating&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The mail templating example shows that facelets templating Just Works 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with the Seam mail tags.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The mail templating example shows facelets templating working with the Seam mail tags.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -258,7 +257,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can also use facelets source tags in your email, but you must place
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;them in a jar in &amp;lt;literal&amp;gt;WEB-INF/lib&amp;lt;/literal&amp;gt; - referencing the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;.taglib.xml&amp;lt;/literal&amp;gt; from &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt; isn't 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reliable when using Seam Mail (if you send your mail asynchrounously 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reliable when using Seam Mail (if you send your mail asynchronously 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam Mail doesn't have access to the full JSF or Servlet context, and 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;so doesn't know about &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt; configuration 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parameters).
&lt;br&gt;@@ -274,10 +273,10 @@
&lt;br&gt;&amp;nbsp;	&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	&amp;lt;section&amp;gt;
&lt;br&gt;-	 &amp;nbsp;&amp;lt;title&amp;gt;Internationalisation&amp;lt;/title&amp;gt;
&lt;br&gt;+	 &amp;nbsp;&amp;lt;title&amp;gt;Internationalization&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam supports sending internationalised messages. &amp;nbsp;By default, the 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam supports sending internationalized messages. &amp;nbsp;By default, the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encoding provided by JSF is used, but this can be overridden on the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;template:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -329,14 +328,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JBoss AS has a number of limitations (and isn't bundled in some versions)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;therefore we recommend using the &amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;distributed with Seam is recommended (it's in the &amp;lt;literal&amp;gt;extras/&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;directory in the Seam bundle). &amp;nbsp;&amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt; should 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;directory in the Seam bundle). &amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt; should 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;be placed in &amp;lt;literal&amp;gt;$JBOSS_HOME/server/default/deploy&amp;lt;/literal&amp;gt;; if the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version of JBoss AS you use already has this file, replace it.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;note&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Technology preview &amp;lt;/title&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;Distributed mail-ra.rar in Seam is marked as technology preview, so standard support is not guaranteed.&amp;lt;/para&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;	&amp;lt;para&amp;gt;Distributed &amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt; in Seam is marked as technology preview, so standard support is not guaranteed.&amp;lt;/para&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -371,10 +370,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;musn't access the persistence context.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;!--&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can find more information on&amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at &amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=InboundJavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=InboundJavaMail&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=InboundJavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=InboundJavaMail&lt;/a&gt;&amp;lt;/ulink&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you aren't using JBoss AS you can still use &amp;lt;literal&amp;gt;mail-ra.rar&amp;lt;/literal&amp;gt; 
&lt;br&gt;@@ -428,8 +427,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The JBossAS &amp;lt;literal&amp;gt;deploy/mail-service.xml&amp;lt;/literal&amp;gt; configures a 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaMail session binding into JNDI. &amp;nbsp;The default service 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration will need altering for your network. &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&lt;/a&gt;&amp;lt;/ulink&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;describes the service in more detail.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--&amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&lt;/a&gt;&amp;quot;&amp;gt;&lt;a href=&quot;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.jboss.org/wiki/Wiki.jsp?page=JavaMail&lt;/a&gt;&amp;lt;/ulink&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;describes the service in more detail.--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;components xmlns=&amp;quot;&lt;a href=&quot;http://jboss.com/products/seam/components&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/components&lt;/a&gt;&amp;quot;
&lt;br&gt;@@ -515,7 +514,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Here we've created two users, &amp;lt;literal&amp;gt;duke&amp;lt;/literal&amp;gt;, who has two email
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;addresses and an administrator with the username &amp;lt;literal&amp;gt;root&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;addresses, and an administrator with the username &amp;lt;literal&amp;gt;root&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; 			
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -580,7 +579,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;term&amp;gt;&amp;lt;m:from&amp;gt;&amp;lt;/term&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set's the From: address for the email. &amp;nbsp;You can only have one of 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sets the From: address for the email. &amp;nbsp;You can only have one of 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;these per email.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -603,7 +602,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;term&amp;gt;&amp;lt;m:replyTo&amp;gt;&amp;lt;/term&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set's the Reply-to: address for the email. &amp;nbsp;You can only have one
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sets the Reply-to: address for the email. &amp;nbsp;You can only have one
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of these per email.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -642,7 +641,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;term&amp;gt;&amp;lt;m:cc&amp;gt;&amp;lt;/term&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Add a cc recipient to the email. Use multiple &amp;lt;m:cc&amp;gt; tags
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Adds a carbon copy (CC) recipient to the email. Use multiple &amp;lt;m:cc&amp;gt; tags
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for multiple ccs. This tag can be safely placed inside a iterator
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tag such as &amp;lt;ui:repeat&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -665,8 +664,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;term&amp;gt;&amp;lt;m:bcc&amp;gt;&amp;lt;/term&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Add a bcc recipient to the email. Use multiple &amp;lt;m:bcc&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags for multiple bccs. This tag can be safely placed inside a
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Add a BCC recipient to the email. Use multiple &amp;lt;m:bcc&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags for multiple BCCs. This tag can be safely placed inside a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;repeat tag such as &amp;lt;ui:repeat&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -753,7 +752,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If the value attribute is ommitted:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If the value attribute is omitted:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -781,7 +780,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;contentType&amp;lt;/literal&amp;gt; &amp;#8212; Specify the MIME type
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the attached file
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the attached file.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;@@ -799,7 +798,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;term&amp;gt;&amp;lt;m:body&amp;gt;&amp;lt;/term&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Set's the body for the email. &amp;nbsp;Supports an &amp;lt;literal&amp;gt;alternative&amp;lt;/literal&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sets the body for the email. &amp;nbsp;Supports an &amp;lt;literal&amp;gt;alternative&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;facet which, if an HTML email is generated can contain
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alternative text for a mail reader which doesn't support html.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490665&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11664---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490665p26490665.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490489</id>
	<title>Seam SVN: r11663 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T20:55:22Z</published>
	<updated>2009-11-23T20:55:22Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 23:55:22 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11663
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml
&lt;br&gt;Log:
&lt;br&gt;Edited JMS chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml	2009-11-24 04:46:42 UTC (rev 11662)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml	2009-11-24 04:55:22 UTC (rev 11663)
&lt;br&gt;@@ -9,7 +9,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;But for many usecases, JMS is overkill. Seam layers a simple asynchronous method and event
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;But for many use cases, JMS is overkill. Seam layers a simple asynchronous method and event
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;facility over your choice of &amp;lt;emphasis&amp;gt;dispatchers&amp;lt;/emphasis&amp;gt;:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -46,8 +46,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;async:timer-service-dispatcher/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;then your asynchronous tasks will be processed by the container's EJB timer service. If 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you're not familiar with the Timer service, don't worry, you don't need to interact with 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Your asynchronous tasks will be processed by the container's EJB timer service. If 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you are not familiar with the Timer service, don't worry, you don't need to interact with 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;it directly if you want to use asynchronous methods in Seam. The important thing to know
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is that any good EJB 3.0 implementation will have the option of using persistent timers, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;which gives some guarantee that the tasks will eventually be processed.
&lt;br&gt;@@ -250,7 +250,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;processor.schedulePayment(new Date(), 60*60*1000, cal.getTime(), payment);
&lt;br&gt;&amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Note that the method returns the &amp;lt;literal&amp;gt;QuartzTriggerHandle&amp;lt;/literal&amp;gt; object, which you can use later to stop, pause, and resume the scheduler. The &amp;lt;literal&amp;gt;QuartzTriggerHandle&amp;lt;/literal&amp;gt; object is serializable, so you can save it into the database if you need to keep it around for extended period of time.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Note that the method returns the &amp;lt;literal&amp;gt;QuartzTriggerHandle&amp;lt;/literal&amp;gt; object, which you can use later to stop, pause, and resume the scheduler. The &amp;lt;literal&amp;gt;QuartzTriggerHandle&amp;lt;/literal&amp;gt; object is serializable, so you can save it into the database if you need to keep it around for an extended period of time.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[QuartzTriggerHandle handle =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; processor.schedulePayment(payment.getPaymentDate(), 
&lt;br&gt;@@ -286,7 +286,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;processor.schedulePayment(new Date(), &amp;quot;0 10,44 14 ? 3 WED&amp;quot;, payment);
&lt;br&gt;&amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;@IntervalBusinessDay&amp;lt;/literal&amp;gt; annotation supports invocation on the &amp;quot;nth Business Day&amp;quot; scenario. For instance, the following asynchronous method runs at 14:00 on the 2nd business day of each month. By default, it excludes all weekends and US federal holidays until 2010 from the business days.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;@IntervalBusinessDay&amp;lt;/literal&amp;gt; annotation supports invocation on the &amp;quot;nth Business Day&amp;quot; scenario. For instance, the following asynchronous method runs at 14:00 on the second business day of each month. By default, it excludes all weekends and US federal holidays until 2010 from the business days.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;@@ -307,7 +307,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new NthBusinessDay(2, &amp;quot;14:00&amp;quot;, WEEKLY), payment);
&lt;br&gt;&amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;NthBusinessDay&amp;lt;/literal&amp;gt; object contains the configuration of the invocation trigger. You can specify more holidays (e.g., company holidays, non-US holidays etc.) via the &amp;lt;literal&amp;gt;additionalHolidays&amp;lt;/literal&amp;gt; property.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;NthBusinessDay&amp;lt;/literal&amp;gt; object contains the configuration of the invocation trigger. You can specify more holidays (for example, company holidays, non-US holidays etc.) via the &amp;lt;literal&amp;gt;additionalHolidays&amp;lt;/literal&amp;gt; property.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;nbsp;public class NthBusinessDay implements Serializable
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490489&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11663---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490489p26490489.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490455</id>
	<title>Seam SVN: r11662 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T20:46:44Z</published>
	<updated>2009-11-23T20:46:44Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 23:46:42 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11662
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jbpm.xml
&lt;br&gt;Log:
&lt;br&gt;Edited jbpm chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jbpm.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jbpm.xml	2009-11-24 04:28:32 UTC (rev 11661)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jbpm.xml	2009-11-24 04:46:42 UTC (rev 11662)
&lt;br&gt;@@ -5,7 +5,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JBoss jBPM is a business process management engine for any Java SE or EE
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;environment. jBPM lets you represent a business process or user 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;interaction as a graph of nodes representing wait states, decisions,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tasks, web pages, etc. The graph is defined using a simple, very readable, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tasks, web pages, etc. The graph is defined using a simple, very readable
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XML dialect called jPDL, and may be edited and visualised graphically using
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;an eclipse plugin. jPDL is an extensible language, and is suitable for 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a range of problems, from defining web application page flow, to traditional
&lt;br&gt;@@ -40,11 +40,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Don't get these two things confused ! They operate at very different levels
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;These two definitions operate at very different levels
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or granularity. &amp;lt;emphasis&amp;gt;Pageflow&amp;lt;/emphasis&amp;gt;, &amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and &amp;lt;emphasis&amp;gt;task&amp;lt;/emphasis&amp;gt; all refer to a single
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;interaction with a single user. A business process spans many tasks.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Futhermore, the two applications of jBPM are totally orthogonal. You can
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Furthermore, the two applications of jBPM are totally orthogonal. You can
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use them together or independently or not at all.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -145,7 +145,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/page&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you find navigation rules overly verbose, you can return view ids
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you find navigation rules overly verbose, you can return view IDs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;directly from your action listener methods:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;@@ -242,7 +242,7 @@
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;constrained set of possible transitions to other states. The stateless
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;model is an &amp;lt;emphasis&amp;gt;ad hoc&amp;lt;/emphasis&amp;gt; model which is suitable to 
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;relatively unconstrained, freeform navigation where the user decides
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;where he/she wants to go next, not the application.
&lt;br&gt;+	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;where they want to go next, not the application.
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -391,7 +391,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Begin(pageflow=&amp;quot;numberguess&amp;quot;)
&lt;br&gt;&amp;nbsp;public void begin() { ... }]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		&amp;lt;para&amp;gt;Alternatively we can start a pageflow using pages.xml:&amp;lt;/para&amp;gt;
&lt;br&gt;+		&amp;lt;para&amp;gt;Alternatively we can start a pageflow using &amp;lt;filename&amp;gt;pages.xml&amp;lt;/filename&amp;gt;:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;&amp;nbsp;		&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;begin-conversation pageflow=&amp;quot;numberguess&amp;quot;/&amp;gt;
&lt;br&gt;@@ -400,7 +400,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If we are beginning the pageflow during the &amp;lt;literal&amp;gt;RENDER_RESPONSE&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;phase&amp;#8212;during a &amp;lt;literal&amp;gt;@Factory&amp;lt;/literal&amp;gt; or &amp;lt;literal&amp;gt;@Create&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method, for example&amp;#8212;we consider ourselves to be already at the page being 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method, for example &amp;#8212; we consider ourselves to be already at the page being 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered, and use &amp;nbsp;a &amp;lt;literal&amp;gt;&amp;lt;start-page&amp;gt;&amp;lt;/literal&amp;gt; node as the first node 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in the pageflow, as in the example above.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -565,7 +565,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Pageflow composition&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;It is possible to compose pageflows and have one pageflow pause 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;It is possible to compose pageflows and have one pageflow &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pause while another pageflow executes. The &amp;lt;literal&amp;gt;&amp;lt;process-state&amp;gt;&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;node pauses the outer pageflow, and begins execution of a named 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pageflow:
&lt;br&gt;@@ -669,7 +669,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As jBPM processes are persistent across application restarts, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when using Seam in a production environment you won't want to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;install the process definition every time the application starts.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Therefore, in a production environment, you'll need to deploy
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Therefore, in a production environment, you will need to deploy
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the process to jBPM outside of Seam. In other words, only install
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;process definitions from &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; when
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;developing your application.
&lt;br&gt;@@ -710,7 +710,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@CreateProcess(definition=&amp;quot;todo&amp;quot;)
&lt;br&gt;&amp;nbsp;public void createTodo() { ... }]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can initiate a business process using pages.xml:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can initiate a business process using &amp;lt;filename&amp;gt;pages.xml&amp;lt;/filename&amp;gt;:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;create-process definition=&amp;quot;todo&amp;quot; /&amp;gt;
&lt;br&gt;@@ -803,7 +803,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@StartTask
&lt;br&gt;&amp;nbsp;public String start() { ... }]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can begin work on a task using pages.xml:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can begin work on a task using &amp;lt;filename&amp;gt;pages.xml&amp;lt;/filename&amp;gt;:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;start-task /&amp;gt;
&lt;br&gt;@@ -824,7 +824,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@EndTask(transition=&amp;quot;completed&amp;quot;)
&lt;br&gt;&amp;nbsp;public String completed() { ... }]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can use pages.xml:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Alternatively we can use &amp;lt;filename&amp;gt;pages.xml&amp;lt;/filename&amp;gt;:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;end-task transition=&amp;quot;completed&amp;quot; /&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490455&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11662---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490455p26490455.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490338</id>
	<title>Seam SVN: r11661 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T20:28:34Z</published>
	<updated>2009-11-23T20:28:34Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 23:28:32 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11661
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Itext.xml
&lt;br&gt;Log:
&lt;br&gt;Edited itext chapters.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Itext.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Itext.xml	2009-11-24 03:47:48 UTC (rev 11660)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Itext.xml	2009-11-24 04:28:32 UTC (rev 11661)
&lt;br&gt;@@ -357,7 +357,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;style&amp;lt;/literal&amp;gt; &amp;#8212; The font styles. Any combination of :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;style&amp;lt;/literal&amp;gt; &amp;#8212; The font styles. Any combination of:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;NORMAL&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;BOLD&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ITALIC&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;OBLIQUE&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;UNDERLINE&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;LINE-THROUGH&amp;lt;/literal&amp;gt;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -453,8 +453,8 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt;&amp;#8212; The alignment of the image. (see
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values) &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt; &amp;#8212; The alignment of the image. (See
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -628,13 +628,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt; &amp;#8212; The alignment of the header/footer
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (see &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;backgroundColor&amp;lt;/literal&amp;gt; &amp;#8212; The background color of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;header/footer box. (see &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt; for color values)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;header/footer box. (See &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt; for color values.)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -646,8 +646,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;header/footer box. Individual border sides can be set using
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderColorLeft&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;borderColorRight&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderColorTop&amp;lt;/literal&amp;gt; and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderColorBottom&amp;lt;/literal&amp;gt;.(see &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt; for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;color values) &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderColorBottom&amp;lt;/literal&amp;gt;. (See &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt; for
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;color values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -729,7 +729,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If the generated document follows a book/article structure, the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;p:chapter&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;p:section&amp;lt;/literal&amp;gt; tags can be used to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;provide the necessary structure. Sections can only be used inside of chapters, but
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;they may be nested arbitrarily deep. Most PDF viewers provide easy navigation
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;they may be nested to an arbitrary depth. Most PDF viewers provide easy navigation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;between chapters and sections in a document. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -743,7 +743,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt; &amp;#8212; The alignment of the header/footer
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (see &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -810,7 +810,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Lists&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;List structures can be displayed using the &amp;lt;literal&amp;gt;p:list&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;p:listItem&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags. Lists may contain arbitrarily-nested sublists. List items may not be used outside of a list. he
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags. Lists may contain arbitrarily-nested sublists. List items may not be used outside of a list. The
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;following document uses the &amp;lt;literal&amp;gt;ui:repeat&amp;lt;/literal&amp;gt; tag to to display a list of values retrieved
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -921,13 +921,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt; &amp;#8212; The alignment of the header/footer
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (see &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;box section. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for alignment values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;alignment&amp;lt;/literal&amp;gt; &amp;#8212; The alignment of the list item.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -972,8 +972,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Tables&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Table structures can be created using the &amp;lt;literal&amp;gt;p:table&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;p:cell&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags. Unlike many table structures, there is no explicit row declaration. If a table has 3 columns, then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;every 3 cells will automatically form a row. Header and footer rows can be declared, and the headers and
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tags. Unlike many table structures, there is no explicit row declaration. If a table has three columns, then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;every three cells will automatically form a row. Header and footer rows can be declared, and the headers and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;footers will be repeated in the event a table structure spans multiple pages.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1014,7 +1014,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;widths&amp;lt;/literal&amp;gt; &amp;#8212; The relative widths of each column.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;There should be one value for each column. For example: widths=&amp;quot;2 1 1&amp;quot; would
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indicate that there are 3 columns and the first column should be twice the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;indicate that there are three columns and the first column should be twice the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;size of the second and third column.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1031,7 +1031,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;footerRows&amp;lt;/literal&amp;gt; &amp;#8212; The number of rows that are
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;considered to be footer rows. This value is subtracted from the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;headerRows&amp;lt;/literal&amp;gt; value. If document has 2 rows which make
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;headerRows&amp;lt;/literal&amp;gt; value. If document has two rows which make
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;up the header and one row that makes up the footer,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;headerRows&amp;lt;/literal&amp;gt; should be set to 3 and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;footerRows&amp;lt;/literal&amp;gt; should be set to 1&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -1047,7 +1047,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;horizontalAlignment&amp;lt;/literal&amp;gt; &amp;#8212; The horizontal
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alignment of the table. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1165,15 +1165,15 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;horizontalAlignment&amp;lt;/literal&amp;gt; &amp;#8212; The horizontal
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alignment of the cell. (see &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alignment of the cell. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;&amp;lt;literal&amp;gt;verticalAlignment&amp;lt;/literal&amp;gt; &amp;#8212; The vertical alignment of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the cell. (see &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values)&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the cell. (See &amp;lt;xref linkend=&amp;quot;itext.alignment&amp;quot;/&amp;gt; for possible values.)&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1353,7 +1353,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The default implementation serves PDF documents from a generic URL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;/seam-doc.seam&amp;lt;/literal&amp;gt;. Many browsers (and users) would prefer to see URLs that contain the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actual PDF name like &amp;lt;literal&amp;gt;/myDocument.pdf&amp;lt;/literal&amp;gt;. This capability requires some configuration. To
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serve PDF files, all *.pdf resources should be mapped to the DocumentStoreServlet:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serve PDF files, all &amp;lt;filename&amp;gt;*.pdf&amp;lt;/filename&amp;gt; resources should be mapped to the DocumentStoreServlet:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;servlet&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;servlet-name&amp;gt;Document Store Servlet&amp;lt;/servlet-name&amp;gt;
&lt;br&gt;@@ -1375,7 +1375,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Generated documents are stored in conversation scope and will expire when the conversation ends. At
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that point, references to the document will be invalid. To You can specify a default view to be shown
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that point, references to the document will be invalid. You can specify a default view to be shown
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when a document does not exist using the &amp;lt;literal&amp;gt;error-page&amp;lt;/literal&amp;gt; property of the documentStore. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;pdf:document-store use-extensions=&amp;quot;true&amp;quot; error-page=&amp;quot;/pdfMissing.seam&amp;quot; /&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;@@ -1421,7 +1421,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the border, if visible;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the border, if visible.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1448,12 +1448,12 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinesVisible&amp;lt;/literal&amp;gt;&amp;#8212; Controls whether or not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinesVisible&amp;lt;/literal&amp;gt; &amp;#8212; Controls whether or not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines for the domain axis are shown on the chart. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the domain
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the domain
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1486,13 +1486,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemPaint&amp;lt;/literal&amp;gt;&amp;#8212; The default color of the text
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemPaint&amp;lt;/literal&amp;gt; &amp;#8212; The default color of the text
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;labels in the legend. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemBackgoundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The background color for
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemBackgoundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The background color for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the legend, if different from the chart background color.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1504,27 +1504,27 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the plot
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the plot
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;background.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundAlpha&amp;lt;/literal&amp;gt;&amp;#8212; The alpha (transparency) level
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundAlpha&amp;lt;/literal&amp;gt; &amp;#8212; The alpha (transparency) level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the plot background. It should be a number between 0 (completely transparent)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and 1 (completely opaque). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotForegroundAlpha&amp;lt;/literal&amp;gt;&amp;#8212; The alpha (transparency) level
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotForegroundAlpha&amp;lt;/literal&amp;gt; &amp;#8212; The alpha (transparency) level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the plot. It should be a number between 0 (completely transparent) and 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(completely opaque). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotOutlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the range gridlines,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotOutlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the range gridlines,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1546,12 +1546,12 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinesVisible&amp;lt;/literal&amp;gt;&amp;#8212; Controls whether or not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinesVisible&amp;lt;/literal&amp;gt; &amp;#8212; Controls whether or not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines for the range axis are shown on the chart. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the range
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the range
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1566,12 +1566,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titlePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the chart title text.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titlePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the chart title text.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titleBackgroundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The background color around
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titleBackgroundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The background color around
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the chart title.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1620,7 +1620,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the border, if visible;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;borderPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the border, if visible.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1647,18 +1647,18 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinesVisible&amp;lt;/literal&amp;gt;&amp;#8212; Controls whether or not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinesVisible&amp;lt;/literal&amp;gt; &amp;#8212; Controls whether or not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines for the domain axis are shown on the chart. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the domain
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the domain
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;domainGridlineStroke&amp;lt;/literal&amp;gt; &amp;#8212; The stroke style of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;domain gridleines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;domain gridlines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1685,13 +1685,13 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemPaint&amp;lt;/literal&amp;gt;&amp;#8212; The default color of the text
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemPaint&amp;lt;/literal&amp;gt; &amp;#8212; The default color of the text
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;labels in the legend. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemBackgoundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The background color for
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legendItemBackgoundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The background color for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the legend, if different from the chart background color.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1703,27 +1703,27 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the plot
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the plot
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;background.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundAlpha&amp;lt;/literal&amp;gt;&amp;#8212; The alpha (transparency) level
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotBackgroundAlpha&amp;lt;/literal&amp;gt; &amp;#8212; The alpha (transparency) level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the plot background. It should be a number between 0 (completely transparent)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and 1 (completely opaque). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotForegroundAlpha&amp;lt;/literal&amp;gt;&amp;#8212; The alpha (transparency) level
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotForegroundAlpha&amp;lt;/literal&amp;gt; &amp;#8212; The alpha (transparency) level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the plot. It should be a number between 0 (completely transparent) and 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(completely opaque). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotOutlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the range gridlines,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;plotOutlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the range gridlines,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1745,12 +1745,12 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinesVisible&amp;lt;/literal&amp;gt;&amp;#8212; Controls whether or not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinesVisible&amp;lt;/literal&amp;gt; &amp;#8212; Controls whether or not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines for the range axis are shown on the chart. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the range
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;rangeGridlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the range
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gridlines, if visible. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1765,12 +1765,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titlePaint&amp;lt;/literal&amp;gt;&amp;#8212; The color of the chart title text.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titlePaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of the chart title text.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titleBackgroundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The background color around
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;titleBackgroundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The background color around
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the chart title.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1814,120 +1814,120 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;title&amp;lt;/literal&amp;gt;&amp;#8212; The chart title text. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;title&amp;lt;/literal&amp;gt; &amp;#8212; The chart title text. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;label&amp;lt;/literal&amp;gt;&amp;#8212; The default label text for pie sections.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;label&amp;lt;/literal&amp;gt; &amp;#8212; The default label text for pie sections.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legend&amp;lt;/literal&amp;gt;&amp;#8212; A boolean value indicating whether or not
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;legend&amp;lt;/literal&amp;gt; &amp;#8212; A boolean value indicating whether or not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the chart should include a legend. Default value is true &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;is3D&amp;lt;/literal&amp;gt;&amp;#8212;A boolean value indicating that the chart
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;is3D&amp;lt;/literal&amp;gt; &amp;#8212;A boolean value indicating that the chart
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;should be rendered in 3D instead of 2D. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkMargin&amp;lt;/literal&amp;gt;&amp;#8212; The link margin for labels.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkMargin&amp;lt;/literal&amp;gt; &amp;#8212; The link margin for labels.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkPaint&amp;lt;/literal&amp;gt;&amp;#8212; The paint used for the label
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkPaint&amp;lt;/literal&amp;gt; &amp;#8212; The paint used for the label
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linking lines. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkStroke&amp;lt;/literal&amp;gt;&amp;#8212; he stroke used for the label
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinkStroke&amp;lt;/literal&amp;gt; &amp;#8212; he stroke used for the label
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;linking lines. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinksVisible&amp;lt;/literal&amp;gt;&amp;#8212; A flag that controls whether or
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelLinksVisible&amp;lt;/literal&amp;gt; &amp;#8212; A flag that controls whether or
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;not the label links are drawn. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelOutlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The paint used to draw the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelOutlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The paint used to draw the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outline of the section labels. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelOutlineStroke&amp;lt;/literal&amp;gt;&amp;#8212; The stroke used to draw the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelOutlineStroke&amp;lt;/literal&amp;gt; &amp;#8212; The stroke used to draw the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outline of the section labels. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelShadowPaint&amp;lt;/literal&amp;gt;&amp;#8212; The paint used to draw the shadow
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelShadowPaint&amp;lt;/literal&amp;gt; &amp;#8212; The paint used to draw the shadow
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for the section labels. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelPaint&amp;lt;/literal&amp;gt;&amp;#8212; The color used to draw the section
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;labels &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color used to draw the section
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;labels. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelGap&amp;lt;/literal&amp;gt;&amp;#8212; The gap between the labels and the plot
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelGap&amp;lt;/literal&amp;gt; &amp;#8212; The gap between the labels and the plot
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as a percentage of the plot width. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelBackgroundPaint&amp;lt;/literal&amp;gt;&amp;#8212; The color used to draw the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;labelBackgroundPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color used to draw the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;background of the section labels. If this is null, the background is not filled.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;startAngle&amp;lt;/literal&amp;gt;&amp;#8212; The starting angle of the first
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;startAngle&amp;lt;/literal&amp;gt; &amp;#8212; The starting angle of the first
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;section. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;circular&amp;lt;/literal&amp;gt;&amp;#8212; A boolean value indicating that the chart
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;circular&amp;lt;/literal&amp;gt; &amp;#8212; A boolean value indicating that the chart
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;should be drawn as a circle. If false, the chart is drawn as an ellipse. The
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default is true. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;direction&amp;lt;/literal&amp;gt;&amp;#8212; The direction the pie section are drawn.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;direction&amp;lt;/literal&amp;gt; &amp;#8212; The direction the pie section are drawn.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;One of: &amp;lt;literal&amp;gt;clockwise&amp;lt;/literal&amp;gt; or &amp;lt;literal&amp;gt;anticlockwise&amp;lt;/literal&amp;gt;. The
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default is &amp;lt;literal&amp;gt;clockwise&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The outline paint for all
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The outline paint for all
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sections. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlineStroke&amp;lt;/literal&amp;gt;&amp;#8212; The outline stroke for all
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlineStroke&amp;lt;/literal&amp;gt; &amp;#8212; The outline stroke for all
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sections &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlinesVisible&amp;lt;/literal&amp;gt;&amp;#8212; Indicates whether an
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;sectionOutlinesVisible&amp;lt;/literal&amp;gt; &amp;#8212; Indicates whether an
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outline is drawn for each section in the plot. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionOutlinePaint&amp;lt;/literal&amp;gt;&amp;#8212; The base section outline
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionOutlinePaint&amp;lt;/literal&amp;gt; &amp;#8212; The base section outline
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paint. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionPaint&amp;lt;/literal&amp;gt;&amp;#8212; The base section paint. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionPaint&amp;lt;/literal&amp;gt; &amp;#8212; The base section paint. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionOutlineStroke&amp;lt;/literal&amp;gt;&amp;#8212; The base section outline
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;baseSectionOutlineStroke&amp;lt;/literal&amp;gt; &amp;#8212; The base section outline
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stroke. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;@@ -1978,7 +1978,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;seriesPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of each item in the series
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;seriesPaint&amp;lt;/literal&amp;gt; &amp;#8212; The color of each item in the series.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2097,7 +2097,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;Description&amp;lt;/emphasis&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The color component declares a color or gradient than can be referenced when drawing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The color component declares a color or gradient that can be referenced when drawing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filled shapes. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;Attributes&amp;lt;/emphasis&amp;gt;
&lt;br&gt;@@ -2108,7 +2108,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;color&amp;lt;/literal&amp;gt; &amp;#8212; The color value. For gradient colors, this
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the starting color. &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the starting color. &amp;lt;xref linkend=&amp;quot;itext.colors&amp;quot;/&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -2207,7 +2207,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Bar codes&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam can use iText to generate barcodes in a wide variety of formats. &amp;nbsp;These barcodes can
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;be embedded in a PDF document or displayed as an image on a web page. Note that 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when used with HTML images, barcodes can not currently display barcode text in the barcode. 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when used with HTML images, barcodes cannot currently display barcode text in the barcode. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;informaltable id=&amp;quot;itext.barcode&amp;quot;&amp;gt;
&lt;br&gt;@@ -2246,17 +2246,17 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;code&amp;lt;/literal&amp;gt;&amp;#8212; The value to be encoded by the barcode.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;code&amp;lt;/literal&amp;gt; &amp;#8212; The value to be encoded by the barcode.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;xpos&amp;lt;/literal&amp;gt;&amp;#8212; For PDFs, the absolute y position of the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;xpos&amp;lt;/literal&amp;gt; &amp;#8212; For PDFs, the absolute y position of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;barcode on the page. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ypos&amp;lt;/literal&amp;gt;&amp;#8212; For PDFs, the absolute y position of the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ypos&amp;lt;/literal&amp;gt; &amp;#8212; For PDFs, the absolute y position of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;barcode on the page. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -2266,7 +2266,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;barHeight&amp;lt;/literal&amp;gt; &amp;#8212; The height of the bars in the barCode
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;barHeight&amp;lt;/literal&amp;gt; &amp;#8212; The height of the bars in the barCode.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -2358,7 +2358,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;height&amp;lt;/literal&amp;gt; &amp;#8212; ..The height of the component to be rendered. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;height&amp;lt;/literal&amp;gt; &amp;#8212; The height of the component to be rendered. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490338&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11661---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490338p26490338.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490102</id>
	<title>Seam SVN: r11660 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T19:47:48Z</published>
	<updated>2009-11-23T19:47:48Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 22:47:48 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11660
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Hsearch.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/I18n.xml
&lt;br&gt;Log:
&lt;br&gt;Edited groovy, hsearch, i18n chapters.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml	2009-11-24 03:39:31 UTC (rev 11659)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml	2009-11-24 03:47:48 UTC (rev 11660)
&lt;br&gt;@@ -5,10 +5,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Groovy integration&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;One aspect of JBoss Seam is its RAD (Rapid Application Development) capability. While not synonymous with RAD,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;one interesting tool in this space is dynamic languages. Until recently, choosing a dynamic language was
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required choosing a completely different development platform (a development platform with a set of APIs and a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runtime so great that you would no longer want to use you old legacy Java [sic] APIs anymore, which would be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lucky because you would be forced to use those proprietary APIs anyway). Dynamic languages built on top of the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;one interesting tool in this space is dynamic languages. Until recently, choosing a dynamic language 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required choosing a completely different development platform with a different set of Java APIs.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dynamic languages built on top of the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Java Virtual Machine, and &amp;lt;ulink url=&amp;quot;&lt;a href=&quot;http://groovy.codehaus.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groovy.codehaus.org&lt;/a&gt;&amp;quot;&amp;gt;Groovy&amp;lt;/ulink&amp;gt; in particular broke this
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;approach in silos.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -46,8 +45,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Writing Seam applications in Groovy&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;There is not much to say about it. Since a Groovy object is a Java object, you can virtually write any
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component, or any class for what it worth, in Groovy and deploy it. You can also mix Groovy classes and
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Since a Groovy object is a Java object, you can virtually write any
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component, or any class, in Groovy and deploy it. You can also mix Groovy classes and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Java classes in the same application.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -94,7 +93,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Groovy natively support the notion of properties (getter/setter), so there is no need to
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Groovy natively supports the notion of properties (getter/setter), so there is no need to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;explicitly write verbose getters and setters: in the previous example, the hotel class can be
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;accessed from Java as &amp;lt;code&amp;gt;hotel.getCity()&amp;lt;/code&amp;gt;, the getters and setters being generated by the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Groovy compiler. This type of syntactic sugar makes the entity code very concise.&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -143,7 +142,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;seam-gen&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam gen has a transparent integration with Groovy. You can write Groovy code in seam-gen backed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Seam gen itegrates transparently with Groovy. You can write Groovy code in seam-gen backed
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;projects without any additional infrastructure requirement. When writing a Groovy entity, simply place
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;your &amp;lt;filename&amp;gt;.groovy&amp;lt;/filename&amp;gt; files in &amp;lt;filename&amp;gt;src/model&amp;lt;/filename&amp;gt;. Unsurprisingly, when writing
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;an action, simply place your &amp;lt;filename&amp;gt;.groovy&amp;lt;/filename&amp;gt; files in
&lt;br&gt;@@ -166,10 +165,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Deploying Groovy code&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;A Groovy class &amp;lt;emphasis&amp;gt;is&amp;lt;/emphasis&amp;gt; a Java class, with a bytecode representation just like a Java
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class. To deploy, a Groovy entity, a Groovy Session bean or a Groovy Seam component, a compilation step
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class. To deploy a Groovy entity, a Groovy Session bean or a Groovy Seam component, a compilation step
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is necessary. A common approach is to use the &amp;lt;literal&amp;gt;groovyc&amp;lt;/literal&amp;gt; ant task. Once compiles, a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Groovy class is in no way different than a Java class and the application server will treat them
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;equally. Note that this allow a seamless mix of Groovy and Java code.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;equally. Note that this allows a seamless mix of Groovy and Java code.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -183,7 +182,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;incrementally with no need to restart the application (and obviously not the application server either).&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Be aware that the native .groovy file deployment suffers the same limitations as the regular Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hotdeployment:&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hot deployment:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Hsearch.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Hsearch.xml	2009-11-24 03:39:31 UTC (rev 11659)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Hsearch.xml	2009-11-24 03:47:48 UTC (rev 11660)
&lt;br&gt;@@ -7,24 +7,23 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Introduction&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	&amp;lt;para&amp;gt;Full text search engines like Apache Lucene™ are a very powerful
&lt;br&gt;+	&amp;lt;para&amp;gt;Full text search engines like Apache Lucene are a very powerful
&lt;br&gt;&amp;nbsp;	technology that bring full text and efficient queries to applications.
&lt;br&gt;&amp;nbsp;	Hibernate Search, which uses Apache Lucene under the covers, indexes your
&lt;br&gt;&amp;nbsp;	domain model with the addition of a few annotations, takes care of the
&lt;br&gt;&amp;nbsp;	database / index synchronization and returns regular managed objects that
&lt;br&gt;-	are matched by full text queries. Keep in mind, thought, that there are
&lt;br&gt;+	are matched by full text queries. Keep in mind, though, that there are
&lt;br&gt;&amp;nbsp;	mismatches that arise when dealing with an object domain model over a text
&lt;br&gt;&amp;nbsp;	index (keeping the index up to date, mismatch between the index structure
&lt;br&gt;&amp;nbsp;	and the domain model, and querying mismatch). But the benefits of speed
&lt;br&gt;&amp;nbsp;	and efficiency far outweigh these limitations.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Hibernate Search has been designed to integrates nicely and as
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Hibernate Search has been designed to integrate as
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;naturally as possible with JPA and Hibernate. As a natural extension,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;JBoss Seam provides an Hibernate Search integration.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	&amp;lt;para&amp;gt;Please refer to the &amp;lt;ulink
&lt;br&gt;-	url=&amp;quot;&lt;a href=&quot;http://www.hibernate.org/hib_docs/search/reference/en/html_single/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hibernate.org/hib_docs/search/reference/en/html_single/&lt;/a&gt;&amp;quot;&amp;gt;Hibernate
&lt;br&gt;-	Search documentation&amp;lt;/ulink&amp;gt; for information specific to the Hibernate
&lt;br&gt;+	&amp;lt;para&amp;gt;Please refer to the Hibernate Search documentation provided with this release
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;of JBoss Enterprise Application Platform for information specific to the Hibernate
&lt;br&gt;&amp;nbsp;	Search project.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;	&amp;lt;note&amp;gt;
&lt;br&gt;@@ -60,7 +59,7 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/persistence-unit&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If you plan to target Hibernate Annotations or EntityManager 3.2.x
&lt;br&gt;- &amp;nbsp; &amp;nbsp;(embedded into JBoss EAP AS 4.3), you also need to configure the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;(embedded into JBoss Enterprise Application Platform 4.3), you also need to configure the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;appropriate event listeners.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;persistence-unit name=&amp;quot;sample&amp;quot;&amp;gt;
&lt;br&gt;@@ -115,10 +114,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Usage&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Hibernate Search uses annotations to map entities to a Lucene index,
&lt;br&gt;- &amp;nbsp; &amp;nbsp;check the &amp;lt;ulink
&lt;br&gt;- &amp;nbsp; &amp;nbsp;url=&amp;quot;&lt;a href=&quot;http://www.hibernate.org/hib_docs/search/reference/en/html_single/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hibernate.org/hib_docs/search/reference/en/html_single/&lt;/a&gt;&amp;quot;&amp;gt;reference
&lt;br&gt;- &amp;nbsp; &amp;nbsp;documentation&amp;lt;/ulink&amp;gt; for more informations.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Hibernate Search uses annotations to map entities to a Lucene index. For more information,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;see the Hibernate Reference Guide provided with this release.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Hibernate Search is fully integrated with the API and semantic of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;JPA / Hibernate. Switching from a HQL or Criteria based query requires
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/I18n.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/I18n.xml	2009-11-24 03:39:31 UTC (rev 11659)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/I18n.xml	2009-11-24 03:47:48 UTC (rev 11660)
&lt;br&gt;@@ -7,21 +7,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam makes it easy to build internationalized applications. First, let's 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;walk through all the stages needed to internationalize and localize your 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;app. Then we'll take a look at the components Seam bundles.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;application. Then we'll take a look at the component Seam bundles.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;section&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Internationalizing your app&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Internationalizing your application&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A JEE application consists of many components and all of them must be 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A Java EE application consists of many components and all of them must be 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; configured properly for your application to be localized.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Starting at the bottom, the first step is to ensure that your database 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server and client is using the correct character encoding for your 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; locale. Normally you'll want to use UTF-8. How to do this is outside
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server and client uses the correct character encoding for your 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; locale. Normally you will want to use UTF-8. How to do this is outside
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; the scope of this tutorial.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -104,8 +104,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To set the display character encoding, you need to use the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&amp;lt;f:view locale=&amp;quot;cs_CZ&amp;quot;/&amp;gt;&amp;lt;/literal&amp;gt; tag (here we tell 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF to use the Czech locale). You may want to change the encoding of 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the xml document itself if you want to embed localized strings in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xml. To do this alter the encoding attribute in xml declaration 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the XML document itself if you want to embed localized strings in the
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;XML. To do this alter the encoding attribute in XML declaration 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;lt;/literal&amp;gt; as 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -129,7 +129,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Each user login session has an associated instance of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;java.util.Locale&amp;lt;/literal&amp;gt; (available to the application as a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;component named &amp;lt;literal&amp;gt;locale&amp;lt;/literal&amp;gt;). Under normal circumstances,
&lt;br&gt;- &amp;nbsp; &amp;nbsp;you won't need to do any special configuration to set the locale. Seam
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;you will not need to do any special configuration to set the locale. Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;just delegates to JSF to determine the active locale:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;@@ -190,7 +190,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;JSF supports internationalization of user interface labels and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;descriptive text via the use of &amp;lt;literal&amp;gt;&amp;lt;f:loadBundle /&amp;gt;&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;You can use this approach in Seam applications. Alternatively, you can
&lt;br&gt;- &amp;nbsp; &amp;nbsp;take advantage of the Seam &amp;lt;literal&amp;gt; messages&amp;lt;/literal&amp;gt; component to
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;take advantage of the Seam &amp;lt;literal&amp;gt;messages&amp;lt;/literal&amp;gt; component to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;display templated labels with embedded EL expressions.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;@@ -202,9 +202,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;internationalized labels available via this special resource bundle. By
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default, the resource bundle used by Seam is named
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;messages&amp;lt;/literal&amp;gt; and so you'll need to define your labels in
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;files named &amp;lt;literal&amp;gt; messages.properties&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;messages_en.properties&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;messages_en_AU.properties&amp;lt;/literal&amp;gt;, etc. These files usually belong in
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;files named &amp;lt;literal&amp;gt;messages.properties&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;messages_en.properties&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;messages_en_AU.properties&amp;lt;/literal&amp;gt;, etc. These files usually belong in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the &amp;lt;literal&amp;gt;WEB-INF/classes&amp;lt;/literal&amp;gt; directory.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;So, in &amp;lt;literal&amp;gt;messages_en.properties&amp;lt;/literal&amp;gt;:&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -230,7 +228,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;If you want to define a message just for a particular page, you
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;can specify it in a resource bundle with the same name as the JSF view
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;id, with the leading &amp;lt;literal&amp;gt;/&amp;lt;/literal&amp;gt; and trailing file extension
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;ID, with the leading &amp;lt;literal&amp;gt;/&amp;lt;/literal&amp;gt; and trailing file extension
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;removed. So we could put our message in &amp;lt;literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;welcome/hello_en.properties&amp;lt;/literal&amp;gt; if we only needed to display the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;message on &amp;lt;literal&amp;gt; /welcome/hello.jsp&amp;lt;/literal&amp;gt;.&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -334,7 +332,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/theme:available-themes&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/theme:theme-selector&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Note that the first theme listed is the default theme.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The first theme listed is the default theme.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Themes are defined in a properties file with the same name as the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;theme. For example, the &amp;lt;literal&amp;gt;default&amp;lt;/literal&amp;gt; theme is defined as a
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490102&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11660---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26490102p26490102.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490048</id>
	<title>Seam SVN: r11659 - in modules/trunk/persistence/src/main: java/org/seamframework/persistence and 3 other directories.</title>
	<published>2009-11-23T19:39:31Z</published>
	<updated>2009-11-23T19:39:31Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: sboscarine
&lt;br&gt;Date: 2009-11-23 22:39:31 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11659
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/resources/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/resources/META-INF/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/resources/META-INF/services/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java
&lt;br&gt;Log:
&lt;br&gt;initial commit
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java	2009-11-24 02:42:50 UTC (rev 11658)
&lt;br&gt;+++ modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java	2009-11-24 03:39:31 UTC (rev 11659)
&lt;br&gt;@@ -35,11 +35,6 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class PersistenceContextExtension implements Extension
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; public PersistenceContextExtension()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;\n\n&amp;quot; + this.getClass() + &amp;quot; was constructed&amp;quot;);
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; private Bean&amp;lt;EntityManagerFactory&amp;gt; emfBean;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&lt;br&gt;Added: modules/trunk/persistence/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/persistence/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ modules/trunk/persistence/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension	2009-11-24 03:39:31 UTC (rev 11659)
&lt;br&gt;@@ -0,0 +1 @@
&lt;br&gt;+org.seamframework.persistence.PersistenceContextExtension
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490048&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11659---in-modules-trunk-persistence-src-main%3A-java-org-seamframework-persistence-and-3-other-directories.-tp26490048p26490048.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26489687</id>
	<title>Seam SVN: r11658 - in modules/trunk/transaction/src/main/java/org: seamframework and 1 other directories.</title>
	<published>2009-11-23T18:42:50Z</published>
	<updated>2009-11-23T18:42:50Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: sboscarine
&lt;br&gt;Date: 2009-11-23 21:42:50 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11658
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/transaction/src/main/java/org/seamframework/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/transaction/src/main/java/org/seamframework/tx/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/transaction/src/main/java/org/seamframework/tx/EntityTransactionInterceptor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/transaction/src/main/java/org/seamframework/tx/Transactional.java
&lt;br&gt;Log:
&lt;br&gt;initial commit
&lt;br&gt;&lt;br&gt;Added: modules/trunk/transaction/src/main/java/org/seamframework/tx/EntityTransactionInterceptor.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/transaction/src/main/java/org/seamframework/tx/EntityTransactionInterceptor.java	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ modules/trunk/transaction/src/main/java/org/seamframework/tx/EntityTransactionInterceptor.java	2009-11-24 02:42:50 UTC (rev 11658)
&lt;br&gt;@@ -0,0 +1,35 @@
&lt;br&gt;+package org.seamframework.tx;
&lt;br&gt;+
&lt;br&gt;+import javax.enterprise.inject.Any;
&lt;br&gt;+import javax.inject.Inject;
&lt;br&gt;+import javax.interceptor.AroundInvoke;
&lt;br&gt;+import javax.interceptor.Interceptor;
&lt;br&gt;+import javax.interceptor.InvocationContext;
&lt;br&gt;+import javax.persistence.EntityManager;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * Declarative JPA EntityTransactions
&lt;br&gt;+ * 
&lt;br&gt;+ * @author Gavin King
&lt;br&gt;+ *
&lt;br&gt;+ */
&lt;br&gt;+@Transactional @Interceptor
&lt;br&gt;+public class EntityTransactionInterceptor {
&lt;br&gt;+ &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; private @Inject @Any EntityManager em;
&lt;br&gt;+ &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; @AroundInvoke
&lt;br&gt;+ &amp;nbsp; public Object aroundInvoke(InvocationContext ic) throws Exception {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean act = !em.getTransaction().isActive();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (act) em.getTransaction().begin();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Object result = ic.proceed();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (act) em.getTransaction().commit();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return result;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (act) em.getTransaction().rollback();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; }
&lt;br&gt;+}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;Added: modules/trunk/transaction/src/main/java/org/seamframework/tx/Transactional.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/transaction/src/main/java/org/seamframework/tx/Transactional.java	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ modules/trunk/transaction/src/main/java/org/seamframework/tx/Transactional.java	2009-11-24 02:42:50 UTC (rev 11658)
&lt;br&gt;@@ -0,0 +1,17 @@
&lt;br&gt;+package org.seamframework.tx;
&lt;br&gt;+
&lt;br&gt;+import static java.lang.annotation.ElementType.METHOD;
&lt;br&gt;+import static java.lang.annotation.ElementType.TYPE;
&lt;br&gt;+import static java.lang.annotation.RetentionPolicy.RUNTIME;
&lt;br&gt;+
&lt;br&gt;+import java.lang.annotation.Documented;
&lt;br&gt;+import java.lang.annotation.Retention;
&lt;br&gt;+import java.lang.annotation.Target;
&lt;br&gt;+
&lt;br&gt;+import javax.interceptor.InterceptorBinding;
&lt;br&gt;+
&lt;br&gt;+@Retention(RUNTIME)
&lt;br&gt;+@Target({METHOD, TYPE})
&lt;br&gt;+@Documented
&lt;br&gt;+@InterceptorBinding
&lt;br&gt;+public @interface Transactional {}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26489687&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11658---in-modules-trunk-transaction-src-main-java-org%3A-seamframework-and-1-other-directories.-tp26489687p26489687.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26489589</id>
	<title>Seam SVN:  r11657 - modules/trunk/transaction.</title>
	<published>2009-11-23T18:25:15Z</published>
	<updated>2009-11-23T18:25:15Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: sboscarine
&lt;br&gt;Date: 2009-11-23 21:25:15 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11657
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/transaction/pom.xml
&lt;br&gt;Log:
&lt;br&gt;commented out references to unresolvable dependencies. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/transaction/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/transaction/pom.xml	2009-11-24 02:15:55 UTC (rev 11656)
&lt;br&gt;+++ modules/trunk/transaction/pom.xml	2009-11-24 02:25:15 UTC (rev 11657)
&lt;br&gt;@@ -1,30 +1,30 @@
&lt;br&gt;-&amp;lt;project xmlns=&amp;quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt;&amp;quot; 
&lt;br&gt;- &amp;nbsp;xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; 
&lt;br&gt;- &amp;nbsp;xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://maven.apache.org/maven-v4_0_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/maven-v4_0_0.xsd&lt;/a&gt;&amp;quot;&amp;gt; &amp;nbsp; 
&lt;br&gt;+&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;+&amp;lt;project xmlns=&amp;quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt;&amp;quot; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://maven.apache.org/POM/4.0.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/POM/4.0.0&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://maven.apache.org/maven-v4_0_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://maven.apache.org/maven-v4_0_0.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt;
&lt;br&gt;+ &amp;nbsp; d&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parent&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;seam-parent&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.jboss.seam&amp;lt;/groupId&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.jboss.seam&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;3.0.0-SNAPSHOT&amp;lt;/version&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;lt;/parent&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;lt;/parent&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;org.jboss.seam&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;seam-transaction&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;packaging&amp;gt;jar&amp;lt;/packaging&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;version&amp;gt;3.0.0-SNAPSHOT&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;name&amp;gt;Seam Transaction&amp;lt;/name&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dependencies&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.ejb&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;ejb-api&amp;lt;/artifactId&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;ejb-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.persistence&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;persistence-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.transaction&amp;lt;/groupId&amp;gt;
&lt;br&gt;@@ -37,6 +37,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.transaction&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;jta&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.enterprise&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;cdi-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Missing dependencies --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${seam.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;seam-el&amp;lt;/artifactId&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;@@ -51,7 +63,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;webbeans-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;-
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; --&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/dependencies&amp;gt;
&lt;br&gt;-
&lt;br&gt;-&amp;lt;/project&amp;gt;
&lt;br&gt;+&amp;lt;/project&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26489589&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A--r11657---modules-trunk-transaction.-tp26489589p26489589.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26489518</id>
	<title>Seam SVN: r11656 - in modules/trunk/persistence/src/main/java: org and 2 other directories.</title>
	<published>2009-11-23T18:15:56Z</published>
	<updated>2009-11-23T18:15:56Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: sboscarine
&lt;br&gt;Date: 2009-11-23 21:15:55 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11656
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/seamframework/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/seamframework/persistence/
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java
&lt;br&gt;Log:
&lt;br&gt;initial commit
&lt;br&gt;&lt;br&gt;Added: modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ modules/trunk/persistence/src/main/java/org/seamframework/persistence/PersistenceContextExtension.java	2009-11-24 02:15:55 UTC (rev 11656)
&lt;br&gt;@@ -0,0 +1,202 @@
&lt;br&gt;+package org.seamframework.persistence;
&lt;br&gt;+
&lt;br&gt;+import java.lang.annotation.Annotation;
&lt;br&gt;+import java.lang.reflect.Type;
&lt;br&gt;+import java.util.Collections;
&lt;br&gt;+import java.util.HashSet;
&lt;br&gt;+import java.util.Set;
&lt;br&gt;+
&lt;br&gt;+import javax.enterprise.context.ApplicationScoped;
&lt;br&gt;+import javax.enterprise.context.spi.CreationalContext;
&lt;br&gt;+import javax.enterprise.event.Observes;
&lt;br&gt;+import javax.enterprise.inject.Alternative;
&lt;br&gt;+import javax.enterprise.inject.Any;
&lt;br&gt;+import javax.enterprise.inject.Default;
&lt;br&gt;+import javax.enterprise.inject.spi.AfterBeanDiscovery;
&lt;br&gt;+import javax.enterprise.inject.spi.AnnotatedField;
&lt;br&gt;+import javax.enterprise.inject.spi.Bean;
&lt;br&gt;+import javax.enterprise.inject.spi.BeanManager;
&lt;br&gt;+import javax.enterprise.inject.spi.Extension;
&lt;br&gt;+import javax.enterprise.inject.spi.InjectionPoint;
&lt;br&gt;+import javax.enterprise.inject.spi.ProcessProducer;
&lt;br&gt;+import javax.enterprise.inject.spi.Producer;
&lt;br&gt;+import javax.enterprise.util.AnnotationLiteral;
&lt;br&gt;+import javax.inject.Qualifier;
&lt;br&gt;+import javax.persistence.EntityManager;
&lt;br&gt;+import javax.persistence.EntityManagerFactory;
&lt;br&gt;+import javax.persistence.Persistence;
&lt;br&gt;+import javax.persistence.PersistenceContext;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * Support for managed persistence contexts in Java SE environment.
&lt;br&gt;+ * 
&lt;br&gt;+ * @author Gavin King
&lt;br&gt;+ * 
&lt;br&gt;+ */
&lt;br&gt;+public class PersistenceContextExtension implements Extension
&lt;br&gt;+{
&lt;br&gt;+ &amp;nbsp; public PersistenceContextExtension()
&lt;br&gt;+ &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;\n\n&amp;quot; + this.getClass() + &amp;quot; was constructed&amp;quot;);
&lt;br&gt;+ &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; private Bean&amp;lt;EntityManagerFactory&amp;gt; emfBean;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; /**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* For @PersistenceContext producer fields, make a bean for the EMF, then
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* wrap the producer CDI creates, to get the EM from the EMF bean we made
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* instead of trying to get it from the Java EE component environment.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;+ &amp;nbsp; void processProducer(@Observes ProcessProducer&amp;lt;?, EntityManager&amp;gt; pp, final BeanManager bm)
&lt;br&gt;+ &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;if (pp.getAnnotatedMember().isAnnotationPresent(PersistenceContext.class))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (emfBean == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AnnotatedField&amp;lt;?&amp;gt; field = (AnnotatedField&amp;lt;?&amp;gt;) pp.getAnnotatedMember();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final String unitName = field.getAnnotation(PersistenceContext.class).unitName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final Class&amp;lt;?&amp;gt; module = field.getJavaMember().getDeclaringClass();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final Set&amp;lt;Annotation&amp;gt; qualifiers = new HashSet&amp;lt;Annotation&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Annotation ann : field.getAnnotations())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Class&amp;lt;? extends Annotation&amp;gt; annotationType = ann.annotationType();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // if ( bm.isQualifier(annotationType)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (annotationType.isAnnotationPresent(Qualifier.class))
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { // work around bug in Weld
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;qualifiers.add(ann);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (qualifiers.isEmpty())
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; qualifiers.add(new AnnotationLiteral&amp;lt;Default&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/** default value. Added only to suppress compiler warnings. */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static final long serialVersionUID = 1L;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;qualifiers.add(new AnnotationLiteral&amp;lt;Any&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /** default value. Added only to suppress compiler warnings. */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static final long serialVersionUID = 1L;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final boolean alternative = field.isAnnotationPresent(Alternative.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final Set&amp;lt;Type&amp;gt; types = new HashSet&amp;lt;Type&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /** default value. Added only to suppress compiler warnings. */
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static final long serialVersionUID = 1L;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;add(EntityManagerFactory.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;add(Object.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// create a bean for the EMF
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;emfBean = new Bean&amp;lt;EntityManagerFactory&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Set&amp;lt;Type&amp;gt; getTypes()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return types;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Class&amp;lt;? extends Annotation&amp;gt; getScope()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ApplicationScoped.class;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public EntityManagerFactory create(CreationalContext&amp;lt;EntityManagerFactory&amp;gt; ctx)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Persistence.createEntityManagerFactory(unitName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void destroy(EntityManagerFactory emf, CreationalContext&amp;lt;EntityManagerFactory&amp;gt; ctx)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;emf.close();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ctx.release();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Class&amp;lt;?&amp;gt; getBeanClass()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return module;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Set&amp;lt;InjectionPoint&amp;gt; getInjectionPoints()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// return Collections.EMPTY_SET;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Collections.emptySet();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String getName()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Set&amp;lt;Annotation&amp;gt; getQualifiers()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return qualifiers;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Set&amp;lt;Class&amp;lt;? extends Annotation&amp;gt;&amp;gt; getStereotypes()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// return Collections.EMPTY_SET;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Collections.emptySet();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public boolean isAlternative()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return alternative;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public boolean isNullable()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new RuntimeException(&amp;quot;Only one EMF per application is supported&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Producer&amp;lt;EntityManager&amp;gt; producer = new Producer&amp;lt;EntityManager&amp;gt;()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Set&amp;lt;InjectionPoint&amp;gt; getInjectionPoints()
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // return Collections.EMPTY_SET;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Collections.emptySet();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public EntityManager produce(CreationalContext&amp;lt;EntityManager&amp;gt; ctx)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return getFactory(ctx).createEntityManager();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private EntityManagerFactory getFactory(CreationalContext&amp;lt;EntityManager&amp;gt; ctx)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (EntityManagerFactory) bm.getReference(emfBean, EntityManagerFactory.class, ctx);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void dispose(EntityManager em)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (em.isOpen()) // work around what I suspect is a bug in Weld
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;em.close();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pp.setProducer(producer);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; }
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; /**
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;* Register the EMF bean with the container.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;+ &amp;nbsp; void afterBeanDiscovery(@Observes AfterBeanDiscovery abd)
&lt;br&gt;+ &amp;nbsp; {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;abd.addBean(emfBean);
&lt;br&gt;+ &amp;nbsp; }
&lt;br&gt;+}
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26489518&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11656---in-modules-trunk-persistence-src-main-java%3A-org-and-2-other-directories.-tp26489518p26489518.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26489497</id>
	<title>Seam SVN: r11655 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T18:12:52Z</published>
	<updated>2009-11-23T18:12:52Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 21:12:51 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11655
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Concepts.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Configuration.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Events.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml
&lt;br&gt;Log:
&lt;br&gt;Commented out visible TODO items for CP07 build.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Concepts.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Concepts.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Concepts.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -15,7 +15,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Let's start by describing the contexts built in to Seam.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam contexts&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam contexts are created and destroyed by the framework. The application does not control context
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;demarcation via explicit Java API calls. Context are usually implicit. In some cases, however, contexts are
&lt;br&gt;@@ -61,16 +61,16 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Let's look at each context in turn.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Stateless context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components which are truly stateless (stateless session beans, primarily) always live in the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stateless context (this is really a non-context). Stateless components are not very interesting, and are
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arguably not very object-oriented. Nevertheless, they are important and often useful.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Event context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The event context is the &amp;quot;narrowest&amp;quot; stateful context, and is a generalization of the notion of the
&lt;br&gt;@@ -83,9 +83,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;When you invoke a Seam component via RMI, or Seam Remoting, the event context is created and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;destroyed just for the invocation.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Page context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The page context allows you to associate state with a particular instance of a rendered page. You can
&lt;br&gt;@@ -95,9 +95,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serialized to the client, so this construct is extremely robust with respect to multi-window operation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and the back button.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Conversation context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The conversation context is a truly central concept in Seam. A &amp;lt;emphasis&amp;gt;conversation&amp;lt;/emphasis&amp;gt; is a
&lt;br&gt;@@ -145,9 +145,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Alternatively, Seam may be configured to keep conversational state in the client browser.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Session context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A session context holds state associated with the user login session. While there are some cases
&lt;br&gt;@@ -157,9 +157,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In a JSR-168 portal environment, the session context represents the portlet session. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Business process context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The business process context holds state associated with the long running business process. This
&lt;br&gt;@@ -169,18 +169,18 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;business process is defined externally using a &amp;lt;emphasis&amp;gt;process definition language&amp;lt;/emphasis&amp;gt;, so
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;there are no special annotations for business process demarcation. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Application context&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The application context is the familiar servlet context from the servlet spec. Application context is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mainly useful for holding static information such as configuration data, reference data or metamodels.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For example, Seam stores its own configuration and metamodel in the application context. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Context variables&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A context defines a namespace, a set of &amp;lt;emphasis&amp;gt;context variables&amp;lt;/emphasis&amp;gt;. These work much the
&lt;br&gt;@@ -207,9 +207,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usually, however, we obtain components from a context via injection, and put component instances into
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a context via outjection. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Context search priority&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sometimes, as above, component instances are obtained from a particular known scope. Other times, all
&lt;br&gt;@@ -242,9 +242,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Whenever you access a component by name from a JSF page, a priority search occurs. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2 id=&amp;quot;concurrency&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;concurrency&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Concurrency model&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Neither the servlet nor EJB specifications define any facilities for managing concurrent requests
&lt;br&gt;@@ -279,11 +279,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This concurrency model means that AJAX clients can safely use volatile session and conversational
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;state, without the need for any special work on the part of the developer.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam components are POJOs (Plain Old Java Objects). In particular, they are JavaBeans or EJB 3.0
&lt;br&gt;@@ -310,7 +310,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Stateless session beans&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stateless session bean components are not able to hold state across multiple invocations. Therefore,
&lt;br&gt;@@ -334,9 +334,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or &amp;lt;literal&amp;gt;@In(create=true)&amp;lt;/literal&amp;gt;. They should not be directly instantiated via JNDI lookup
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or the &amp;lt;literal&amp;gt;new&amp;lt;/literal&amp;gt; operator.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Stateful session beans&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Stateful session bean components are able to hold state not only across multiple invocations of the
&lt;br&gt;@@ -364,9 +364,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or &amp;lt;literal&amp;gt;@In(create=true)&amp;lt;/literal&amp;gt;. They should not be directly instantiated via JNDI lookup
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or the &amp;lt;literal&amp;gt;new&amp;lt;/literal&amp;gt; operator.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Entity beans&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Entity beans may be bound to a context variable and function as a seam component. Because entities
&lt;br&gt;@@ -397,9 +397,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam entity bean components may be instantiated using &amp;lt;literal&amp;gt;Component.getInstance()&amp;lt;/literal&amp;gt;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@In(create=true)&amp;lt;/literal&amp;gt; or directly using the &amp;lt;literal&amp;gt;new&amp;lt;/literal&amp;gt; operator.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;JavaBeans&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Javabeans may be used just like a stateless or stateful session bean. However, they do not provide
&lt;br&gt;@@ -423,9 +423,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;or &amp;lt;literal&amp;gt;@In(create=true)&amp;lt;/literal&amp;gt;. They should not be directly instantiated using the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;new&amp;lt;/literal&amp;gt; operator.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Message-driven beans&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Message-driven beans may function as a seam component. However, message-driven beans are called quite
&lt;br&gt;@@ -441,9 +441,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Message-driven beans are never instantiated by the application. They are instantiated by the EJB
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container when a message is received.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Interception&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;In order to perform its magic (bijection, context demarcation, validation, etc), Seam must intercept
&lt;br&gt;@@ -476,9 +476,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/interceptor-binding&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/assembly-descriptor&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Component names&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;All seam components need a name. We can assign a name to a component using the
&lt;br&gt;@@ -545,9 +545,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name by the &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; file included in the Seam jar. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Defining the component scope&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;We can override the default scope (context) of a component using the &amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt;
&lt;br&gt;@@ -566,9 +566,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;org.jboss.seam.ScopeType&amp;lt;/literal&amp;gt; defines an enumeration of possible scopes.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Components with multiple roles&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Some Seam component classes can fulfill more than one role in the system. For example, we often have
&lt;br&gt;@@ -601,9 +601,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;... 
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Built-in components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Like many good frameworks, Seam eats its own dogfood and is implemented mostly as a set of built-in
&lt;br&gt;@@ -617,11 +617,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;convenient static &amp;lt;literal&amp;gt;instance()&amp;lt;/literal&amp;gt; methods: 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[FacesMessages.instance().add(&amp;quot;Welcome back, #{user.name}!&amp;quot;);]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Bijection&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;Dependency injection&amp;lt;/emphasis&amp;gt; or &amp;lt;emphasis&amp;gt;inversion of control&amp;lt;/emphasis&amp;gt; is by now a familiar
&lt;br&gt;@@ -795,9 +795,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;... 
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Lifecycle methods&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;@@ -831,9 +831,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;specifying &amp;lt;literal&amp;gt;@Startup(depends={....})&amp;lt;/literal&amp;gt;. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Conditional installation&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -949,9 +949,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;use it in your application.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Logging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;@@ -1024,9 +1024,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;classpath, Seam with use it. If it is not, Seam will use JDK logging.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The &amp;lt;literal&amp;gt;Mutable&amp;lt;/literal&amp;gt; interface and &amp;lt;literal&amp;gt;@ReadOnly&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Many application servers feature an amazingly broken implementation of &amp;lt;literal&amp;gt;HttpSession&amp;lt;/literal&amp;gt;
&lt;br&gt;@@ -1128,9 +1128,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of managing an entity bean instance using a Seam component. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Factory and manager components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;We often need to work with objects that are not Seam components. But we still want to be able to inject
&lt;br&gt;@@ -1240,6 +1240,6 @@
&lt;br&gt;&amp;nbsp;		on every access, a consistent view is provided.
&lt;br&gt;&amp;nbsp;	&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Configuration.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Configuration.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Configuration.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -8,12 +8,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;off by the following sections; you'll never need to type any of this stuff yourself, since you can just copy and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;paste from the example applications! &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Basic Seam configuration&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; First, let's look at the basic configuration that is needed whenever we use Seam with JSF. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Integrating Seam with JSF and your servlet container&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Of course, you need a faces servlet! &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -67,9 +67,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/context-param&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using facelets&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If you want follow our advice and use facelets instead of JSP, add the following lines to
&lt;br&gt;@@ -86,9 +86,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param-value&amp;gt;.xhtml&amp;lt;/param-value&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/context-param&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam Resource Servlet&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Seam Resource Servlet provides resources used by Seam Remoting, captchas (see the security
&lt;br&gt;@@ -104,9 +104,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;servlet-name&amp;gt;Seam Resource Servlet&amp;lt;/servlet-name&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;url-pattern&amp;gt;/seam/resource/*&amp;lt;/url-pattern&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Seam servlet filters&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam doesn't need any servlet filters for basic operation. However, there are several features which
&lt;br&gt;@@ -158,7 +158,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Adding the master filter enables the following built-in filters. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Exception handling&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This filter provides the exception mapping functionality in &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; (almost
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;all applications will need this). It also takes care of rolling back uncommitted transactions when
&lt;br&gt;@@ -178,9 +178,9 @@
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Conversation propagation with redirects&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This filter allows Seam to propagate the conversation context across browser redirects. It
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;intercepts any browser redirects and adds a request parameter that specifies the Seam conversation
&lt;br&gt;@@ -190,9 +190,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;web:redirect-filter url-pattern=&amp;quot;*.seam&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Multipart form submissions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This feature is necessary when using the Seam file upload JSF control. It detects multipart form
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;requests and processes them according to the multipart/form-data specification (RFC-2388). To
&lt;br&gt;@@ -217,9 +217,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this value, the request will be aborted. The default setting is 0 (no size limit). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Character encoding&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Sets the character encoding of submitted form data. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -244,9 +244,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;already specify an encoding. The default setting is &amp;lt;literal&amp;gt;false&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;RichFaces&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;@@ -292,9 +292,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Identity Logging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;@@ -312,9 +312,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;web:logging-filter url-pattern=&amp;quot;*.seam&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/components&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Context management for custom servlets&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Requests sent direct to some servlet other than the JSF servlet are not processed through the JSF
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lifecycle, so Seam provides a servlet filter that can be applied to any other servlet that needs
&lt;br&gt;@@ -339,9 +339,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam exposes the conversation id as a property of the built in component
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;conversation&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Adding custom filters&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam can install your filters for you, allowing you to specify &amp;lt;emphasis&amp;gt;where&amp;lt;/emphasis&amp;gt; in the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chain your filter is placed (the servlet specification doesn't provide a well defined order if you
&lt;br&gt;@@ -360,10 +360,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;should be further down the chain than the RichFaces filter
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(&amp;lt;literal&amp;gt;@Filter(within=&amp;quot;org.jboss.seam.web.ajax4jsfFilter&amp;quot;)&amp;lt;/literal&amp;gt;). &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Integrating Seam with your EJB container&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We need to apply the &amp;lt;literal&amp;gt;SeamInterceptor&amp;lt;/literal&amp;gt; to our Seam components. The simplest way to
&lt;br&gt;@@ -414,9 +414,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:ejb-transaction/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Don't forget!&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; There is one final item you need to know about. You must place a &amp;lt;literal&amp;gt;seam.properties&amp;lt;/literal&amp;gt;,
&lt;br&gt;@@ -436,11 +436,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component explicitly in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, just like some other competing frameworks do!
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;I think you'll like our way better. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1 id=&amp;quot;alt-jpa-providers&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;alt-jpa-providers&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using Alternate JPA Providers&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam comes packaged and configured with Hibernate as the default JPA provider.
&lt;br&gt;@@ -482,9 +482,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;provider needs. &amp;nbsp;Don't forget to package your new provider's jar files in the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application if they are needed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring Seam in Java EE 5&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;mediaobject&amp;gt;
&lt;br&gt;@@ -498,7 +498,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If you're running in a Java EE 5 environment, this is all the configuration required to start using Seam! &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Packaging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Once you've packaged all this stuff together into an EAR, the archive structure will look something
&lt;br&gt;@@ -564,11 +564,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;only about a third of the way there. If you're too overwhelmed by all this tedious configuration stuff,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;feel free to skip over the rest of this section and come back to it later. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring Seam in J2EE&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam is useful even if you're not yet ready to take the plunge into EJB 3.0. In this case you would use
&lt;br&gt;@@ -596,7 +596,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaBeans instead of EJB3, and another version that uses JPA and JavaBeans. These example applications are
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ready to deploy into any J2EE application server. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Boostrapping Hibernate in Seam&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam will bootstrap a Hibernate &amp;lt;literal&amp;gt;SessionFactory&amp;lt;/literal&amp;gt; from your
&lt;br&gt;@@ -610,9 +610,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;persistence:managed-hibernate-session name=&amp;quot;hibernateSession&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session-factory=&amp;quot;#{hibernateSessionFactory}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Boostrapping JPA in Seam&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam will bootstrap a JPA &amp;lt;literal&amp;gt;EntityManagerFactory&amp;lt;/literal&amp;gt; from your
&lt;br&gt;@@ -626,9 +626,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;persistence:managed-persistence-context name=&amp;quot;entityManager&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entity-manager-factory=&amp;quot;#{entityManagerFactory}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Packaging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We can package our application as a WAR, in the following structure: &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -668,10 +668,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If we want to deploy Hibernate in a non-EE environment like TestNG, we need to do a little
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bit more work. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring Seam in Java SE, without JBoss Embedded&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; It is possible to use Seam completely outside of an EE environment. In this case, you need to tell Seam
&lt;br&gt;@@ -685,9 +685,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;transaction:hibernate-transaction session=&amp;quot;#{session}&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Of course, you'll also need to define a datasource.&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring jBPM in Seam&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam's jBPM integration is not installed by default, so you'll need to enable jBPM by installing a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;built-in component. You'll also need to explicitly list your process and pageflow definitions. In
&lt;br&gt;@@ -732,7 +732,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The most important thing to notice here is that jBPM transaction control is disabled. Seam or EJB3 should
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;control the JTA transactions. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Packaging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; There is not yet any well-defined packaging format for jBPM configuration and process/pageflow
&lt;br&gt;@@ -782,11 +782,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;approveDocument.jpdl.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;documentLifecycle.jpdl.xml]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring SFSB and Session Timeouts in JBoss AS&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; It is very important that the timeout for Stateful Session Beans is set higher than the timeout for HTTP
&lt;br&gt;@@ -829,9 +829,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; To override this value for your own application, simply include this entry in your application's own
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Running Seam in a Portlet&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -847,6 +847,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		&amp;lt;para&amp;gt;Seam Integration with JBoss Portlet Bridge is marked as technology preview, so standard support is not guaranteed.&amp;lt;/para&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/note&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -259,10 +259,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;workspace management.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TODO: an example to show how a nested conversation prevents bad 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stuff happening when you backbutton.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usually, if a component exists in a parent conversation of the 
&lt;br&gt;@@ -1243,4 +1243,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Events.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Events.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Events.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -104,10 +104,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Furthermore, the view id mentioned in the &amp;lt;literal&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;element need not correspond to a real JSP or Facelets page! So, we can
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reproduce the functionality of a traditional action-oriented framework
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;like Struts or WebWork using page actions. For example:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;like Struts or WebWork using page actions.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[TODO: translate struts action into page action]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[TODO: translate struts action into page action]]&amp;gt;&amp;lt;/programlisting&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Groovy.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -40,7 +40,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO: write a quick overview of the Groovy syntax add-on&amp;lt;/para&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO: write a quick overview of the Groovy syntax add-on&amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Jms.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -31,7 +31,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Asynchronicity&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -69,7 +69,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;same. They can just &amp;quot;plug and play&amp;quot; by adding a line to &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Asynchronous methods&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -219,9 +219,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Asynchronous methods cannot return any other value to the caller.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Asynchronous methods with the Quartz Dispatcher&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -336,9 +336,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;The &amp;lt;literal&amp;gt;@IntervalDuration&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;@IntervalCron&amp;lt;/literal&amp;gt;, and &amp;lt;literal&amp;gt;@IntervalNthBusinessDay&amp;lt;/literal&amp;gt; annotations are mutually exclusive. If they are used in the same method, a &amp;lt;literal&amp;gt;RuntimeException&amp;lt;/literal&amp;gt; will be thrown.&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Asynchronous events&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Component-driven events may also be asynchronous. To raise an event for asynchronous
&lt;br&gt;@@ -349,11 +349,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components may observe asynchronous events in the usual way, but remember that only the 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;business process context is propagated to the asynchronous thread.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Messaging in Seam&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -361,7 +361,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam components.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuration&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To configure Seam's infrastructure for sending JMS messages,
&lt;br&gt;@@ -395,9 +395,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;auto-create=&amp;quot;true&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;queue-jndi-name=&amp;quot;queue/paymentQueue&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Sending messages&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Now, you can inject a JMS &amp;lt;literal&amp;gt;TopicPublisher&amp;lt;/literal&amp;gt; and
&lt;br&gt;@@ -438,24 +438,24 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Receiving messages using a message-driven bean&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;You can process messages using any EJB3 message driven bean. Message-driven
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beans may even be Seam components, in which case it is possible to inject
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;other event and application scoped Seam components.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Receiving messages in the client&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam Remoting lets you subscribe to a JMS topic from client-side JavaScript. This is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;described in &amp;lt;xref linkend=&amp;quot;remoting&amp;quot;/&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -8,7 +8,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;for securing both domain and page resources within your Seam project.
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Overview&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -30,7 +30,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Which mode is right for my application?&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -44,10 +44,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If on the other hand, your application requires security checks based on contextual state or complex business rules,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;then you will require the features provided by the advanced mode.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Requirements&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -79,9 +79,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Disabling Security&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -104,9 +104,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Page restrictions&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Authentication&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -115,7 +115,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;authentication requirements Seam offers a much more simplified method of authentication that hides the complexity of JAAS.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuration&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -151,9 +151,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to authenticate the user.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Writing an authentication method&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -205,7 +205,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;authentication method returns &amp;lt;literal&amp;gt;false&amp;lt;/literal&amp;gt; to indicate the authentication failed.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Identity.addRole()&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -228,9 +228,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/imageobject&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Special Considerations&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -257,11 +257,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userStats.setLastLoginDate(new Date());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;userStats.incrementLoginCount();
&lt;br&gt;&amp;nbsp; &amp;nbsp; }]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Writing a login form&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -291,9 +291,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;action will clear the security state of the currently authenticated user.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Simplified Configuration - Summary&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;So to sum up, there are the three easy steps to configure authentication:
&lt;br&gt;@@ -317,9 +317,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Handling Security Exceptions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -375,9 +375,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam includes some special functionality for handling this problem.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Login Redirection&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -420,9 +420,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the conversation in your &amp;lt;literal&amp;gt;authenticate()&amp;lt;/literal&amp;gt; method.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;HTTP Authentication&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -450,7 +450,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;authentication realm that is presented to the user when they authenticate.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Writing a Digest Authenticator&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -478,11 +478,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Advanced Authentication Features&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -490,7 +490,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;security requirements.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using your container's JAAS configuration&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -508,13 +508,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;container your Seam application is deployed in. &amp;nbsp;It merely instructs Seam Security to authenticate
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;itself using the configured JAAS security policy.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Error Messages&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -597,9 +597,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tbody&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tgroup&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Authorization&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -610,7 +610,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;above.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Core concepts&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -628,9 +628,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for example &amp;lt;literal&amp;gt;customer:delete&amp;lt;/literal&amp;gt;, or &amp;lt;literal&amp;gt;customer:insert&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Securing components&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -638,7 +638,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; annotation.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The @Restrict annotation&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -718,9 +718,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in &amp;lt;literal&amp;gt;Identity&amp;lt;/literal&amp;gt;, which in this case can then determine if the user has the required
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;permission for modifying the specified &amp;lt;literal&amp;gt;Account&amp;lt;/literal&amp;gt; object.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Inline restrictions&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sometimes it might be desirable to perform a security check in code, without using the
&lt;br&gt;@@ -762,10 +762,10 @@
&lt;br&gt;&amp;nbsp;if (!Identity.instance().hasPermission(&amp;quot;customer&amp;quot;, &amp;quot;create&amp;quot;, null))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; throw new AuthorizationException(&amp;quot;You may not create new customers&amp;quot;);]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Security in the user interface&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -826,9 +826,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/h:dataTable&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Securing pages&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Page security requires that the application is using a &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; file, however is
&lt;br&gt;@@ -859,9 +859,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;admin&amp;lt;/literal&amp;gt; role.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Securing Entities&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -990,7 +990,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; your JPA provider.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Entity security with JPA&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1014,9 +1014,9 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/entity-mappings&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Entity security with a Managed Hibernate Session&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1025,13 +1025,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;need to do anything special to use entity security.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Writing Security Rules&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1040,7 +1040,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;checks are processed, and how to implement permission checks for a Seam application.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Permissions Overview&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1051,9 +1051,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;algorithms for evaluating large numbers of complex rules involving multiple conditions.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring a rules file&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1083,9 +1083,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Once the &amp;lt;literal&amp;gt;RuleBase&amp;lt;/literal&amp;gt; component is configured, it's time to write the security rules.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Creating a security rules file&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For this step you need to create a file called &amp;lt;literal&amp;gt;security.drl&amp;lt;/literal&amp;gt; in the
&lt;br&gt;@@ -1215,7 +1215,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;intended for.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Wildcard permission checks&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1237,13 +1237,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This rule allows users with the &amp;lt;literal&amp;gt;admin&amp;lt;/literal&amp;gt; role to perform &amp;lt;emphasis&amp;gt;any&amp;lt;/emphasis&amp;gt; action for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;any &amp;lt;literal&amp;gt;customer&amp;lt;/literal&amp;gt; permission check.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect3&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;SSL Security&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1299,9 +1299,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sensitive data from pages using HTTPS to other pages using HTTP.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;CAPTCHA&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1311,7 +1311,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prevent automated processes from interacting with your application.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring the CAPTCHA Servlet&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To get up and running, it is necessary to configure the Seam Resource Servlet, which will provide the Captcha
&lt;br&gt;@@ -1328,9 +1328,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;url-pattern&amp;gt;/seam/resource/*&amp;lt;/url-pattern&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Adding a CAPTCHA to a form&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1349,9 +1349,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;validated against the CAPTCHA when the form is submitted.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Customising the CAPTCHA algorithm&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1378,11 +1378,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Security Events&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1534,9 +1534,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/tgroup&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/table&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Run As&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1573,9 +1573,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;RunAsOperation&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Extending the Identity component&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -1621,6 +1621,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp;}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -163,12 +163,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A Seam component must have a &amp;lt;emphasis&amp;gt;component name&amp;lt;/emphasis&amp;gt; specified by the &amp;lt;xref linkend=&amp;quot;name-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt; &amp;nbsp;annotation. This name must be unique within the Seam application. When JSF asks Seam to resolve a currently undefined (null) context variable whose name matches that of a Seam component, Seam will instantiate that component, and bind the new instance to the context variable. In this case, Seam will instantiate a &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; the first time JSF encounters a variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A Seam component must have a &amp;lt;emphasis&amp;gt;component name&amp;lt;/emphasis&amp;gt; specified by the &amp;lt;xref linkend=&amp;quot;name-annotation&amp;quot; /&amp;gt; annotation. This name must be unique within the Seam application. When JSF asks Seam to resolve a currently undefined (null) context variable whose name matches that of a Seam component, Seam will instantiate that component, and bind the new instance to the context variable. In this case, Seam will instantiate a &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; the first time JSF encounters a variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Whenever Seam instantiates a component, it binds the new instance to a context variable in the component&amp;#39;s &amp;lt;emphasis&amp;gt;default context&amp;lt;/emphasis&amp;gt;. The default context is specified using the &amp;lt;xref linkend=&amp;quot;scope-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; &amp;nbsp;annotation. The &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; bean is a session scoped component.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Whenever Seam instantiates a component, it binds the new instance to a context variable in the component&amp;#39;s &amp;lt;emphasis&amp;gt;default context&amp;lt;/emphasis&amp;gt;. The default context is specified using the &amp;lt;xref linkend=&amp;quot;scope-annotation&amp;quot; /&amp;gt; annotation. The &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; bean is a session scoped component.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -271,7 +271,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;in-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt; &amp;nbsp;annotation marks an attribute of the bean as injected by Seam. In this case, the attribute is injected from a context variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; (the instance variable name).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;in-annotation&amp;quot; /&amp;gt; annotation marks an attribute of the bean as injected by Seam. In this case, the attribute is injected from a context variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; (the instance variable name).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;@@ -1059,48 +1059,60 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaBeans (There was no reason to use session beans, since they do not access the database, or have any
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;other transactional behavior). Let's start with the process definition: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;
&lt;br&gt;-&amp;lt;process-definition name=&amp;quot;todo&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;todo.jpdl.xml Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;programlistingco&amp;gt; &amp;lt;areaspec&amp;gt; &amp;lt;area id=&amp;quot;todo-startstate&amp;quot; coords=&amp;quot;3&amp;quot;/&amp;gt; &amp;lt;area id=&amp;quot;todo-tasknode&amp;quot; coords=&amp;quot;7&amp;quot;/&amp;gt; &amp;lt;area id=&amp;quot;todo-task&amp;quot; coords=&amp;quot;8&amp;quot;/&amp;gt; &amp;lt;area id=&amp;quot;todo-assignment&amp;quot; coords=&amp;quot;9&amp;quot;/&amp;gt; &amp;lt;area id=&amp;quot;todo-endstate&amp;quot; coords=&amp;quot;14&amp;quot;/&amp;gt; &amp;lt;/areaspec&amp;gt; --&amp;gt; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[&amp;lt;process-definition name=&amp;quot;todo&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;start-state name=&amp;quot;start&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition to=&amp;quot;todo&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/start-state&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;task-node name=&amp;quot;todo&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;task name=&amp;quot;todo&amp;quot; description=&amp;quot;#{todoList.description}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;assignment actor-id=&amp;quot;#{actor.id}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/task&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition to=&amp;quot;done&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/task-node&amp;gt;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;&amp;lt;end-state name=&amp;quot;done&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-&amp;lt;start-state name=&amp;quot;start&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;transition to=&amp;quot;todo&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;/start-state&amp;gt;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;-&amp;lt;task-node name=&amp;quot;todo&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;task name=&amp;quot;todo&amp;quot; description=&amp;quot;#{todoList.description}&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;assignment actor-id=&amp;quot;#{actor.id}&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;/task&amp;gt;
&lt;br&gt;-&amp;lt;transition to=&amp;quot;done&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;/task-node&amp;gt;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;-&amp;lt;end-state name=&amp;quot;done&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;-&amp;lt;/process-definition&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;start-state&amp;gt;&amp;lt;/literal&amp;gt; node represents the logical start
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;of the process. When the process starts, it immediately transitions to the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;todo&amp;lt;/literal&amp;gt; node. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;task-node&amp;gt;&amp;lt;/literal&amp;gt; node represents a &amp;lt;emphasis&amp;gt;wait
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;state&amp;lt;/emphasis&amp;gt;, where business process execution pauses, waiting for one or more
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tasks to be performed. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;task&amp;gt;&amp;lt;/literal&amp;gt; element defines a task to be performed by
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a user. Since there is only one task defined on this node, when it is complete,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;execution resumes, and we transition to the end state. The task gets its description
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from a Seam component named &amp;lt;literal&amp;gt;todoList&amp;lt;/literal&amp;gt; (one of the JavaBeans). &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Tasks need to be assigned to a user or group of users when they are created. In this
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case, the task is assigned to the current user, which we get from a built-in Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component named &amp;lt;literal&amp;gt;actor&amp;lt;/literal&amp;gt;. Any Seam component may be used to perform task
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assignment. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;end-state&amp;gt;&amp;lt;/literal&amp;gt; node defines the logical end of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;business process. When execution reaches this node, the process instance is destroyed.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+&amp;lt;/process-definition&amp;gt;]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;messages.jsp Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;start-state&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; node represents the logical beginning of the process. When the process begins, it immediately transitions to the &amp;lt;literal&amp;gt;todo&amp;lt;/literal&amp;gt; node.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;task-node&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; node represents a &amp;lt;emphasis&amp;gt;wait state&amp;lt;/emphasis&amp;gt;, where business process execution pauses, waiting for one or more tasks to be performed.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;task&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; element defines a task to be performed by a user. Since there is only one task defined on this node, when it is complete, execution resumes, and we transition to the end state. The task receives its description from the &amp;lt;literal&amp;gt;todoList&amp;lt;/literal&amp;gt; JavaBean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Tasks are assigned to a user or group of users when they are created. Here, the task is assigned to the current user, retrieved from the built-in &amp;lt;literal&amp;gt;actor&amp;lt;/literal&amp;gt; Seam component. (Any Seam component may be used to perform task assignment.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;end-state&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; node defines the logical end of the business process. When execution reaches this node, the process instance is destroyed.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If we view this process definition using the process definition editor provided by JBossIDE, this is
&lt;br&gt;@@ -1180,41 +1192,53 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The second JavaBean is responsible for starting business process instances, and ending tasks. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Name(&amp;quot;todoList&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;TodoList.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Name(&amp;quot;todoList&amp;quot;)
&lt;br&gt;&amp;nbsp;public class TodoList {
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; private String description;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public String getDescription()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return description;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;private String description;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public String getDescription() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return description;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void setDescription(String description) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.description = description;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @CreateProcess(definition=&amp;quot;todo&amp;quot;)
&lt;br&gt;- &amp;nbsp; public void createTodo() {}
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @StartTask @EndTask
&lt;br&gt;- &amp;nbsp; public void done() {}
&lt;br&gt;+ &amp;nbsp;public void setDescription(String description) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.description = description;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@CreateProcess(definition=&amp;quot;todo&amp;quot;)
&lt;br&gt;+ &amp;nbsp;public void createTodo() {}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@StartTask @EndTask
&lt;br&gt;+ &amp;nbsp;public void done() {}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The description property accepts user input form the JSP page, and exposes it to the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;process definition, allowing the task description to be set. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Seam &amp;lt;literal&amp;gt;@CreateProcess&amp;lt;/literal&amp;gt; annotation creates a new jBPM process
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instance for the named process definition. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Seam &amp;lt;literal&amp;gt;@StartTask&amp;lt;/literal&amp;gt; annotation starts work on a task. The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@EndTask&amp;lt;/literal&amp;gt; ends the task, and allows the business process execution
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to resume. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;nbsp; &amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;TodoList.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The description property accepts user input from the JSP page, and exposes it to the process definition, allowing the task description to be set.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Seam &amp;lt;literal&amp;gt;@CreateProcess&amp;lt;/literal&amp;gt; annotation creates a new jBPM process instance for the named process definition.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Seam &amp;lt;literal&amp;gt;@StartTask&amp;lt;/literal&amp;gt; annotation starts work on a task. The &amp;lt;literal&amp;gt;@EndTask&amp;lt;/literal&amp;gt; ends the task, and allows the business process execution to resume.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; In a more realistic example, &amp;lt;literal&amp;gt;@StartTask&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;@EndTask&amp;lt;/literal&amp;gt; would not
&lt;br&gt;@@ -1379,10 +1403,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configuration and not very interesting. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;How it works&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1412,70 +1436,89 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The example is implemented using one JavaBean, three JSP pages and a jPDL pageflow definition. Let's
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;begin with the pageflow: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-&amp;lt;pageflow-definition 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;pageflow.jpdl.xml Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[&amp;lt;pageflow-definition 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns=&amp;quot;&lt;a href=&quot;http://jboss.com/products/seam/pageflow&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/pageflow&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://jboss.com/products/seam/pageflow&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/pageflow&lt;/a&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://jboss.com/products/seam/pageflow-2.1.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/pageflow-2.1.xsd&lt;/a&gt;&amp;quot;
&lt;br&gt;-			 &amp;nbsp; &amp;nbsp;name=&amp;quot;numberGuess&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xsi:schemaLocation=
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&lt;a href=&quot;http://jboss.com/products/seam/pageflow&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/pageflow&lt;/a&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://jboss.com/products/seam/pageflow-2.2.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jboss.com/products/seam/pageflow-2.2.xsd&lt;/a&gt;&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&amp;quot;numberGuess&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-&amp;lt;start-page name=&amp;quot;displayGuess&amp;quot; view-id=&amp;quot;/numberGuess.jspx&amp;quot;&amp;gt;
&lt;br&gt;-	&amp;lt;redirect/&amp;gt;
&lt;br&gt;-		 &amp;lt;transition name=&amp;quot;guess&amp;quot; to=&amp;quot;evaluateGuess&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;action expression=&amp;quot;#{numberGuess.guess}&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/transition&amp;gt;
&lt;br&gt;-			 &amp;lt;transition name=&amp;quot;giveup&amp;quot; to=&amp;quot;giveup&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/start-page&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;start-page name=&amp;quot;displayGuess&amp;quot; view-id=&amp;quot;/numberGuess.jspx&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;redirect/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;guess&amp;quot; to=&amp;quot;evaluateGuess&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;action expression=&amp;quot;#{numberGuess.guess}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/transition&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;giveup&amp;quot; to=&amp;quot;giveup&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;cheat&amp;quot; to=&amp;quot;cheat&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/start-page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-			 &amp;lt;decision name=&amp;quot;evaluateGuess&amp;quot; expression=&amp;quot;#{numberGuess.correctGuess}&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;transition name=&amp;quot;true&amp;quot; to=&amp;quot;win&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;transition name=&amp;quot;false&amp;quot; to=&amp;quot;evaluateRemainingGuesses&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/decision&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;decision name=&amp;quot;evaluateGuess&amp;quot; expression=&amp;quot;#{numberGuess.correctGuess}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;true&amp;quot; to=&amp;quot;win&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;false&amp;quot; to=&amp;quot;evaluateRemainingGuesses&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/decision&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-			 &amp;lt;decision name=&amp;quot;evaluateRemainingGuesses&amp;quot; expression=&amp;quot;#{numberGuess.lastGuess}&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;transition name=&amp;quot;true&amp;quot; to=&amp;quot;lose&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;transition name=&amp;quot;false&amp;quot; to=&amp;quot;displayGuess&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/decision&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;decision name=&amp;quot;evaluateRemainingGuesses&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&amp;quot;#{numberGuess.lastGuess}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;true&amp;quot; to=&amp;quot;lose&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;false&amp;quot; to=&amp;quot;displayGuess&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/decision&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-			 &amp;lt;page name=&amp;quot;giveup&amp;quot; view-id=&amp;quot;/giveup.jspx&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;redirect/&amp;gt;
&lt;br&gt;-		 &amp;lt;transition name=&amp;quot;yes&amp;quot; to=&amp;quot;lose&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;transition name=&amp;quot;no&amp;quot; to=&amp;quot;displayGuess&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/page&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;page name=&amp;quot;giveup&amp;quot; view-id=&amp;quot;/giveup.jspx&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;redirect/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;yes&amp;quot; to=&amp;quot;lose&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition name=&amp;quot;no&amp;quot; to=&amp;quot;displayGuess&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-			 &amp;lt;page name=&amp;quot;win&amp;quot; view-id=&amp;quot;/win.jspx&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;redirect/&amp;gt;
&lt;br&gt;-		 &amp;lt;end-conversation/&amp;gt;
&lt;br&gt;-		 &amp;lt;/page&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;process-state name=&amp;quot;cheat&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;sub-process name=&amp;quot;cheat&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;transition to=&amp;quot;displayGuess&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/process-state&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-			 &amp;lt;page name=&amp;quot;lose&amp;quot; view-id=&amp;quot;/lose.jspx&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;redirect/&amp;gt;
&lt;br&gt;-		 &amp;lt;end-conversation/&amp;gt;
&lt;br&gt;-		 &amp;lt;/page&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;page name=&amp;quot;win&amp;quot; view-id=&amp;quot;/win.jspx&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;redirect/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;end-conversation/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/page&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;-&amp;lt;/pageflow-definition&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/literal&amp;gt; element defines a wait state where the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;system displays a particular JSF view and waits for user input. The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;view-id&amp;lt;/literal&amp;gt; is the same JSF view id used in plain JSF navigation rules.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;redirect&amp;lt;/literal&amp;gt; attribute tells Seam to use post-then-redirect when
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;navigating to the page. (This results in friendly browser URLs.) &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;&amp;lt;transition&amp;gt;&amp;lt;/literal&amp;gt; element names a JSF outcome. The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transition is triggered when a JSF action results in that outcome. Execution will then
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;proceed to the next node of the pageflow graph, after invocation of any jBPM transition
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;actions. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; A transition &amp;lt;literal&amp;gt;&amp;lt;action&amp;gt;&amp;lt;/literal&amp;gt; is just like a JSF action,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;except that it occurs when a jBPM transition occurs. The transition action can invoke
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;any Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; A &amp;lt;literal&amp;gt;&amp;lt;decision&amp;gt;&amp;lt;/literal&amp;gt; node branches the pageflow, and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;determines the next node to execute by evaluating a JSF EL expression. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;page name=&amp;quot;lose&amp;quot; view-id=&amp;quot;/lose.jspx&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;redirect/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;end-conversation/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/page&amp;gt;
&lt;br&gt;+ &amp;nbsp; 
&lt;br&gt;+&amp;lt;/pageflow-definition&amp;gt;]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;nbsp;&amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;pageflow.jpdl.xml Explanatory Notes.&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;page&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; element defines a wait state, during which the system displays a particular JSF view and waits for user input. The &amp;lt;literal&amp;gt;view-id&amp;lt;/literal&amp;gt; is the same JSF view ID used in plain JSF navigation rules. The &amp;lt;literal&amp;gt;redirect&amp;lt;/literal&amp;gt; attribute tells Seam to use post-then-redirect when navigating to the page. (This results in browser-friendly URLs.)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;transition&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; element names a JSF outcome. The transition itself is triggered when a JSF action results in the named outcome. After any jBPM transition actions are invoked, execution will proceed to the next node of the pageflow graph.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A transition &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;action&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; is just like a JSF action, except that it is triggered when a jBPM transition occurs. The transition action can invoke any Seam component.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;decision&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; node branches the pageflow, and determines the next node to be executed by evaluating a JSF EL expression.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Here is what the pageflow looks like in the JBoss Developer Studio pageflow editor: &amp;lt;/para&amp;gt;
&lt;br&gt;@@ -1608,124 +1651,115 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; As is &amp;lt;literal&amp;gt;lose.jspx&amp;lt;/literal&amp;gt; (which I can't be bothered copy/pasting). Finally, the JavaBean
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam component: &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlistingco&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;areaspec&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;area id=&amp;quot;numberguess-create&amp;quot; coords=&amp;quot;13&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/areaspec&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Name(&amp;quot;numberGuess&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;NumberGuess.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Name(&amp;quot;numberGuess&amp;quot;)
&lt;br&gt;&amp;nbsp;@Scope(ScopeType.CONVERSATION)
&lt;br&gt;&amp;nbsp;public class NumberGuess implements Serializable {
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; private int randomNumber;
&lt;br&gt;- &amp;nbsp; private Integer currentGuess;
&lt;br&gt;- &amp;nbsp; private int biggest;
&lt;br&gt;- &amp;nbsp; private int smallest;
&lt;br&gt;- &amp;nbsp; private int guessCount;
&lt;br&gt;- &amp;nbsp; private int maxGuesses;
&lt;br&gt;- &amp;nbsp; private boolean cheated;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Create
&lt;br&gt;- &amp;nbsp; public void begin()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;randomNumber = new Random().nextInt(100);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;guessCount = 0;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;biggest = 100;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;smallest = 1;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void setCurrentGuess(Integer guess)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.currentGuess = guess;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public Integer getCurrentGuess()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return currentGuess;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void guess()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (currentGuess&amp;gt;randomNumber)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; biggest = currentGuess - 1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (currentGuess&amp;lt;randomNumber)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; smallest = currentGuess + 1;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;guessCount ++;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public boolean isCorrectGuess()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return currentGuess==randomNumber;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public int getBiggest()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return biggest;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public int getSmallest()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return smallest;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public int getGuessCount()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return guessCount;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public boolean isLastGuess()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return guessCount==maxGuesses;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;private int randomNumber;
&lt;br&gt;+ &amp;nbsp;private Integer currentGuess;
&lt;br&gt;+ &amp;nbsp;private int biggest;
&lt;br&gt;+ &amp;nbsp;private int smallest;
&lt;br&gt;+ &amp;nbsp;private int guessCount;
&lt;br&gt;+ &amp;nbsp;private int maxGuesses;
&lt;br&gt;+ &amp;nbsp;private boolean cheated;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Create
&lt;br&gt;+ &amp;nbsp;public void begin() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;randomNumber = new Random().nextInt(100);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;guessCount = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;biggest = 100;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;smallest = 1;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void setCurrentGuess(Integer guess) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.currentGuess = guess;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public Integer getCurrentGuess() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return currentGuess;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void guess() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (currentGuess&amp;gt;randomNumber) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;biggest = currentGuess - 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (currentGuess&amp;lt;randomNumber) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;smallest = currentGuess + 1;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;guessCount ++;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public boolean isCorrectGuess() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return currentGuess==randomNumber;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public int getBiggest() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return biggest;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public int getSmallest() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return smallest;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public int getGuessCount() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return guessCount;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public boolean isLastGuess() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return guessCount==maxGuesses;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public int getRemainingGuesses() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return maxGuesses-guessCount;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public int getRemainingGuesses() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return maxGuesses-guessCount;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void setMaxGuesses(int maxGuesses) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.maxGuesses = maxGuesses;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public void setMaxGuesses(int maxGuesses) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.maxGuesses = maxGuesses;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public int getMaxGuesses() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return maxGuesses;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public int getMaxGuesses() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return maxGuesses;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public int getRandomNumber() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return randomNumber;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public int getRandomNumber() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return randomNumber;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void cheated()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;cheated = true;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public boolean isCheat() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return cheated;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public List&amp;lt;Integer&amp;gt; getPossibilities()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;List&amp;lt;Integer&amp;gt; result = new ArrayList&amp;lt;Integer&amp;gt;();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;for(int i=smallest; i&amp;lt;=biggest; i++) result.add(i);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return result;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;-}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;calloutlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;callout arearefs=&amp;quot;numberguess-create&amp;quot;&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The first time a JSP page asks for a &amp;lt;literal&amp;gt;numberGuess&amp;lt;/literal&amp;gt; component, Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;will create a new one for it, and the &amp;lt;literal&amp;gt;@Create&amp;lt;/literal&amp;gt; method will be invoked,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allowing the component to initialize itself. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/callout&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/calloutlist&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/programlistingco&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+ &amp;nbsp;public void cheated() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;cheated = true;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public boolean isCheat() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return cheated;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public List&amp;lt;Integer&amp;gt; getPossibilities() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List&amp;lt;Integer&amp;gt; result = new ArrayList&amp;lt;Integer&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;for(int i=smallest; i&amp;lt;=biggest; i++) result.add(i);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return result;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;NumberGuess.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The first time a JSP page asks for a &amp;lt;literal&amp;gt;numberGuess&amp;lt;/literal&amp;gt; component, Seam creates a new component, and the &amp;lt;literal&amp;gt;@Create&amp;lt;/literal&amp;gt; method will be invoked, allowing the component to initialize itself.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/programlistingco&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;@@ -1758,10 +1792,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;How it works&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1937,208 +1971,216 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The search functionality is implemented using a session-scope stateful session bean, similar to the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;one we saw in the message list example above. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Stateful
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;HotelSearchingAction.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+&amp;lt;!--&amp;lt;programlisting language=&amp;quot;java&amp;quot;&amp;gt;&amp;lt;xi:include href=&amp;quot;extras/booking.java&amp;quot; parse=&amp;quot;text&amp;quot; xmlns:xi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XInclude&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XInclude&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;/xi:include&amp;gt;&amp;lt;/programlisting&amp;gt; 
&lt;br&gt;+ &amp;nbsp;&amp;lt;/example&amp;gt; --&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Stateful
&lt;br&gt;&amp;nbsp;@Name(&amp;quot;hotelSearch&amp;quot;)
&lt;br&gt;&amp;nbsp;@Scope(ScopeType.SESSION)
&lt;br&gt;&amp;nbsp;@Restrict(&amp;quot;#{identity.loggedIn}&amp;quot;)
&lt;br&gt;-public class HotelSearchingAction implements HotelSearching
&lt;br&gt;-{
&lt;br&gt;+public class HotelSearchingAction implements HotelSearching {
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @PersistenceContext
&lt;br&gt;- &amp;nbsp; private EntityManager em;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; private String searchString;
&lt;br&gt;- &amp;nbsp; private int pageSize = 10;
&lt;br&gt;- &amp;nbsp; private int page;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @DataModel
&lt;br&gt;- &amp;nbsp; private List&amp;lt;Hotel&amp;gt; hotels;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void find()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;page = 0;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;queryHotels();
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; public void nextPage()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;page++;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;queryHotels();
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; private void queryHotels()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;hotels = 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;em.createQuery(&amp;quot;select h from Hotel h where lower(h.name) like #{pattern} &amp;quot; + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;or lower(h.city) like #{pattern} &amp;quot; + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;or lower(h.zip) like #{pattern} &amp;quot; +
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;or lower(h.address) like #{pattern}&amp;quot;)
&lt;br&gt;+ &amp;nbsp;@PersistenceContext
&lt;br&gt;+ &amp;nbsp;private EntityManager em;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;private String searchString;
&lt;br&gt;+ &amp;nbsp;private int pageSize = 10;
&lt;br&gt;+ &amp;nbsp;private int page;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@DataModel
&lt;br&gt;+ &amp;nbsp;private List&amp;lt;Hotel&amp;gt; hotels;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void find() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;page = 0;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;queryHotels();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;public void nextPage() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;page++;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;queryHotels();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;private void queryHotels() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;hotels = em.createQuery(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;select h from Hotel h where lower(h.name) like #{pattern}&amp;quot; + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;or lower(h.city) like #{pattern} &amp;quot; + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;or lower(h.zip) like #{pattern} &amp;quot; +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;or lower(h.address) like #{pattern}&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.setMaxResults(pageSize)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.setFirstResult( page * pageSize )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.getResultList();
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public boolean isNextPageAvailable()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return hotels!=null &amp;amp;&amp;amp; hotels.size()==pageSize;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public int getPageSize() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return pageSize;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void setPageSize(int pageSize) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.pageSize = pageSize;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Factory(value=&amp;quot;pattern&amp;quot;, scope=ScopeType.EVENT)
&lt;br&gt;- &amp;nbsp; public String getSearchPattern()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return searchString==null ? 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;%&amp;quot; : '%' + searchString.toLowerCase().replace('*', '%') + '%';
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public String getSearchString()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return searchString;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void setSearchString(String searchString)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.searchString = searchString;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Remove
&lt;br&gt;- &amp;nbsp; public void destroy() {}
&lt;br&gt;-} &amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@Stateful&amp;lt;/literal&amp;gt; annotation identifies this class as a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stateful session bean. Stateful session beans are scoped to the conversation context by
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; annotation applies a security restriction to the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component. It restricts access to the component allowing only logged-in users. The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;security chapter explains more about security in Seam. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@DataModel&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation exposes a &amp;lt;literal&amp;gt;List&amp;lt;/literal&amp;gt; as a JSF
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ListDataModel&amp;lt;/literal&amp;gt;. This makes it easy to implement clickable lists for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;search screens. In this case, the list of hotels is exposed to the page as a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;ListDataModel&amp;lt;/literal&amp;gt; in the conversation variable named
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;hotels&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt; annotation specifies that a stateful
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session bean should be removed and its state destroyed after invocation of the annotated
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method. In Seam, all stateful session beans must define a method with no parameters marked
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt;. This method will be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;called when Seam destroys the session context.&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public boolean isNextPageAvailable() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return hotels!=null &amp;amp;&amp;amp; hotels.size()==pageSize;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public int getPageSize() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return pageSize;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void setPageSize(int pageSize) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.pageSize = pageSize;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Factory(value=&amp;quot;pattern&amp;quot;, scope=ScopeType.EVENT)
&lt;br&gt;+ &amp;nbsp;public String getSearchPattern() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return searchString==null ? 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;%&amp;quot; : '%' + searchString.toLowerCase().replace('*', '%') + '%';
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public String getSearchString() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return searchString;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void setSearchString(String searchString) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.searchString = searchString;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Remove
&lt;br&gt;+ &amp;nbsp;public void destroy() {}
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;NumberGuess.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB standard &amp;lt;literal&amp;gt;@Stateful&amp;lt;/literal&amp;gt; annotation identifies this class as a stateful session bean. Stateful session beans are scoped to the conversation context by default.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; annotation applies a security restriction to the component. It restricts access to the component, allowing only logged-in users. The &amp;lt;!-- #retag: xref plz --&amp;gt;security chapter explains more about security in Seam.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;datamodel-annotation&amp;quot; /&amp;gt; annotation exposes a &amp;lt;literal&amp;gt;List&amp;lt;/literal&amp;gt; as a JSF &amp;lt;literal&amp;gt;ListDataModel&amp;lt;/literal&amp;gt;. This makes it easy to implement clickable lists for search screens. In this case, the list of hotels is exposed to the page as a &amp;lt;literal&amp;gt;ListDataModel&amp;lt;/literal&amp;gt; in the conversation variable named &amp;lt;literal&amp;gt;hotels&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB standard &amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt; annotation specifies that a stateful session bean should be removed and its state destroyed after invocation of the annotated method. In Seam, all stateful session beans must define a method &amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt;, with no marked parameters. This method will be called when Seam destroys the session context.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/programlistingco&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt; &amp;nbsp;--&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The main page of the application is a Facelets page. Let's look at the fragment which relates to
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;searching for hotels: &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-&amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;main.xhtml Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[&amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;-&amp;lt;span class=&amp;quot;errors&amp;quot;&amp;gt;
&lt;br&gt;-	&amp;lt;h:messages globalOnly=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;-&amp;lt;/span&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;span class=&amp;quot;errors&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;h:messages globalOnly=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/span&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;-&amp;lt;h1&amp;gt;Search Hotels&amp;lt;/h1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;h1&amp;gt;Search Hotels&amp;lt;/h1&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;h:form id=&amp;quot;searchCriteria&amp;quot;&amp;gt;
&lt;br&gt;-&amp;lt;fieldset&amp;gt; 
&lt;br&gt;-	&amp;lt;h:inputText id=&amp;quot;searchString&amp;quot; value=&amp;quot;#{hotelSearch.searchString}&amp;quot; 
&lt;br&gt;-			 style=&amp;quot;width: 165px;&amp;quot;&amp;gt;
&lt;br&gt;-		&amp;lt;a:support event=&amp;quot;onkeyup&amp;quot; actionListener=&amp;quot;#{hotelSearch.find}&amp;quot; 
&lt;br&gt;-			 reRender=&amp;quot;searchResults&amp;quot; /&amp;gt;
&lt;br&gt;-	&amp;lt;/h:inputText&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#160;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a:commandButton id=&amp;quot;findHotels&amp;quot; value=&amp;quot;Find Hotels&amp;quot; action=&amp;quot;#{hotelSearch.find}&amp;quot; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; reRender=&amp;quot;searchResults&amp;quot;/&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;#160;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;a:status&amp;gt;
&lt;br&gt;-		&amp;lt;f:facet name=&amp;quot;start&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;h:graphicImage value=&amp;quot;/img/spinner.gif&amp;quot;/&amp;gt;
&lt;br&gt;-		&amp;lt;/f:facet&amp;gt;
&lt;br&gt;-	&amp;lt;/a:status&amp;gt;
&lt;br&gt;-			 &amp;lt;br/&amp;gt;
&lt;br&gt;-		 &amp;lt;h:outputLabel for=&amp;quot;pageSize&amp;quot;&amp;gt;Maximum results:&amp;lt;/h:outputLabel&amp;gt;&amp;#160;
&lt;br&gt;-				 &amp;lt;h:selectOneMenu value=&amp;quot;#{hotelSearch.pageSize}&amp;quot; id=&amp;quot;pageSize&amp;quot;&amp;gt;
&lt;br&gt;-		 &amp;lt;f:selectItem itemLabel=&amp;quot;5&amp;quot; itemValue=&amp;quot;5&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;f:selectItem itemLabel=&amp;quot;10&amp;quot; itemValue=&amp;quot;10&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;f:selectItem itemLabel=&amp;quot;20&amp;quot; itemValue=&amp;quot;20&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;/h:selectOneMenu&amp;gt;
&lt;br&gt;-			 &amp;lt;/fieldset&amp;gt;
&lt;br&gt;-			 &amp;lt;/h:form&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;h:form id=&amp;quot;searchCriteria&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;fieldset&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:inputText id=&amp;quot;searchString&amp;quot; value=&amp;quot;#{hotelSearch.searchString}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; style=&amp;quot;width: 165px;&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a:support event=&amp;quot;onkeyup&amp;quot; actionListener=&amp;quot;#{hotelSearch.find}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reRender=&amp;quot;searchResults&amp;quot; /&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:inputText&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#160;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a:commandButton id=&amp;quot;findHotels&amp;quot; value=&amp;quot;Find Hotels&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; action=&amp;quot;#{hotelSearch.find}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reRender=&amp;quot;searchResults&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#160;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;a:status&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;start&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:graphicImage value=&amp;quot;/img/spinner.gif&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/a:status&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;br/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:outputLabel for=&amp;quot;pageSize&amp;quot;&amp;gt;Maximum results:&amp;lt;/h:outputLabel&amp;gt;&amp;#160;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:selectOneMenu value=&amp;quot;#{hotelSearch.pageSize}&amp;quot; id=&amp;quot;pageSize&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:selectItem itemLabel=&amp;quot;5&amp;quot; itemValue=&amp;quot;5&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:selectItem itemLabel=&amp;quot;10&amp;quot; itemValue=&amp;quot;10&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:selectItem itemLabel=&amp;quot;20&amp;quot; itemValue=&amp;quot;20&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:selectOneMenu&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/fieldset&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/h:form&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;-			 &amp;lt;/div&amp;gt;
&lt;br&gt;+&amp;lt;/div&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-			 &amp;lt;a:outputPanel id=&amp;quot;searchResults&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;
&lt;br&gt;-			 &amp;lt;h:outputText value=&amp;quot;No Hotels Found&amp;quot;
&lt;br&gt;-			 rendered=&amp;quot;#{hotels != null and hotels.rowCount==0}&amp;quot;/&amp;gt;
&lt;br&gt;-		 &amp;lt;h:dataTable id=&amp;quot;hotels&amp;quot; value=&amp;quot;#{hotels}&amp;quot; var=&amp;quot;hot&amp;quot; 
&lt;br&gt;-		 rendered=&amp;quot;#{hotels.rowCount&amp;gt;0}&amp;quot;&amp;gt;
&lt;br&gt;-				 &amp;lt;h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Name&amp;lt;/f:facet&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.name}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Address&amp;lt;/f:facet&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.address}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;City, State&amp;lt;/f:facet&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.city}, #{hot.state}, #{hot.country}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Zip&amp;lt;/f:facet&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.zip}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;-			 &amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Action&amp;lt;/f:facet&amp;gt;
&lt;br&gt;-				 &amp;lt;s:link id=&amp;quot;viewHotel&amp;quot; value=&amp;quot;View Hotel&amp;quot; 
&lt;br&gt;-				 action=&amp;quot;#{hotelBooking.selectHotel(hot)}&amp;quot;/&amp;gt;
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;-	&amp;lt;/h:dataTable&amp;gt;
&lt;br&gt;-	&amp;lt;s:link value=&amp;quot;More results&amp;quot; action=&amp;quot;#{hotelSearch.nextPage}&amp;quot; 
&lt;br&gt;-			 rendered=&amp;quot;#{hotelSearch.nextPageAvailable}&amp;quot;/&amp;gt;
&lt;br&gt;-	&amp;lt;/div&amp;gt;
&lt;br&gt;-&amp;lt;/a:outputPanel&amp;gt;
&lt;br&gt;+&amp;lt;a:outputPanel id=&amp;quot;searchResults&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;h:outputText value=&amp;quot;No Hotels Found&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{hotels != null and hotels.rowCount==0}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;h:dataTable id=&amp;quot;hotels&amp;quot; value=&amp;quot;#{hotels}&amp;quot; var=&amp;quot;hot&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rendered=&amp;quot;#{hotels.rowCount&amp;gt;0}&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Name&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.name}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Address&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.address}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;City, State&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.city}, #{hot.state}, #{hot.country}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Zip&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#{hot.zip}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Action&amp;lt;/f:facet&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;s:link id=&amp;quot;viewHotel&amp;quot; value=&amp;quot;View Hotel&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;action=&amp;quot;#{hotelBooking.selectHotel(hot)}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/h:dataTable&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;s:link value=&amp;quot;More results&amp;quot; action=&amp;quot;#{hotelSearch.nextPage}&amp;quot; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{hotelSearch.nextPageAvailable}&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/div&amp;gt;
&lt;br&gt;+&amp;lt;/a:outputPanel&amp;gt;]]&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;a:support&amp;gt;&amp;lt;/literal&amp;gt; tag allows a JSF action
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event listener to be called by asynchronous &amp;lt;literal&amp;gt;XMLHttpRequest&amp;lt;/literal&amp;gt; when a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JavaScript event like &amp;lt;literal&amp;gt;onkeyup&amp;lt;/literal&amp;gt; occurs. Even better, the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;reRender&amp;lt;/literal&amp;gt; attribute lets us render a fragment of the JSF page and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;perform a partial page update when the asynchronous response is received. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;a:status&amp;gt;&amp;lt;/literal&amp;gt; tag lets us display a cheesy
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annimated image while we wait for asynchronous requests to return. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;a:outputPanel&amp;gt;&amp;lt;/literal&amp;gt; tag defines a region of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the page which can be re-rendered by an asynchronous request. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Seam &amp;lt;literal&amp;gt;&amp;lt;s:link&amp;gt;&amp;lt;/literal&amp;gt; tag lets us attach a JSF action
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;listener to an ordinary (non-JavaScript) HTML link. The advantage of this over the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;standard JSF &amp;lt;literal&amp;gt;&amp;lt;h:commandLink&amp;gt;&amp;lt;/literal&amp;gt; is that it preserves the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;operation of &amp;quot;open in new window&amp;quot; and &amp;quot;open in new tab&amp;quot;. Also notice that we use a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;method binding with a parameter: &amp;lt;literal&amp;gt;#{hotelBooking.selectHotel(hot)}&amp;lt;/literal&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This is not possible in the standard Unified EL, but Seam provides an extension to the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EL that lets you use parameters on any method binding expression. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; If you're wondering how navigation occurs,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;you can find all the rules in &amp;lt;literal&amp;gt;WEB-INF/pages.xml&amp;lt;/literal&amp;gt;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this is discussed in the navigation section of this book. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;main.xhtml Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;a:support&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; tag allows a JSF action event listener to be called by asynchronous &amp;lt;literal&amp;gt;XMLHttpRequest&amp;lt;/literal&amp;gt; when a JavaScript event such as &amp;lt;literal&amp;gt;onkeyup&amp;lt;/literal&amp;gt; occurs. Even better, the &amp;lt;literal&amp;gt;reRender&amp;lt;/literal&amp;gt; attribute lets us render a fragment of the JSF page and perform a partial page update when the asynchronous response is received.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;a:status&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; tag lets us display an animated image while we wait for asynchronous requests to return.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The RichFaces Ajax &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;a:outputPanel&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; tag defines a region of the page which can be re-rendered by an asynchronous request.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Seam &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;s:link&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; tag lets us attach a JSF action listener to an ordinary (non-JavaScript) HTML link. The advantage of this over the standard JSF &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;h:commandLink&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; is that it preserves the &amp;quot;open in new window&amp;quot; and &amp;quot;open in new tab&amp;quot; operations. Also note that we use a method binding with a parameter: &amp;lt;literal&amp;gt;#{hotelBooking.selectHotel(hot)}&amp;lt;/literal&amp;gt;. This is not possible in standard Unified EL, but Seam provides an extension to an EL that allows parameters on any method binding expression.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Navigation rules can be found in &amp;lt;literal&amp;gt;WEB-INF/pages.xml&amp;lt;/literal&amp;gt;. These are discussed further in &amp;lt;xref linkend=&amp;quot;events.pageaction.navigation&amp;quot; /&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/programlistingco&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This page displays the search results dynamically as we type, and lets us choose a hotel and pass it
&lt;br&gt;@@ -2150,126 +2192,125 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;achieve a natural cache of persistent data related to the conversation. The following code example is
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pretty long. But if you think of it as a list of scripted actions that implement the various steps of
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the conversation, it's understandable. Read the class from top to bottom, as if it were a story. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Stateful
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;HotelBookingAction.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Stateful
&lt;br&gt;&amp;nbsp;@Name(&amp;quot;hotelBooking&amp;quot;)
&lt;br&gt;&amp;nbsp;@Restrict(&amp;quot;#{identity.loggedIn}&amp;quot;)
&lt;br&gt;-public class HotelBookingAction implements HotelBooking
&lt;br&gt;-{
&lt;br&gt;+public class HotelBookingAction implements HotelBooking {
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @PersistenceContext(type=EXTENDED)
&lt;br&gt;- &amp;nbsp; private EntityManager em;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @In 
&lt;br&gt;- &amp;nbsp; private User user;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @In(required=false) @Out
&lt;br&gt;- &amp;nbsp; private Hotel hotel;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @In(required=false) 
&lt;br&gt;- &amp;nbsp; @Out(required=false)
&lt;br&gt;- &amp;nbsp; private Booking booking;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @In
&lt;br&gt;- &amp;nbsp; private FacesMessages facesMessages;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; @In
&lt;br&gt;- &amp;nbsp; private Events events;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Logger 
&lt;br&gt;- &amp;nbsp; private Log log;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; private boolean bookingValid;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Begin
&lt;br&gt;- &amp;nbsp; public void selectHotel(Hotel selectedHotel)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;hotel = em.merge(selectedHotel);
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void bookHotel()
&lt;br&gt;- &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;booking = new Booking(hotel, user);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;Calendar calendar = Calendar.getInstance();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;booking.setCheckinDate( calendar.getTime() );
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;calendar.add(Calendar.DAY_OF_MONTH, 1);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;booking.setCheckoutDate( calendar.getTime() );
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void setBookingDetails()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;Calendar calendar = Calendar.getInstance();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;calendar.add(Calendar.DAY_OF_MONTH, -1);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( booking.getCheckinDate().before( calendar.getTime() ) )
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; facesMessages.addToControl(&amp;quot;checkinDate&amp;quot;, &amp;quot;Check in date must be a future date&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bookingValid=false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;else if ( !booking.getCheckinDate().before( booking.getCheckoutDate() ) )
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; facesMessages.addToControl(&amp;quot;checkoutDate&amp;quot;, 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Check out date must be later than check in date&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bookingValid=false;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bookingValid=true;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public boolean isBookingValid()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return bookingValid;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @End
&lt;br&gt;- &amp;nbsp; public void confirm()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;em.persist(booking);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;facesMessages.add(&amp;quot;Thank you, #{user.name}, your confimation number &amp;quot; + 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot; for #{hotel.name} is #{booki g.id}&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;New booking: #{booking.id} for #{user.username}&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;events.raiseTransactionSuccessEvent(&amp;quot;bookingConfirmed&amp;quot;);
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @End
&lt;br&gt;- &amp;nbsp; public void cancel() {}
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Remove
&lt;br&gt;- &amp;nbsp; public void destroy() {}
&lt;br&gt;+ &amp;nbsp;@PersistenceContext(type=EXTENDED)
&lt;br&gt;+ &amp;nbsp;private EntityManager em;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@In 
&lt;br&gt;+ &amp;nbsp;private User user;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@In(required=false) @Out
&lt;br&gt;+ &amp;nbsp;private Hotel hotel;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@In(required=false) 
&lt;br&gt;+ &amp;nbsp;@Out(required=false)
&lt;br&gt;+ &amp;nbsp;private Booking booking;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@In
&lt;br&gt;+ &amp;nbsp;private FacesMessages facesMessages;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@In
&lt;br&gt;+ &amp;nbsp;private Events events;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Logger 
&lt;br&gt;+ &amp;nbsp;private Log log;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;private boolean bookingValid;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Begin
&lt;br&gt;+ &amp;nbsp;public void selectHotel(Hotel selectedHotel) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;hotel = em.merge(selectedHotel);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void bookHotel() { &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;booking = new Booking(hotel, user);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Calendar calendar = Calendar.getInstance();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;booking.setCheckinDate( calendar.getTime() );
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;calendar.add(Calendar.DAY_OF_MONTH, 1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;booking.setCheckoutDate( calendar.getTime() );
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void setBookingDetails() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;Calendar calendar = Calendar.getInstance();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;calendar.add(Calendar.DAY_OF_MONTH, -1);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if ( booking.getCheckinDate().before( calendar.getTime() ) ) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;facesMessages.addToControl(&amp;quot;checkinDate&amp;quot;, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;Check in date must be a future date&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;bookingValid=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;else if (!booking.getCheckinDate().before(booking.getCheckoutDate())) 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;facesMessages.addToControl(&amp;quot;checkoutDate&amp;quot;, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Check out date must be later than check in date&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;bookingValid=false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;else
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;{
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;bookingValid=true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public boolean isBookingValid() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return bookingValid;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@End
&lt;br&gt;+ &amp;nbsp;public void confirm() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;em.persist(booking);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;facesMessages.add(&amp;quot;Thank you, #{user.name}, &amp;quot; + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;your confimation number &amp;quot; + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;for #{hotel.name} is #{booki g.id}&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;log.info(&amp;quot;New booking: #{booking.id} for #{user.username}&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;events.raiseTransactionSuccessEvent(&amp;quot;bookingConfirmed&amp;quot;);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@End
&lt;br&gt;+ &amp;nbsp;public void cancel() {}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Remove
&lt;br&gt;+ &amp;nbsp;public void destroy() {}]]&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This bean uses an EJB3 &amp;lt;emphasis&amp;gt;extended persistence context&amp;lt;/emphasis&amp;gt;, so that any
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entity instances remain managed for the whole lifecycle of the stateful session bean.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Out&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation declares that an attribute value is &amp;lt;emphasis&amp;gt;outjected&amp;lt;/emphasis&amp;gt; to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a context variable after method invocations. In this case, the context variable named
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;hotel&amp;lt;/literal&amp;gt; will be set to the value of the &amp;lt;literal&amp;gt;hotel&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instance variable after every action listener invocation completes. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Begin&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annotation specifies that the annotated method begins a &amp;lt;emphasis&amp;gt;long-running
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation&amp;lt;/emphasis&amp;gt;, so the current conversation context will not be destroyed
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at the end of the request. Instead, it will be reassociated with every request from the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current window, and destroyed either by timeout due to conversation inactivity or
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;invocation of a matching &amp;lt;literal&amp;gt;@End&amp;lt;/literal&amp;gt; method. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@End&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation specifies that the annotated method ends the current long-running
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;conversation, so the current conversation context will be destroyed at the end of the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This EJB remove method will be called when Seam destroys the conversation context.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Don't forget to define this method! &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;HotelBookingAction.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This bean uses an EJB3 &amp;lt;emphasis&amp;gt;extended persistence context&amp;lt;/emphasis&amp;gt;, so that entity instances remain managed for the whole lifecycle of the stateful session bean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;out-annotation&amp;quot; /&amp;gt; annotation declares that an attribute value is &amp;quot;outjected&amp;quot; to a context variable after method invocations. In this case, the context variable named &amp;lt;literal&amp;gt;hotel&amp;lt;/literal&amp;gt; will be set to the value of the &amp;lt;literal&amp;gt;hotel&amp;lt;/literal&amp;gt; instance variable after every action listener invocation.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@Begin&amp;lt;/literal&amp;gt; annotation specifies that the annotated method begins a &amp;lt;emphasis&amp;gt;long-running conversation&amp;lt;/emphasis&amp;gt;, so the current conversation context will not be destroyed at the end of the request. Instead, it will be reassociated with every request from the current window, and destroyed either by timeout due to conversation inactivity or invocation of a matching &amp;lt;literal&amp;gt;@End&amp;lt;/literal&amp;gt; method.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;end-annotation&amp;quot; /&amp;gt; annotation specifies that the annotated method ends the current long-running conversation, so the current conversation context will be destroyed at the end of the request.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This EJB remove method must be defined, and will be called when Seam destroys the conversation context.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/programlistingco&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -2377,8 +2418,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/mediaobject&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/screenshot&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Look in the &amp;lt;literal&amp;gt;dvdstore&amp;lt;/literal&amp;gt; directory.&amp;lt;/para&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Look in the &amp;lt;literal&amp;gt;dvdstore&amp;lt;/literal&amp;gt; directory.&amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;hibernate&amp;quot;&amp;gt;
&lt;br&gt;@@ -2387,8 +2428,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Hibernate Booking demo is a straight port of the Booking demo to an alternative architecture that
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;uses Hibernate for persistence and JavaBeans instead of session beans. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Look in the &amp;lt;literal&amp;gt;hibernate&amp;lt;/literal&amp;gt; directory.&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--&amp;lt;para&amp;gt;TODO&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;Look in the &amp;lt;literal&amp;gt;hibernate&amp;lt;/literal&amp;gt; directory.&amp;lt;/para&amp;gt;--&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section id=&amp;quot;blog&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Webservices.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -7,7 +7,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;services to run within a Seam environment.
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuration and Packaging&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;To allow Seam to intercept web service requests so that the necessary Seam contexts can be created for the request, 
&lt;br&gt;@@ -40,9 +40,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/endpoint-config&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/jaxws-config&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Conversational Web Services&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;So how are conversations propagated between web service requests? &amp;nbsp;Seam uses a SOAP header element present
&lt;br&gt;@@ -89,7 +89,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;As you can see, the response message contains the same &amp;lt;literal&amp;gt;conversationId&amp;lt;/literal&amp;gt; element as the request.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;A Recommended Strategy&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -112,11 +112,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;features to be used in the web service class itself. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;&amp;lt;/sect2&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;An example web service&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;@@ -196,7 +196,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and delegating the real work to a conversational Seam component.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Xml.xml	2009-11-24 02:12:51 UTC (rev 11655)
&lt;br&gt;@@ -11,7 +11,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;properties file or in &amp;lt;literal&amp;gt;web.xml&amp;lt;/literal&amp;gt;, and configuration via &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring components via property settings&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam components may be provided with configuration properties either via servlet context parameters,
&lt;br&gt;@@ -32,9 +32,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component named &amp;lt;literal&amp;gt;org.jboss.seam.core.manager&amp;lt;/literal&amp;gt; with a setter method named
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;setConversationTimeout()&amp;lt;/literal&amp;gt;.) 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configuring components via &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;@@ -241,9 +241,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(at development time). You'll see this approach used in the Seam examples. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Fine-grained configuration files&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you have a large number of components that need to be configured in XML, it makes much more sense
&lt;br&gt;@@ -282,9 +282,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Alternatively, you may put configuration for all classes in the &amp;lt;literal&amp;gt;com.helloworld&amp;lt;/literal&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;package in &amp;lt;literal&amp;gt;com/helloworld/components.xml&amp;lt;/literal&amp;gt;. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Configurable property types&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Properties of string, primitive or primitive wrapper type may be configured just as you would expect: 
&lt;br&gt;@@ -347,9 +347,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;ruleBase&amp;quot;&amp;gt;#{policyPricingRules}&amp;lt;/property&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/component&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;section&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Using XML Namespaces&amp;lt;/title&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Throughout the examples, there have been two competing ways of declaring components: with and without
&lt;br&gt;@@ -536,7 +536,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sect1&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/chapter&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26489497&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11655---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26489497p26489497.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488646</id>
	<title>Seam SVN: r11654 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T16:33:32Z</published>
	<updated>2009-11-23T16:33:32Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 19:33:31 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11654
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Cache.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;Log:
&lt;br&gt;Removed callout syntax, as it breaks in publican.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Cache.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Cache.xml	2009-11-24 00:07:11 UTC (rev 11653)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Cache.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;@@ -14,7 +14,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nodes of the cluster. What these silly people are really thinking of 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is a &amp;quot;share nothing except for the database&amp;quot; architecture. Of course, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sharing the database is the primary problem with scaling a multi-user 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application&amp;#8212;so the claim that this architecture is highly scalable 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;application &amp;#8212; so the claim that this architecture is highly scalable 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is absurd, and tells you a lot about the kind of applications that these
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;folks spend most of their time working on. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;@@ -66,7 +66,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence context associated with a conversation-scoped stateful
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session bean) acts as a cache of data that has been read in the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;current conversation. This cache tends to have a pretty high
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hitrate! Seam optimizes the replication of Seam-managed persistence 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hit rate! Seam optimizes the replication of Seam-managed persistence 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;contexts in a clustered environment, and there is no requirement for 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transactional consistency with the database (optimistic locking is 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sufficient) so you don't need to worry too much about the performance 
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 00:07:11 UTC (rev 11653)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Tutorial.xml	2009-11-24 00:33:31 UTC (rev 11654)
&lt;br&gt;@@ -99,105 +99,107 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;validation&amp;lt;/emphasis&amp;gt; declaratively, via annotations. It also needs some extra
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annotations that define the class as a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;
&lt;br&gt;-@Entity &amp;lt;co id=&amp;quot;registration-entity-annotation&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;User.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Entity
&lt;br&gt;&amp;nbsp;@Name(&amp;quot;user&amp;quot;)
&lt;br&gt;&amp;nbsp;@Scope(SESSION)
&lt;br&gt;&amp;nbsp;@Table(name=&amp;quot;users&amp;quot;)
&lt;br&gt;-public class User implements Serializable
&lt;br&gt;-{
&lt;br&gt;- &amp;nbsp; private static final long serialVersionUID = 1881413500711441951L;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; private String username;
&lt;br&gt;- &amp;nbsp; private String password;
&lt;br&gt;- &amp;nbsp; private String name;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public User(String name, String password, String username)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.password = password;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.username = username;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public User() {}
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @NotNull @Length(min=5, max=15)
&lt;br&gt;- &amp;nbsp; public String getPassword()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return password;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+public class User implements Serializable {
&lt;br&gt;+ &amp;nbsp;private static final long serialVersionUID = 1881413500711441951L;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;private String username;
&lt;br&gt;+ &amp;nbsp;private String password;
&lt;br&gt;+ &amp;nbsp;private String name;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public User(String name, String password, String username) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.password = password;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.username = username;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public User() {}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@NotNull @Length(min=5, max=15)
&lt;br&gt;+ &amp;nbsp;public String getPassword() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return password;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void setPassword(String password)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.password = password;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @NotNull
&lt;br&gt;- &amp;nbsp; public String getName()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return name;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public void setPassword(String password) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.password = password;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@NotNull
&lt;br&gt;+ &amp;nbsp;public String getName() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return name;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void setName(String name)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Id @NotNull @Length(min=5, max=15)
&lt;br&gt;- &amp;nbsp; public String getUsername()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;return username;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public void setName(String name) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.name = name;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Id @NotNull @Length(min=5, max=15)
&lt;br&gt;+ &amp;nbsp;public String getUsername() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;return username;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; public void setUsername(String username)
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;this.username = username;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp;public void setUsername(String username) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;this.username = username;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB3 standard &amp;lt;literal&amp;gt;@Entity&amp;lt;/literal&amp;gt; annotation indicates that the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class is an entity bean. &amp;lt;/para&amp;gt;
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/formalpara&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; A Seam component needs a &amp;lt;emphasis&amp;gt;component name&amp;lt;/emphasis&amp;gt; specified by the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation. This name must be unique within the Seam application. When JSF
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asks Seam to resolve a context variable with a name that is the same as a Seam
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component name, and the context variable is currently undefined (null), Seam will
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instantiate that component, and bind the new instance to the context variable. In
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this case, Seam will instantiate a &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; the first time JSF
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encounters a variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;+&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;User.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Whenever Seam instantiates a component, it binds the new instance to a context
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;variable in the component's &amp;lt;emphasis&amp;gt;default context&amp;lt;/emphasis&amp;gt;. The default
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context is specified using the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation. The &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; bean is a session scoped component.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB3 standard &amp;lt;literal&amp;gt;@Entity&amp;lt;/literal&amp;gt; annotation indicates that the &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class is an entity bean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A Seam component must have a &amp;lt;emphasis&amp;gt;component name&amp;lt;/emphasis&amp;gt; specified by the &amp;lt;xref linkend=&amp;quot;name-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt; &amp;nbsp;annotation. This name must be unique within the Seam application. When JSF asks Seam to resolve a currently undefined (null) context variable whose name matches that of a Seam component, Seam will instantiate that component, and bind the new instance to the context variable. In this case, Seam will instantiate a &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; the first time JSF encounters a variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Whenever Seam instantiates a component, it binds the new instance to a context variable in the component&amp;#39;s &amp;lt;emphasis&amp;gt;default context&amp;lt;/emphasis&amp;gt;. The default context is specified using the &amp;lt;xref linkend=&amp;quot;scope-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; &amp;nbsp;annotation. The &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; bean is a session scoped component.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB standard &amp;lt;literal&amp;gt;@Table&amp;lt;/literal&amp;gt; annotation indicates that the &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class is mapped to the &amp;lt;literal&amp;gt;users&amp;lt;/literal&amp;gt; table.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;name&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;password&amp;lt;/literal&amp;gt;, and &amp;lt;literal&amp;gt;username&amp;lt;/literal&amp;gt; are the persistent attributes of the entity bean. All of our persistent attributes define accessor methods. These are needed when this component is used by JSF in the render response and update model values phases.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;An empty constructor is required by both the EJB specification and by Seam.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@NotNull&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;@Length&amp;lt;/literal&amp;gt; annotations are part of the Hibernate Validator framework. Seam integrates Hibernate Validator and lets you use it for data validation (even if you are not using Hibernate for persistence).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB standard &amp;lt;literal&amp;gt;@Id&amp;lt;/literal&amp;gt; annotation indicates the primary key attribute of the entity bean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+&amp;lt;/formalpara&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@Table&amp;lt;/literal&amp;gt; annotation indicates that the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class is mapped to the &amp;lt;literal&amp;gt;users&amp;lt;/literal&amp;gt; table.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;name&amp;lt;/literal&amp;gt;, &amp;lt;literal&amp;gt;password&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;username&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;are the persistent attributes of the entity bean. All of our persistent attributes
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;define accessor methods. These are needed when this component is used by JSF in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;render response and update model values phases. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; An empty constructor is both required by both the EJB specification and by Seam.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;@NotNull&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;@Length&amp;lt;/literal&amp;gt; annotations are
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;part of the Hibernate Validator framework. Seam integrates Hibernate Validator and
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lets you use it for data validation (even if you are not using Hibernate for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;persistence). &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@Id&amp;lt;/literal&amp;gt; annotation indicates the primary key
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;attribute of the entity bean. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The most important things to notice in this example are the &amp;lt;literal&amp;gt;@Name&amp;lt;/literal&amp;gt; and
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; annotations. These annotations establish that this class is a Seam component. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We'll see below that the properties of our &amp;lt;literal&amp;gt;User&amp;lt;/literal&amp;gt; class are bound
&lt;br&gt;@@ -221,92 +223,136 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This is the only really interesting code in the example! &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Stateless
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;RegisterAction.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Stateless
&lt;br&gt;&amp;nbsp;@Name(&amp;quot;register&amp;quot;)
&lt;br&gt;-public class RegisterAction implements Register
&lt;br&gt;-{
&lt;br&gt;+public class RegisterAction implements Register {
&lt;br&gt;+ &amp;nbsp;@In
&lt;br&gt;+ &amp;nbsp;private User user;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@PersistenceContext
&lt;br&gt;+ &amp;nbsp;private EntityManager em;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Logger
&lt;br&gt;+ &amp;nbsp;private Log log;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public String register() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;List existing = em.createQuery(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;select username from User where username = #{user.username}&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;.getResultList();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (existing.size()==0) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;em.persist(user);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;log.info(&amp;quot;Registered new user #{user.username}&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return &amp;quot;/registered.xhtml&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;FacesMessages.instance().add(&amp;quot;User #{user.username} already exists&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; @In
&lt;br&gt;- &amp;nbsp; private User user;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @PersistenceContext
&lt;br&gt;- &amp;nbsp; private EntityManager em;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Logger
&lt;br&gt;- &amp;nbsp; private Log log;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public String register()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;List existing = em.createQuery(
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;select username from User where username=#{user.username}&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .getResultList();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;if (existing.size()==0)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; em.persist(user);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; log.info(&amp;quot;Registered new user #{user.username}&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &amp;quot;/registered.xhtml&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FacesMessages.instance().add(&amp;quot;User #{user.username} already exists&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;-
&lt;br&gt;-}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@Stateless&amp;lt;/literal&amp;gt; annotation marks this class as
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a stateless session bean. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; annotation marks an attribute of the bean as injected by Seam. In this case,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the attribute is injected from a context variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; (the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;instance variable name). &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The EJB standard &amp;lt;literal&amp;gt;@PersistenceContext&amp;lt;/literal&amp;gt; annotation is used to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;inject the EJB3 entity manager. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The Seam &amp;lt;literal&amp;gt;@Logger&amp;lt;/literal&amp;gt; annotation is used to inject the component's
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Log&amp;lt;/literal&amp;gt; instance. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The action listener method uses the standard EJB3
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; API to interact with the database, and returns the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF outcome. Note that, since this is a session bean, a transaction is automatically
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;begun when the &amp;lt;literal&amp;gt;register()&amp;lt;/literal&amp;gt; method is called, and committed when it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;completes. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Notice that Seam lets you use a JSF EL expression inside EJB-QL. Under the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;covers, this results in an ordinary JPA &amp;lt;literal&amp;gt;setParameter()&amp;lt;/literal&amp;gt; call on
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the standard JPA &amp;lt;literal&amp;gt;Query&amp;lt;/literal&amp;gt; object. Nice, huh? &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;Log&amp;lt;/literal&amp;gt; API lets us easily display templated log messages.
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- &amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;RegisterAction.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB &amp;lt;literal&amp;gt;@Stateless&amp;lt;/literal&amp;gt; annotation marks this class as a stateless session bean.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;xref linkend=&amp;quot;in-annotation&amp;quot; /&amp;gt; &amp;lt;literal&amp;gt;@In&amp;lt;/literal&amp;gt; &amp;nbsp;annotation marks an attribute of the bean as injected by Seam. In this case, the attribute is injected from a context variable named &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; (the instance variable name).
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The EJB standard &amp;lt;literal&amp;gt;@PersistenceContext&amp;lt;/literal&amp;gt; annotation is used to inject the EJB3 entity manager.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The Seam &amp;lt;literal&amp;gt;@Logger&amp;lt;/literal&amp;gt; annotation is used to inject the component&amp;#39;s &amp;lt;literal&amp;gt;Log&amp;lt;/literal&amp;gt; instance.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The action listener method uses the standard EJB3 &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt; API to interact with the database, and returns the JSF outcome. Note that, since this is a session bean, a transaction begins automatically when the &amp;lt;literal&amp;gt;register()&amp;lt;/literal&amp;gt; method is called, and is committed when it completes.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Notice that Seam lets you use a JSF EL expression inside EJB-QL. This results in an ordinary JPA &amp;lt;literal&amp;gt;setParameter()&amp;lt;/literal&amp;gt; call on the standard JPA &amp;lt;literal&amp;gt;Query&amp;lt;/literal&amp;gt; object.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;Log&amp;lt;/literal&amp;gt; API allows easily display templated log messages that can include JSF EL expressions.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;JSF action listener methods return a string-valued outcome that determines the next page displayed. A null outcome (or a void action listener method) redisplays the previous page. In plain JSF, it is normal to always use a JSF &amp;lt;emphasis&amp;gt;navigation rule&amp;lt;/emphasis&amp;gt; to determine the JSF view ID from the outcome. For complex applications, this redirection is good practice. However, for very simple examples like this one, Seam lets you use the JSF view ID as the outcome, eliminating the need for a navigation rule.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;When a view ID is used as an outcome, Seam always performs a browser redirect.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Seam provides a number of &amp;lt;emphasis&amp;gt;built-in components&amp;lt;/emphasis&amp;gt; to help solve common problems. The &amp;lt;literal&amp;gt;FacesMessages&amp;lt;/literal&amp;gt; component makes it easy to display templated error or success messages. (As of Seam 2.1, you can use &amp;lt;literal&amp;gt;StatusMessages&amp;lt;/literal&amp;gt; instead, to remove the semantic dependency on JSF.) Built-in Seam components may be obtained by injection, or by calling the &amp;lt;literal&amp;gt;instance()&amp;lt;/literal&amp;gt; method on the class of the built-in component.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Note that we did not explicitly specify a &amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; this time. Each Seam component type has a default scope, which will be used if scope is not explicitly specified. For stateless session beans, the default scope is the stateless context.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The session bean action listener performs the business and persistence logic for our mini-application. In a more complex application, a separate service layer might be necessary, but Seam allows you to implement your own strategies for application layering. You can make any application as simple, or as complex, as you want.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This application is more complex than necessary for the sake of clear example code. All of the application code could have been eliminated by using Seam&amp;#39;s application framework controllers.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/note&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;section&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;The session bean local interface: &amp;lt;literal&amp;gt;Register.java&amp;lt;/literal&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The session bean requires a local interface.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;Register.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;lt;example&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Register.java&amp;lt;/title&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@Local
&lt;br&gt;+public interface Register {
&lt;br&gt;+ &amp;nbsp;public String register();
&lt;br&gt;+}]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; JSF action listener methods return a string-valued outcome that determines what
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;page will be displayed next. A null outcome (or a void action listener method)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redisplays the previous page. In plain JSF, it is normal to always use a JSF
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;emphasis&amp;gt;navigation rule&amp;lt;/emphasis&amp;gt; to determine the JSF view id from the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;outcome. For complex application this indirection is useful and a good practice.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;However, for very simple examples like this one, Seam lets you use the JSF view id
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;as the outcome, eliminating the requirement for a navigation rule. &amp;lt;emphasis&amp;gt;Note
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;that when you use a view id as an outcome, Seam always performs a browser
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;redirect.&amp;lt;/emphasis&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Seam provides a number of &amp;lt;emphasis&amp;gt;built-in components&amp;lt;/emphasis&amp;gt; to help solve
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;common problems. The &amp;lt;literal&amp;gt;FacesMessages&amp;lt;/literal&amp;gt; component makes it easy to
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;display templated error or success messages. Built-in Seam components may be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;obtained by injection, or by calling an &amp;lt;literal&amp;gt;instance()&amp;lt;/literal&amp;gt; method.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Note that we did not explicitly specify a &amp;lt;literal&amp;gt;@Scope&amp;lt;/literal&amp;gt; this time. Each Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;component type has a default scope if not explicitly specified. For stateless session beans, the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default scope is the stateless context. Actually, &amp;lt;emphasis&amp;gt;all&amp;lt;/emphasis&amp;gt; stateless session
&lt;br&gt;@@ -775,89 +821,99 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; We want to cache the list of messages in memory between server requests, so we will make this a
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;stateful session bean. &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- Can't use code hightlighting with callouts --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;example&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting&amp;gt;
&lt;br&gt;-@Stateful
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+&amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;MessageManagerBean.java Example&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+&amp;lt;programlisting&amp;gt;&amp;lt;![CDATA[@Stateful
&lt;br&gt;&amp;nbsp;@Scope(SESSION)
&lt;br&gt;&amp;nbsp;@Name(&amp;quot;messageManager&amp;quot;)
&lt;br&gt;-public class MessageManagerBean implements Serializable, MessageManager
&lt;br&gt;-{
&lt;br&gt;+public class MessageManagerBean implements Serializable, MessageManager {
&lt;br&gt;+ &amp;nbsp;@DataModel
&lt;br&gt;+ &amp;nbsp;private List&amp;lt;Message&amp;gt; messageList;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@DataModelSelection
&lt;br&gt;+ &amp;nbsp;@Out(required=false)
&lt;br&gt;+ &amp;nbsp;private Message message;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@PersistenceContext(type=EXTENDED)
&lt;br&gt;+ &amp;nbsp;private EntityManager em;
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Factory(&amp;quot;messageList&amp;quot;)
&lt;br&gt;+ &amp;nbsp;public void findMessages() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;messageList = em.createQuery(&amp;quot;select msg from Message msg &amp;quot; + 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;order by msg.datetime desc&amp;quot;)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.getResultList();
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void select() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;message.setRead(true);
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;public void delete() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;messageList.remove(message);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;em.remove(message);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;message=null;
&lt;br&gt;+ &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp;
&lt;br&gt;+ &amp;nbsp;@Remove
&lt;br&gt;+ &amp;nbsp;public void destroy() {}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; @DataModel
&lt;br&gt;- &amp;nbsp; private List&amp;lt;Message&amp;gt; messageList;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @DataModelSelection
&lt;br&gt;- &amp;nbsp; @Out(required=false)
&lt;br&gt;- &amp;nbsp; private Message message;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @PersistenceContext(type=EXTENDED)
&lt;br&gt;- &amp;nbsp; private EntityManager em;
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Factory(&amp;quot;messageList&amp;quot;)
&lt;br&gt;- &amp;nbsp; public void findMessages()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;messageList = em.createQuery(&amp;quot;from Message msg order by msg.datetime desc&amp;quot;)
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.getResultList();
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void select()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;message.setRead(true);
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; public void delete()
&lt;br&gt;- &amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;messageList.remove(message);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;em.remove(message);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;message=null;
&lt;br&gt;- &amp;nbsp; }
&lt;br&gt;- &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; @Remove
&lt;br&gt;- &amp;nbsp; public void destroy() {}
&lt;br&gt;+}]]&amp;gt;
&lt;br&gt;+&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;lt;/example&amp;gt; --&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;formalpara&amp;gt;&amp;lt;title&amp;gt;MessageManagerBean.java Explanatory Notes&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@DataModel&amp;lt;/literal&amp;gt; annotation exposes an attibute of type &amp;lt;literal&amp;gt;java.util.List&amp;lt;/literal&amp;gt; to the JSF page as an instance of &amp;lt;literal&amp;gt;javax.faces.model.DataModel&amp;lt;/literal&amp;gt;. This allows us to use the list in a JSF &amp;lt;literal&amp;gt;&amp;lt;![CDATA[&amp;lt;h:dataTable&amp;gt;]]&amp;gt;&amp;lt;/literal&amp;gt; with clickable links for each row. In this case, the &amp;lt;literal&amp;gt;DataModel&amp;lt;/literal&amp;gt; is made available in a session context variable named &amp;lt;literal&amp;gt;messageList&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@DataModelSelection&amp;lt;/literal&amp;gt; annotation tells Seam to inject the &amp;lt;literal&amp;gt;List&amp;lt;/literal&amp;gt; element corresponding to the clicked link.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;@Out&amp;lt;/literal&amp;gt; annotation then exposes the selected value directly to the page. Every time a row of the clickable list is selected, the &amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; is injected to the attribute of the stateful bean, and subsequently &amp;quot;outjected&amp;quot; to the event context variable named &amp;lt;literal&amp;gt;message&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;This stateful bean has an EJB3 &amp;lt;emphasis&amp;gt;extended persistence context&amp;lt;/emphasis&amp;gt;. This means that messages retrieved in the query remain in the managed state for as long as the bean exists. Any subsequent method calls to the stateful bean can therefore update the messages without needing to make an explicit call to the &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt;.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The first time we navigate to the JSP page, the &amp;lt;literal&amp;gt;messageList&amp;lt;/literal&amp;gt; context variable does not hold a value. The &amp;lt;literal&amp;gt;@Factory&amp;lt;/literal&amp;gt; annotation tells Seam to create an instance of &amp;lt;literal&amp;gt;MessageManagerBean&amp;lt;/literal&amp;gt; and invoke &amp;lt;literal&amp;gt;findMessages()&amp;lt;/literal&amp;gt; — a factory method for messages — to initialize the value.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;select()&amp;lt;/literal&amp;gt; action listener method marks the selected &amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; as read, and updates it in the database.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The &amp;lt;literal&amp;gt;delete()&amp;lt;/literal&amp;gt; action listener method removes the selected &amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; from the database.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;All stateful session bean Seam components &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; have a method &amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt; defined, with no parameters marked. Seam uses this to remove the stateful bean and clean up any server-side state when the Seam context ends.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/orderedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/formalpara&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-}&amp;lt;/programlisting&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;@DataModel&amp;lt;/literal&amp;gt; annotation exposes an attibute of type
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;java.util.List&amp;lt;/literal&amp;gt; to the JSF page as an instance of
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;javax.faces.model.DataModel&amp;lt;/literal&amp;gt;. This allows us to use the list
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in a JSF &amp;lt;literal&amp;gt;&amp;lt;h:dataTable&amp;gt;&amp;lt;/literal&amp;gt; with clickable links for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;each row. In this case, the &amp;lt;literal&amp;gt;DataModel&amp;lt;/literal&amp;gt; is made available in a
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;session context variable named &amp;lt;literal&amp;gt;messageList&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;@DataModelSelection&amp;lt;/literal&amp;gt; annotation tells Seam to inject the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;List&amp;lt;/literal&amp;gt; element that corresponded to the clicked link. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;@Out&amp;lt;/literal&amp;gt; annotation then exposes the selected value directly
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to the page. So every time a row of the clickable list is selected, the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; is injected to the attribute of the stateful bean,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and the subsequently &amp;lt;emphasis&amp;gt;outjected&amp;lt;/emphasis&amp;gt; to the event context variable
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;named &amp;lt;literal&amp;gt;message&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; This stateful bean has an EJB3 &amp;lt;emphasis&amp;gt;extended persistence context&amp;lt;/emphasis&amp;gt;.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;The messages retrieved in the query remain in the managed state as long as the bean
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;exists, so any subsequent method calls to the stateful bean can update them without
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;needing to make any explicit call to the &amp;lt;literal&amp;gt;EntityManager&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The first time we navigate to the JSP page, there will be no value in the
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;messageList&amp;lt;/literal&amp;gt; context variable. The &amp;lt;literal&amp;gt;@Factory&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;annotation tells Seam to create an instance of &amp;lt;literal&amp;gt;MessageManagerBean&amp;lt;/literal&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and invoke the &amp;lt;literal&amp;gt;findMessages()&amp;lt;/literal&amp;gt; method to initialize the value. We
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call &amp;lt;literal&amp;gt;findMessages()&amp;lt;/literal&amp;gt; a &amp;lt;emphasis&amp;gt;factory method&amp;lt;/emphasis&amp;gt; for
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;messages&amp;lt;/literal&amp;gt;. &amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;select()&amp;lt;/literal&amp;gt; action listener method marks the selected
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; as read, and updates it in the database. &amp;lt;/para&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; The &amp;lt;literal&amp;gt;delete()&amp;lt;/literal&amp;gt; action listener method removes the selected
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;literal&amp;gt;Message&amp;lt;/literal&amp;gt; from the database. &amp;lt;/para&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; All stateful session bean Seam components &amp;lt;emphasis&amp;gt;must&amp;lt;/emphasis&amp;gt; have a method
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;with no parameters marked &amp;lt;literal&amp;gt;@Remove&amp;lt;/literal&amp;gt; that Seam uses to remove 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the stateful bean when the Seam context ends, and clean up any server-side state.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/example&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt; Note that this is a session-scoped Seam component. It is associated with the user login session,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and all requests from a login session share the same instance of the component. (In Seam
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;applications, we usually use session-scoped components sparingly.) &amp;lt;/para&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488646&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11654---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26488646p26488646.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488420</id>
	<title>Seam SVN: r11653 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T16:07:11Z</published>
	<updated>2009-11-23T16:07:11Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 19:07:11 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11653
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;Log:
&lt;br&gt;Corrected varlist syntax in Migration chapter.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 00:03:22 UTC (rev 11652)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 00:07:11 UTC (rev 11653)
&lt;br&gt;@@ -1359,17 +1359,25 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		&amp;lt;variablelist&amp;gt;		
&lt;br&gt;&amp;nbsp;		&amp;lt;varlistentry&amp;gt;
&lt;br&gt;-			&amp;lt;term&amp;gt;Old way:&amp;lt;/term&amp;gt;				
&lt;br&gt;-			&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/model/com/domain/projectname/model/EntityName.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-			&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/model/EntityNameHome.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-			&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/model/EntityNameList.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-		&amp;lt;/varlistentry&amp;gt;
&lt;br&gt;+			&amp;lt;term&amp;gt;Old way:&amp;lt;/term&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/model/com/domain/projectname/model/EntityName.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/model/EntityNameHome.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/model/EntityNameList.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/varlistentry&amp;gt;
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;&amp;nbsp;		&amp;lt;varlistentry&amp;gt;&amp;lt;term&amp;gt;New way:&amp;lt;/term&amp;gt;
&lt;br&gt;-			&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/model/com/domain/projectname/model/EntityName.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-		 &amp;nbsp;	&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/action/EntityNameHome.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-		 &amp;nbsp;	&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/action/EntityNameList.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;-		&amp;lt;/varlistentry&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;itemizedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/model/com/domain/projectname/model/EntityName.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/action/EntityNameHome.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;listitem&amp;gt;&amp;lt;para&amp;gt;src/action/com/domain/projectname/action/EntityNameList.java&amp;lt;/para&amp;gt;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/itemizedlist&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/listitem&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/varlistentry&amp;gt;
&lt;br&gt;&amp;nbsp;		&amp;lt;/variablelist&amp;gt;
&lt;br&gt;&amp;nbsp;		 &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -1409,4 +1417,4 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/section&amp;gt;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/section&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-&amp;lt;/chapter&amp;gt;
&lt;br&gt;+&amp;lt;/chapter&amp;gt;
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488420&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11653---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26488420p26488420.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488379</id>
	<title>Seam SVN: r11652 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-23T16:03:22Z</published>
	<updated>2009-11-23T16:03:22Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 19:03:22 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11652
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Author_Group.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Book_Info.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;Log:
&lt;br&gt;Edited to build in publican.
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Author_Group.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Author_Group.xml	2009-11-23 23:37:25 UTC (rev 11651)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Author_Group.xml	2009-11-24 00:03:22 UTC (rev 11652)
&lt;br&gt;@@ -78,4 +78,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;firstname&amp;gt;Samson&amp;lt;/firstname&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;surname&amp;gt;Kittoli&amp;lt;/surname&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/editor&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;lt;editor&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;firstname&amp;gt;Laura&amp;lt;/firstname&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;surname&amp;gt;Bailey&amp;lt;/surname&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;lt;/editor&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/authorgroup&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Book_Info.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Book_Info.xml	2009-11-23 23:37:25 UTC (rev 11651)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Book_Info.xml	2009-11-24 00:03:22 UTC (rev 11652)
&lt;br&gt;@@ -1,16 +1,16 @@
&lt;br&gt;&amp;nbsp;&amp;lt;?xml version='1.0'?&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;!DOCTYPE bookinfo PUBLIC &amp;quot;-//OASIS//DTD DocBook XML V4.3//EN&amp;quot; &amp;quot;&lt;a href=&quot;http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd&lt;/a&gt;&amp;quot; [
&lt;br&gt;&amp;nbsp;]&amp;gt;
&lt;br&gt;-&amp;lt;bookinfo id=&amp;quot;Seam_Reference_Guide-Seam___Contextual_Components&amp;quot;&amp;gt;
&lt;br&gt;-	&amp;lt;title&amp;gt;Seam Reference Guide CP03 FP01&amp;lt;/title&amp;gt;
&lt;br&gt;-	&amp;lt;subtitle&amp;gt;for Use with JBoss Enterprise Application Platform 4.3.0 Cumulative Patch 3 Feature Pack 1&amp;lt;/subtitle&amp;gt;
&lt;br&gt;+&amp;lt;bookinfo id=&amp;quot;Seam_Reference_Guide_CP07&amp;quot;&amp;gt;
&lt;br&gt;+	&amp;lt;title&amp;gt;Seam Reference Guide CP07&amp;lt;/title&amp;gt;
&lt;br&gt;+	&amp;lt;subtitle&amp;gt;for Use with JBoss Enterprise Application Platform 4.3.0 Cumulative Patch 7&amp;lt;/subtitle&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;edition&amp;gt;2.0&amp;lt;/edition&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;pubsnumber&amp;gt;2&amp;lt;/pubsnumber&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;productname&amp;gt;JBoss Enterprise Application Platform&amp;lt;/productname&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;productnumber&amp;gt;4.3&amp;lt;/productnumber&amp;gt;
&lt;br&gt;-	&amp;lt;pubdate&amp;gt;December, 2008&amp;lt;/pubdate&amp;gt;
&lt;br&gt;+	&amp;lt;pubdate&amp;gt;November, 2009&amp;lt;/pubdate&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;isbn&amp;gt;N/A&amp;lt;/isbn&amp;gt;
&lt;br&gt;-	&amp;lt;abstract&amp;gt;&amp;lt;para&amp;gt;This book is a Reference Guide to Seam 2.0.2 for JBoss Enterprise Application Platform 4.3.0_CP03_FP01&amp;lt;/para&amp;gt;
&lt;br&gt;+	&amp;lt;abstract&amp;gt;&amp;lt;para&amp;gt;This book is a Reference Guide to Seam 2.0.2 for JBoss Enterprise Application Platform 4.3.0_CP07&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;/abstract&amp;gt;
&lt;br&gt;&amp;nbsp;	&amp;lt;corpauthor&amp;gt;
&lt;br&gt;&amp;nbsp;	 &amp;nbsp;&amp;lt;inlinemediaobject&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-23 23:37:25 UTC (rev 11651)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Migration.xml	2009-11-24 00:03:22 UTC (rev 11652)
&lt;br&gt;@@ -424,8 +424,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;table&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Component's in Seam 2&amp;lt;/title&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tgroup cols=&amp;quot;2&amp;quot;&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;title&amp;gt;Component in Seam 2&amp;lt;/title&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tgroup cols=&amp;quot;6&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;1&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;2&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;colspec colnum=&amp;quot;3&amp;quot; colwidth=&amp;quot;2*&amp;quot; /&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488379&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11652---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide-en-US.-tp26488379p26488379.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488138</id>
	<title>Seam SVN: r11651 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide.</title>
	<published>2009-11-23T15:37:25Z</published>
	<updated>2009-11-23T15:37:25Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: laubai
&lt;br&gt;Date: 2009-11-23 18:37:25 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11651
&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp;tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/publican.cfg
&lt;br&gt;Log:
&lt;br&gt;Adding new publican config file.
&lt;br&gt;&lt;br&gt;Added: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/publican.cfg
&lt;br&gt;===================================================================
&lt;br&gt;--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/publican.cfg	 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(rev 0)
&lt;br&gt;+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/publican.cfg	2009-11-23 23:37:25 UTC (rev 11651)
&lt;br&gt;@@ -0,0 +1,7 @@
&lt;br&gt;+# Config::Simple 4.59
&lt;br&gt;+# Tue Nov 24 09:35:12 2009
&lt;br&gt;+
&lt;br&gt;+debug: 1
&lt;br&gt;+xml_lang: en-US
&lt;br&gt;+brand: JBoss
&lt;br&gt;+
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488138&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11651---tags-JBPAPP_4_3_CP07_FP_CR1a-doc-Seam_Reference_Guide.-tp26488138p26488138.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26480489</id>
	<title>Seam SVN: r11650 - branches/enterprise/JBPAPP_4_3_FP01/build.</title>
	<published>2009-11-23T07:45:01Z</published>
	<updated>2009-11-23T07:45:01Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: manaRH
&lt;br&gt;Date: 2009-11-23 10:45:01 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11650
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml
&lt;br&gt;Log:
&lt;br&gt;JBPAPP-3111
&lt;br&gt;&lt;br&gt;Modified: branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml	2009-11-23 13:39:58 UTC (rev 11649)
&lt;br&gt;+++ branches/enterprise/JBPAPP_4_3_FP01/build/root.pom.xml	2009-11-23 15:45:01 UTC (rev 11650)
&lt;br&gt;@@ -814,7 +814,7 @@
&lt;br&gt;&amp;nbsp;			&amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;groupId&amp;gt;jfree&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;artifactId&amp;gt;jfreechart&amp;lt;/artifactId&amp;gt;
&lt;br&gt;-				&amp;lt;version&amp;gt;1.0.9&amp;lt;/version&amp;gt;
&lt;br&gt;+				&amp;lt;version&amp;gt;1.0.13&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp;				&amp;lt;exclusions&amp;gt;
&lt;br&gt;&amp;nbsp;					&amp;lt;exclusion&amp;gt;
&lt;br&gt;&amp;nbsp;						&amp;lt;groupId&amp;gt;junit&amp;lt;/groupId&amp;gt;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26480489&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11650---branches-enterprise-JBPAPP_4_3_FP01-build.-tp26480489p26480489.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26478187</id>
	<title>Seam SVN: r11649 - in modules/trunk: beans and 3 other directories.</title>
	<published>2009-11-23T05:39:58Z</published>
	<updated>2009-11-23T05:39:58Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478187&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pete.muir@...&lt;/a&gt;
&lt;br&gt;Date: 2009-11-23 08:39:58 -0500 (Mon, 23 Nov 2009)
&lt;br&gt;New Revision: 11649
&lt;br&gt;&lt;br&gt;Removed:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/src/main/java/org/
&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/beans/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/persistence/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/pom.xml
&lt;br&gt;&amp;nbsp; &amp;nbsp;modules/trunk/version-matrix/pom.xml
&lt;br&gt;Log:
&lt;br&gt;make build work, at least for persistence module, clean up persistence module
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/beans/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/beans/pom.xml	2009-11-22 18:31:55 UTC (rev 11648)
&lt;br&gt;+++ modules/trunk/beans/pom.xml	2009-11-23 13:39:58 UTC (rev 11649)
&lt;br&gt;@@ -18,14 +18,14 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dependencies&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;jsr299-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;scope&amp;gt;provided&amp;lt;/scope&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;webbeans-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;weld-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/dependencies&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/persistence/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/persistence/pom.xml	2009-11-22 18:31:55 UTC (rev 11648)
&lt;br&gt;+++ modules/trunk/persistence/pom.xml	2009-11-23 13:39:58 UTC (rev 11649)
&lt;br&gt;@@ -32,20 +32,10 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${seam.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;seam-el&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;jsr299-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;javax.enterprise&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;cdi-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;webbeans-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/dependencies&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;&amp;lt;/project&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/pom.xml	2009-11-22 18:31:55 UTC (rev 11648)
&lt;br&gt;+++ modules/trunk/pom.xml	2009-11-23 13:39:58 UTC (rev 11649)
&lt;br&gt;@@ -90,7 +90,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;modules&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!-- declaring version-matrix (our parent) as a module forces it to be built first --&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;version-matrix&amp;lt;/module&amp;gt;
&lt;br&gt;+&amp;lt;!-- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;version-matrix&amp;lt;/module&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;mock&amp;lt;/module&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;beans&amp;lt;/module&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;resources&amp;lt;/module&amp;gt;
&lt;br&gt;@@ -99,7 +99,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;web&amp;lt;/module&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;drools&amp;lt;/module&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;security&amp;lt;/module&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;faces&amp;lt;/module&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;module&amp;gt;faces&amp;lt;/module&amp;gt;--&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/modules&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dependencies&amp;gt;
&lt;br&gt;@@ -124,8 +124,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;webbeans-core-test&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;weld-core-test&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -210,7 +210,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;artifactId&amp;gt;maven-release-plugin&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;version&amp;gt;2.0-beta-8&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;configuration&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;tagBase&amp;gt;&lt;a href=&quot;https://svn.jboss.org/repos/webbeans/ri/tags&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://svn.jboss.org/repos/webbeans/ri/tags&lt;/a&gt;&amp;lt;/tagBase&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;tagBase&amp;gt;&lt;a href=&quot;https://svn.jboss.org/repos/weld/ri/tags&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://svn.jboss.org/repos/weld/ri/tags&lt;/a&gt;&amp;lt;/tagBase&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;autoVersionSubmodules&amp;gt;true&amp;lt;/autoVersionSubmodules&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/configuration&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/plugin&amp;gt;
&lt;br&gt;&lt;br&gt;Modified: modules/trunk/version-matrix/pom.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- modules/trunk/version-matrix/pom.xml	2009-11-22 18:31:55 UTC (rev 11648)
&lt;br&gt;+++ modules/trunk/version-matrix/pom.xml	2009-11-23 13:39:58 UTC (rev 11649)
&lt;br&gt;@@ -53,8 +53,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;seam.version&amp;gt;3.0.0-SNAPSHOT&amp;lt;/seam.version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;seam.groupId&amp;gt;org.jboss.seam&amp;lt;/seam.groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;webbeans.version&amp;gt;1.0.0-SNAPSHOT&amp;lt;/webbeans.version&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;webbeans.groupId&amp;gt;org.jboss.webbeans&amp;lt;/webbeans.groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;weld.version&amp;gt;1.0.0&amp;lt;/weld.version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;weld.groupId&amp;gt;org.jboss.weld&amp;lt;/weld.groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;dependencyManagement&amp;gt;
&lt;br&gt;@@ -167,39 +167,39 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jsr299-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;javax.enterprise&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;cdi-api&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;webbeans-core&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-core&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;webbeans-core-test&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-core-test&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;webbeans-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-logger&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;webbeans-logging&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-logging&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${webbeans.groupId}.servlet&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;webbeans-servlet&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${webbeans.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${weld.groupId}.servlet&amp;lt;/groupId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;weld-servlet&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${weld.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;@@ -238,7 +238,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;org.jboss.test-harness&amp;lt;/groupId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;jboss-test-harness&amp;lt;/artifactId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;1.0.0-SNAPSHOT&amp;lt;/version&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;1.1.0-CR3&amp;lt;/version&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;@@ -327,7 +327,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;groupId&amp;gt;${seam.groupId}&amp;lt;/groupId&amp;gt;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;seam-webbeans-bridge&amp;lt;/artifactId&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;artifactId&amp;gt;seam-weld-bridge&amp;lt;/artifactId&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;version&amp;gt;${seam.version}&amp;lt;/version&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/dependency&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26478187&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11649---in-modules-trunk%3A-beans-and-3-other-directories.-tp26478187p26478187.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26468002</id>
	<title>Seam SVN: r11648 - branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT.</title>
	<published>2009-11-22T10:31:55Z</published>
	<updated>2009-11-22T10:31:55Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: nico.ben
&lt;br&gt;Date: 2009-11-22 13:31:55 -0500 (Sun, 22 Nov 2009)
&lt;br&gt;New Revision: 11648
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Security.po
&lt;br&gt;Log:
&lt;br&gt;Italian translation
&lt;br&gt;&lt;br&gt;Modified: branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Security.po
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Security.po	2009-11-22 18:31:22 UTC (rev 11647)
&lt;br&gt;+++ branches/community/Seam_2_2/doc/Seam_Reference_Guide/it-IT/Security.po	2009-11-22 18:31:55 UTC (rev 11648)
&lt;br&gt;@@ -6,7 +6,7 @@
&lt;br&gt;&amp;nbsp;&amp;quot;Project-Id-Version: Security\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Report-Msgid-Bugs-To: &lt;a href=&quot;http://bugs.kde.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.kde.org&lt;/a&gt;\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;POT-Creation-Date: 2009-06-25 15:02+0000\n&amp;quot;
&lt;br&gt;-&amp;quot;PO-Revision-Date: 2009-06-25 17:05+0100\n&amp;quot;
&lt;br&gt;+&amp;quot;PO-Revision-Date: 2009-11-22 19:29+0100\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Last-Translator: Nicola Benaglia &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26468002&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nico.benaz@...&lt;/a&gt;&amp;gt;\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;Language-Team: it &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26468002&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stefano.travelli@...&lt;/a&gt;&amp;gt;\n&amp;quot;
&lt;br&gt;&amp;nbsp;&amp;quot;MIME-Version: 1.0\n&amp;quot;
&lt;br&gt;@@ -151,7 +151,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:113
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;The simplified authentication method provided by Seam uses a built-in JAAS login module, &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt;, which delegates authentication to one of your own Seam components. This login module is already configured inside Seam as part of a default application policy and as such does not require any additional configuration files. It allows you to write an authentication method using the entity classes that are provided by your own application, or alternatively to authenticate with some other third party provider. Configuring this simplified form of authentication requires the &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; component to be configured in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Il metodo di autenticazione semplificato fornito da Seam usa un modulo di login JAAS già fatto, &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt;, il quale delega l'autenticazione ad uno dei componenti dell'applicazione. Questo modulo di login è già configurato all'interno di Seam come parte dei criteri di gestione di default e in quanto tale non richiede alcun file di configurazione aggiuntivo. Esso consente di scrivere un metodo di autenticazione usando le classi entità che sono fornite dall'applicazione o, in alternativa, di esegure l'autenticazione con qualche altro fornitore di terze parti. Per configurare questa forma semplificata di autentifica è richiesto di di configurare il componente &amp;lt;literal&amp;gt;Identity&amp;lt;/literal&amp;gt; in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Il metodo di autenticazione semplificato fornito da Seam usa un modulo di login JAAS già fatto, &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt;, il quale delega l'autenticazione ad uno dei componenti dell'applicazione. Questo modulo di login è già configurato all'interno di Seam come parte dei criteri di gestione di default e in quanto tale non richiede alcun file di configurazione aggiuntivo. Esso consente di scrivere un metodo di autenticazione usando le classi entità che sono fornite dall'applicazione o, in alternativa, di esegure l'autenticazione con qualche altro fornitore di terze parti. Per configurare questa forma semplificata di autenticazione è richiesto di configurare il componente &amp;lt;literal&amp;gt;Identity&amp;lt;/literal&amp;gt; in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:122
&lt;br&gt;@@ -445,7 +445,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:301
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;To summarize: While everyone is doing it, persistent \&amp;quot;Remember Me\&amp;quot; cookies with automatic authentication are a bad practice and should not be used. Cookies that \&amp;quot;remember\&amp;quot; only the users login name, and fill out the login form with that username as a convenience, are not an issue.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;In definitiva: benché tutti lo stiano facendo, il cookie \&amp;quot;Ricordami su questo computer\&amp;quot; con l'autenticazione automatica è un cattiva pratica e non dovrebbe essere usata. I cookie che \&amp;quot;ricordano\&amp;quot; solo il nome dell'utente e riempiono la form di accesso con quel nome utente per praticità, non comportano rischi.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;In definitiva: benché tutti lo stiano facendo, il cookie \&amp;quot;Ricordami su questo computer\&amp;quot; con l'autenticazione automatica è una cattiva pratica e non dovrebbe essere usata. I cookie che \&amp;quot;ricordano\&amp;quot; solo il nome dell'utente e riempiono la form di accesso con quel nome utente per praticità, non comportano rischi.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:308
&lt;br&gt;@@ -677,7 +677,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:396
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;In the case of a &amp;lt;literal&amp;gt;NotLoggedInException&amp;lt;/literal&amp;gt;, it is recommended that the user is redirected to either a login or registration page so that they can log in. For an &amp;lt;literal&amp;gt;AuthorizationException&amp;lt;/literal&amp;gt;, it may be useful to redirect the user to an error page. Here's an example of a &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; file that redirects both of these security exceptions:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Nel caso della &amp;lt;literal&amp;gt;NotLoggedInException&amp;lt;/literal&amp;gt;, si raccomanda che l'utente venga rediretto o sulla pagina di accesso o su quella di registrazione, così che possa accedere. Per una &amp;lt;literal&amp;gt;AuthorizationException&amp;lt;/literal&amp;gt;, può essere utile redirigere l'utente su una pagina di errore. Ecco un esempio di un &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; che redirige entrambe queste eccezioni:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Nel caso della &amp;lt;literal&amp;gt;NotLoggedInException&amp;lt;/literal&amp;gt;, si raccomanda che l'utente venga rediretto o sulla pagina di accesso o su quella di registrazione, così che possa accedere. Per una &amp;lt;literal&amp;gt;AuthorizationException&amp;lt;/literal&amp;gt;, può essere utile redirigere l'utente su una pagina di errore. Ecco un esempio di &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; che redirige entrambe queste eccezioni:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:403
&lt;br&gt;@@ -725,7 +725,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:405
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Most web applications require even more sophisticated handling of login redirection, so Seam includes some special functionality for handling this problem.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;La maggior parte delle applicazioni web richiede una gestione più sofisticata della redirezione sulla pagina di accesso, perciò Seam include alcune funzionalità speciali per gestire questo problema:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;La maggior parte delle applicazioni web richiede una gestione più sofisticata della redirezione sulla pagina di accesso, perciò Seam include alcune funzionalità speciali per gestire questo problema.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:413
&lt;br&gt;@@ -2098,7 +2098,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:1372
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;If you are using the Identity Management features in your Seam application, then it is not required to provide an authenticator component (see previous Authentication section) to enable authentication. Simply omit the &amp;lt;literal&amp;gt;authenticator-method&amp;lt;/literal&amp;gt; from the &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; configuration in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, and the &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt; will by default use &amp;lt;literal&amp;gt;IdentityManager&amp;lt;/literal&amp;gt; to authenticate your application's users, without any special configuration required.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Se in un'applicazione Seam si stanno usando le funzioni di gestione delle identità, allora non è richiesto di fornire un componente &amp;lt;literal&amp;gt;authenticator&amp;lt;/literal&amp;gt; (vedi il precedente paragrafo Autenticazione) per abilitare l'autenticazione. Basta omettere &amp;lt;literal&amp;gt;authenticator-method&amp;lt;/literal&amp;gt; dalla configurazione di &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; e il &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt; userà per default &amp;lt;literal&amp;gt;IdentityManager&amp;lt;/literal&amp;gt; per autenticare gli utenti dell'applicazione, senza nessuna configurazione speciale.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Se in un'applicazione Seam si stanno usando le funzioni di gestione delle identità, allora non è richiesto di fornire un componente &amp;lt;literal&amp;gt;authenticator&amp;lt;/literal&amp;gt; (vedi il precedente paragrafo Autenticazione) per abilitare l'autenticazione. Basta omettere &amp;lt;literal&amp;gt;authenticator-method&amp;lt;/literal&amp;gt; dalla configurazione di &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt; e il &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt; userà di default &amp;lt;literal&amp;gt;IdentityManager&amp;lt;/literal&amp;gt; per autenticare gli utenti dell'applicazione, senza nessuna configurazione speciale.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:1383
&lt;br&gt;@@ -2197,7 +2197,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:1437
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Creates a new user account, with the specified name and password. Returns &amp;lt;literal&amp;gt;true&amp;lt;/literal&amp;gt; if successful, or &amp;lt;literal&amp;gt;false&amp;lt;/literal&amp;gt; if not.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Crea un nuovo utente con il nome e la password specificate. Restituisce &amp;lt;literal&amp;gt;true&amp;lt;/literal&amp;gt; se l'operazione si è conclusa con successo, altrimenti &amp;lt;literal&amp;gt;false&amp;lt;/literal&amp;gt;.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Crea un nuovo utente con il nome e la password specificate. Restituisce &amp;lt;literal&amp;gt;true&amp;lt;/literal&amp;gt; se l'operazione si è conclusa con successo, oppure &amp;lt;literal&amp;gt;false&amp;lt;/literal&amp;gt;.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: literal
&lt;br&gt;&amp;nbsp;#: Security.xml:1447
&lt;br&gt;@@ -2661,7 +2661,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2127
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;The security API produces a number of default faces messages for various security-related events. The following table lists the message keys that can be used to override these messages by specifying them in a &amp;lt;literal&amp;gt;message.properties&amp;lt;/literal&amp;gt; resource file. To suppress the message, just put the key with an empty value in the resource file.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Le API di sicurezza producono una serie di messaggi di default per i diversi eventi relaivi alla sicurezza. La seguente tabella elenca le chiavi dei messaggi che possono essere usate per sovrascrivere questi messaggi specificandoli in un file &amp;lt;literal&amp;gt;message.properties&amp;lt;/literal&amp;gt;. Per sopprimere un messaggio basta mettere nel file la chiave con un valore vuoto.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Le API di sicurezza producono una serie di messaggi di default per i diversi eventi relativi alla sicurezza. La seguente tabella elenca le chiavi dei messaggi che possono essere usate per sovrascrivere questi messaggi specificandoli in un file &amp;lt;literal&amp;gt;message.properties&amp;lt;/literal&amp;gt;. Per sopprimere un messaggio basta mettere nel file la chiave con un valore vuoto.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:2135
&lt;br&gt;@@ -2757,7 +2757,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2233
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;A role is a &amp;lt;emphasis&amp;gt;group&amp;lt;/emphasis&amp;gt;, or &amp;lt;emphasis&amp;gt;type&amp;lt;/emphasis&amp;gt;, of user that may have been granted certain privileges for performing one or more specific actions within an application. They are simple constructs, consisting of just a name such as \&amp;quot;admin\&amp;quot;, \&amp;quot;user\&amp;quot;, \&amp;quot;customer\&amp;quot;, etc. They can be granted either to users (or in some cases to other roles), and are used to create logical groups of users for the convenient assignment of specific application privileges.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Un ruolo è un &amp;lt;emphasis&amp;gt;gruppo&amp;lt;/emphasis&amp;gt;, o un &amp;lt;emphasis&amp;gt;tipo&amp;lt;/emphasis&amp;gt;, di utente al quale possono essere concessi certi privilegi per eseguire una o più azioni specifiche nell'ambito dell'applicazione. Essi sono dei semplici costrutti consistenti solo di un nome che \&amp;quot;amministratore\&amp;quot;, \&amp;quot;utente\&amp;quot;, \&amp;quot;cliente\&amp;quot;, ecc. Possono sia essere concessi ad un utente (o in alcuni casi ad altri ruoli) che essere usati per creare gruppi logici di utenti per facilitare l'assegnazione di determinati privilegi dell'applicazione.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Un ruolo è un &amp;lt;emphasis&amp;gt;gruppo&amp;lt;/emphasis&amp;gt;, o un &amp;lt;emphasis&amp;gt;tipo&amp;lt;/emphasis&amp;gt;, di utente al quale possono essere concessi certi privilegi per eseguire una o più azioni specifiche nell'ambito dell'applicazione. Essi sono dei semplici costrutti consistenti solo di un nome quale \&amp;quot;amministratore\&amp;quot;, \&amp;quot;utente\&amp;quot;, \&amp;quot;cliente\&amp;quot;, ecc. Possono sia essere concessi ad un utente (o in alcuni casi ad altri ruoli) che essere usati per creare gruppi logici di utenti per facilitare l'assegnazione di determinati privilegi dell'applicazione.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:2251
&lt;br&gt;@@ -2769,7 +2769,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2253
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;A permission is a privilege (sometimes once-off) for performing a single, specific action. It is entirely possible to build an application using nothing but permissions, however roles offer a higher level of convenience when granting privileges to groups of users. They are slightly more complex in structure than roles, essentially consisting of three \&amp;quot;aspects\&amp;quot;; a target, an action, and a recipient. The target of a permission is the object (or an arbitrary name or class) for which a particular action is allowed to be performed by a specific recipient (or user). For example, the user \&amp;quot;Bob\&amp;quot; may have permission to delete customer objects. In this case, the permission target may be \&amp;quot;customer\&amp;quot;, the permission action would be \&amp;quot;delete\&amp;quot; and the recipient would be \&amp;quot;Bob\&amp;quot;.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Un permesso è un privilegio (a volte una-tantum) per eseguire una singola, specifica azione. E' del tutto possibile costruire un'applicazione usando nient'altro che i privilegi, comunque i ruoli offrono un livello di facilitazione più alto quando si tratta di concedere dei privilegi a gruppi di utenti. Essi sono leggermente più complessi nella struttura rispetto ai ruoli ed essenzialmente consistono di tre \&amp;quot;aspetti\&amp;quot;: un obiettivo , un'azione e un destinatario. L'obiettivo di un permesso è l'oggetto (o un nome arbitrario o una classe) per il quale è consentito di eseguire una determinata azione da parte di uno specifico destinatario (o utente). Ad esempio, l'utente \&amp;quot;Roberto\&amp;quot; può avere il permesso di cancellare gli oggetti cliente. In questo caso l'obiettivo del permesso può essere \&amp;quot;clienti\&amp;quot;, l'azione del permesso sarà \&amp;quot;cancella\&amp;quot; e il recipiente sarà \&amp;quot;Roberto\&amp;quot;.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Un permesso è un privilegio (a volte una-tantum) per eseguire una singola, specifica azione. E' del tutto possibile costruire un'applicazione usando nient'altro che i privilegi, comunque i ruoli offrono un livello di facilitazione più alto quando si tratta di concedere dei privilegi a gruppi di utenti. Essi sono leggermente più complessi nella struttura rispetto ai ruoli ed essenzialmente consistono di tre \&amp;quot;aspetti\&amp;quot;: un obiettivo, un'azione e un destinatario. L'obiettivo di un permesso è l'oggetto (o un nome arbitrario o una classe) per il quale è consentito di eseguire una determinata azione da parte di uno specifico destinatario (o utente). Ad esempio, l'utente \&amp;quot;Roberto\&amp;quot; può avere il permesso di cancellare gli oggetti cliente. In questo caso l'obiettivo del permesso può essere \&amp;quot;clienti\&amp;quot;, l'azione del permesso sarà \&amp;quot;cancella\&amp;quot; e il destinatario sarà \&amp;quot;Roberto\&amp;quot;.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:2273
&lt;br&gt;@@ -2811,7 +2811,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2302
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Seam components may be secured either at the method or the class level, using the &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; annotation. If both a method and it's declaring class are annotated with &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt;, the method restriction will take precedence (and the class restriction will not apply). If a method invocation fails a security check, then an exception will be thrown as per the contract for &amp;lt;literal&amp;gt;Identity.checkRestriction()&amp;lt;/literal&amp;gt; (see Inline Restrictions). A &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; on just the component class itself is equivalent to adding &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; to each of its methods.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;I componenti Seam possono essere resi sicuri sia a livello di metodo che a livello di classe usando l'annotazione &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt;. Se sia un metodo che la classe in cui è dichiarato sono annotati con &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt;, la restrizione sul metodo ha la precedenza (e la restrizione sulla classe non si applica). Se nell'invocazione di un metodo fallisce il controllo di sicurezza, viene lanciata un'eccezione come definito nel contratto di &amp;lt;literal&amp;gt;Identity.checkRestriction()&amp;lt;/literal&amp;gt; (vedi Restrizioni in linea). Una &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; solo sulla classe del componente stesso è equivalente ad aggiungere &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; a ciascuno dei suoi metodi.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;I componenti Seam possono essere resi sicuri sia a livello di metodo che a livello di classe usando l'annotazione &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt;. Qualora sia un metodo sia la classe in cui questo è dichiarato sono annotati con &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt;, la restrizione sul metodo ha la precedenza (e la restrizione sulla classe non si applica). Se nell'invocazione di un metodo fallisce il controllo di sicurezza, viene lanciata un'eccezione come definito nel contratto di &amp;lt;literal&amp;gt;Identity.checkRestriction()&amp;lt;/literal&amp;gt; (vedi Restrizioni in linea). Una &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; solo sulla classe del componente stesso è equivalente ad aggiungere &amp;lt;literal&amp;gt;@Restrict&amp;lt;/literal&amp;gt; a ciascuno dei suoi metodi.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:2312
&lt;br&gt;@@ -2989,7 +2989,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2402
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;One indication of a well designed user interface is that the user is not presented with options for which they don't have the necessary privileges to use. Seam Security allows conditional rendering of either 1) sections of a page or 2) individual controls, based upon the privileges of the user, using the very same EL expressions that are used for component security.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Uno degli indici di interfaccia utente ben progettata è quando agli utenti non vengono presentate opzioni per le quali essi non hanno i permessi necessari. La sicurezza di Seam consente la visualizzazione condizionale sia di sezioni di una pagina che di singoli controlli, basata sui privilegi dell'utente, usando esattamente le stesse espressioni EL usate nella sicurezza dei componenti.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Uno degli indicatori di interfaccia utente ben progettata è quando agli utenti non vengono presentate opzioni per le quali essi non hanno i permessi necessari. La sicurezza di Seam consente la visualizzazione condizionale sia di sezioni di una pagina che di singoli controlli, basata sui privilegi dell'utente, usando esattamente le stesse espressioni EL usate nella sicurezza dei componenti.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:2409
&lt;br&gt;@@ -3083,7 +3083,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2446
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Page security requires that the application is using a &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt; file, however is extremely simple to configure. Simply include a &amp;lt;literal&amp;gt;&amp;lt;restrict/&amp;gt;&amp;lt;/literal&amp;gt; element within the &amp;lt;literal&amp;gt;page&amp;lt;/literal&amp;gt; elements that you wish to secure. If no explicit restriction is specified by the &amp;lt;literal&amp;gt;restrict&amp;lt;/literal&amp;gt; element, an implied permission of &amp;lt;literal&amp;gt;/viewId.xhtml:render&amp;lt;/literal&amp;gt; will be checked when the page is accessed via a non-faces (GET) request, and a permission of &amp;lt;literal&amp;gt;/viewId.xhtml:restore&amp;lt;/literal&amp;gt; will be required when any JSF postback (form submission) originates from the page. Otherwise, the specified restriction will be evaluated as a standard security expression. Here's a couple of examples:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;La sicurezza delle pagine richiede che l'applicazione usi un file &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt;. Comunque è molto semplice da configurare. Basta includere un elemento &amp;lt;literal&amp;gt;&amp;lt;restrict&amp;gt;&amp;lt;/literal&amp;gt; all'interno degli elementi &amp;lt;literal&amp;gt;page&amp;lt;/literal&amp;gt; che si vogliono rendere sicuri. Se tramite l'elemento &amp;lt;literal&amp;gt;restrict&amp;lt;/literal&amp;gt; non viene indicata esplicitamente una restrizione, verrà controllato implicitamente il permesso &amp;lt;literal&amp;gt;/viewId.xhtml:render&amp;lt;/literal&amp;gt; quando la richiesta della pagina avviene in modo non-faces (GET), e il permesso&amp;lt;literal&amp;gt;/viewId.xhtml:restore&amp;lt;/literal&amp;gt; quando un JSF postback (il submit della form) viene originato dalla pagina. Altrimenti viene la restrizione specificata verrà valutata come una normale espressione di sicurezza. Ecco un paio di esempi:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;La sicurezza delle pagine richiede che l'applicazione usi un file &amp;lt;literal&amp;gt;pages.xml&amp;lt;/literal&amp;gt;. Comunque è molto semplice da configurare. Basta includere un elemento &amp;lt;literal&amp;gt;&amp;lt;restrict&amp;gt;&amp;lt;/literal&amp;gt; all'interno degli elementi &amp;lt;literal&amp;gt;page&amp;lt;/literal&amp;gt; che si vogliono rendere sicuri. Se tramite l'elemento &amp;lt;literal&amp;gt;restrict&amp;lt;/literal&amp;gt; non viene indicata esplicitamente una restrizione, verrà controllato implicitamente il permesso &amp;lt;literal&amp;gt;/viewId.xhtml:render&amp;lt;/literal&amp;gt; quando la richiesta della pagina avviene in modo non-faces (GET), e il permesso&amp;lt;literal&amp;gt;/viewId.xhtml:restore&amp;lt;/literal&amp;gt; quando un JSF postback (il submit della form) viene originato dalla pagina. Altrimenti la restrizione specificata verrà valutata come una normale espressione di sicurezza. Ecco un paio di esempi:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:2457
&lt;br&gt;@@ -3197,7 +3197,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2527
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Here's an example of how an entity would be configured to perform a security check for any &amp;lt;literal&amp;gt;insert&amp;lt;/literal&amp;gt; operations. Please note that the method is not required to do anything, the only important thing in regard to security is how it is annotated:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Ecco un esempio di come un'entità potrebbe essere configurata per eseguire un controllo di sicurezza per tutte le operazioni &amp;lt;literal&amp;gt;insert&amp;lt;/literal&amp;gt;. Notare che non è richiesto che il metodo faccia qualcosa, la sola cosa importante per quanto riguarda la sicurezza è come è annotato:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Ecco un esempio di come un'entità potrebbe essere configurata per eseguire un controllo di sicurezza per tutte le operazioni &amp;lt;literal&amp;gt;insert&amp;lt;/literal&amp;gt;. Notare che non è richiesto che il metodo faccia qualcosa, la sola cosa importante per quanto riguarda la sicurezza è come questo viene annotato:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:2533
&lt;br&gt;@@ -3379,7 +3379,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2608
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Out of the box, Seam comes with annotations for standard CRUD-based permissions, however it is a simple matter to add your own. The following annotations are provided in the &amp;lt;literal&amp;gt;org.jboss.seam.annotations.security&amp;lt;/literal&amp;gt; package:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Così com'è, Seam contiene delle annotazioni per i permessi standard per le operazioni CRUD, comunque è solo questione di aggiungerne altre. Le seguenti annotazioni sono fornire nel pacchetto &amp;lt;literal&amp;gt;org.jboss.seam.annotations.security&amp;lt;/literal&amp;gt;:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Così com'è, Seam contiene delle annotazioni per i permessi standard per le operazioni CRUD, comunque è solo questione di aggiungerne altre. Le seguenti annotazioni sono fornite nel pacchetto &amp;lt;literal&amp;gt;org.jboss.seam.annotations.security&amp;lt;/literal&amp;gt;:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:2615
&lt;br&gt;@@ -3543,7 +3543,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2704
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;The relevant classes are explained in more detail in the following sections.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Le classi rilevanti sono spiegate in maggiore dettaglio nel seguente paragrafo.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Le classi rilevanti sono spiegate con maggiore dettaglio nel seguente paragrafo.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:2709
&lt;br&gt;@@ -3762,7 +3762,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:2947
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;The configuration for &amp;lt;literal&amp;gt;RuleBasedPermissionResolver&amp;lt;/literal&amp;gt; requires that a Drools rule base is first configured in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;. By default, it expects that the rule base is named &amp;lt;literal&amp;gt;securityRules&amp;lt;/literal&amp;gt;, as per the following example:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;La configurazione per &amp;lt;literal&amp;gt;RuleBasedPermissionResolver&amp;lt;/literal&amp;gt; richiede che una base di regole venga prima configurata in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;. Per difetto si aspetta che questa base di regole sia chiamata &amp;lt;literal&amp;gt;securityRules&amp;lt;/literal&amp;gt;, come nel seguente esempio:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;La configurazione per &amp;lt;literal&amp;gt;RuleBasedPermissionResolver&amp;lt;/literal&amp;gt; richiede che una base di regole venga prima configurata in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;. Di default questa base di regole viene chiamata &amp;lt;literal&amp;gt;securityRules&amp;lt;/literal&amp;gt;, come nel seguente esempio:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:2953
&lt;br&gt;@@ -3898,7 +3898,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3002
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Looking at the body of the rule definition we can notice two distinct sections. Rules have what is known as a left hand side (LHS) and a right hand side (RHS). The LHS consists of the conditional part of the rule, i.e. a list of conditions which must be satisfied for the rule to fire. The LHS is represented by the &amp;lt;literal&amp;gt;when&amp;lt;/literal&amp;gt; section. The RHS is the consequence, or action section of the rule that will only be fired if all of the conditions in the LHS are met. The RHS is represented by the &amp;lt;literal&amp;gt;then&amp;lt;/literal&amp;gt; section. The end of the rule is denoted by the &amp;lt;literal&amp;gt;end&amp;lt;/literal&amp;gt; line.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Guardando il corpo della definizione della regola si possono notare due distinte sezioni. Le regole hanno quello che è noto come lato sinistro (LHS, left hand side) e un lato destro (RHS, right hand side). Il lato sinistro consiste nella parte condizionale della regola, cioè l'elenco delle condizioni che devono essere soddisfatte per la regola si applichi. Il lato sinistro è rappresentato dalla sezione &amp;lt;literal&amp;gt;when&amp;lt;/literal&amp;gt;. Il lato destro è la conseguenza, o la parte di azione della regola che si applica solo se tutte le condizioni del lato sinistro sono verificate. Il lato destro è rappresentato dalla sezione &amp;lt;literal&amp;gt;then&amp;lt;/literal&amp;gt;. La fine della regola è stabilita dalla linea &amp;lt;literal&amp;gt;end&amp;lt;/literal&amp;gt;.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Guardando il corpo della definizione della regola si possono notare due distinte sezioni. Le regole hanno quello che è noto come lato sinistro (LHS, left hand side) e un lato destro (RHS, right hand side). Il lato sinistro consiste nella parte condizionale della regola, cioè l'elenco delle condizioni che devono essere soddisfatte affinché si applichi la regola. Il lato sinistro è rappresentato dalla sezione &amp;lt;literal&amp;gt;when&amp;lt;/literal&amp;gt;. Il lato destro è la conseguenza, o la parte di azione della regola che si applica solo se tutte le condizioni del lato sinistro sono verificate. Il lato destro è rappresentato dalla sezione &amp;lt;literal&amp;gt;then&amp;lt;/literal&amp;gt;. La fine della regola è stabilita dalla linea &amp;lt;literal&amp;gt;end&amp;lt;/literal&amp;gt;.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:3011
&lt;br&gt;@@ -3928,7 +3928,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3035
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Besides the &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; facts, there is also a &amp;lt;literal&amp;gt;org.jboss.seam.security.Role&amp;lt;/literal&amp;gt; fact for each of the roles that the authenticated user is a member of. These &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; facts are synchronized with the user's authenticated roles at the beginning of every permission check. As a consequence, any &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; object that is inserted into the working memory during the course of a permission check will be removed before the next permission check occurs, if the authenticated user is not actually a member of that role. Besides the &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; facts, the working memory also contains the &amp;lt;literal&amp;gt;java.security.Principal&amp;lt;/literal&amp;gt; object that was created as a result of the authentication process.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Accanto al fatto &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; c'è anche un fatto &amp;lt;literal&amp;gt;org.jboss.seam.security.Role&amp;lt;/literal&amp;gt; per ogni ruolo di cui l'utente autenticato è membro. Questi fatti &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; sono sincronizzati con i ruoli dell'utente autenticato all'inizio di ogni controllo di permesso. Di conseguenza qualsiasi oggetto &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; che venisse inserito nella working memory nel corso del controllo di permesso sarebbe rimosso prima che il controllo di permesso successivo avvenga, a meno che l'utente autenticato non sia effettivamente membro di quel ruolo. Insieme ai fatti &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; la working memory contiene anche l'oggetto &amp;lt;literal&amp;gt;java.security.Principal&amp;lt;/literal&amp;gt; che era stato creato come risultato del processo di autenticazione.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Accanto al fatto &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; c'è anche un fatto &amp;lt;literal&amp;gt;org.jboss.seam.security.Role&amp;lt;/literal&amp;gt; per ogni ruolo di cui l'utente autenticato è membro. Questi fatti &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; sono sincronizzati con i ruoli dell'utente autenticato all'inizio di ogni controllo di permesso. Di conseguenza qualsiasi oggetto &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; che venisse inserito nella working memory nel corso del controllo di permesso sarebbe rimosso prima che avvenga il controllo di permesso successivo, a meno che l'utente autenticato non sia effettivamente membro di quel ruolo. Insieme ai fatti &amp;lt;literal&amp;gt;PermissionCheck&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;Role&amp;lt;/literal&amp;gt; la working memory contiene anche l'oggetto &amp;lt;literal&amp;gt;java.security.Principal&amp;lt;/literal&amp;gt; che era stato creato come risultato del processo di autenticazione.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:3046
&lt;br&gt;@@ -4352,7 +4352,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3492
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;This annotation should be used when the same entity/table is used to store both user and role permissions. It identifies the property of the entity that is used to discriminate between user and role permissions. By default, if the column value contains the string literal &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;, then the record will be treated as a user permission. If it contains the string literal &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, then it will be treated as a role permission. It is also possible to override these defaults by specifying the &amp;lt;literal&amp;gt;userValue&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;roleValue&amp;lt;/literal&amp;gt; properties within the annotation. For example, to use &amp;lt;literal&amp;gt;u&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;r&amp;lt;/literal&amp;gt; instead of &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, the annotation would be written like this:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Questa annotazione deve essere usata quando la stessa entità/tabella viene usata per memorizzare sia i permessi degli utenti che quelli dei ruoli. Essa identifica la proprietà dell'entità che è usata per discriminare tra i permessi degli utenti e quelli dei ruoli. Per default, se il valore della colonna contiene la stringa &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;, allora il record sarà trattato come un permesso utente. Se contiene la stringa &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, allora sarà trattato come un permesso del ruolo. E' anche possibile sovrascrivere questi valori specificando le proprietà &amp;lt;literal&amp;gt;userValue&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;roleValue&amp;lt;/literal&amp;gt; all'interno delle annotazioni. Ad esempio, per usere &amp;lt;literal&amp;gt;u&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;r&amp;lt;/literal&amp;gt; invece di &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, le annotazioni dovranno essere scritte in questo modo:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Questa annotazione deve essere usata quando la stessa entità/tabella viene usata per memorizzare sia i permessi degli utenti che quelli dei ruoli. Essa identifica la proprietà dell'entità che è usata per discriminare tra i permessi degli utenti e quelli dei ruoli. Per default, se il valore della colonna contiene la stringa &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt;, allora il record sarà trattato come un permesso utente. Se contiene la stringa &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, allora sarà trattato come un permesso del ruolo. E' anche possibile sovrascrivere questi valori specificando le proprietà &amp;lt;literal&amp;gt;userValue&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;roleValue&amp;lt;/literal&amp;gt; all'interno delle annotazioni. Ad esempio, per usare &amp;lt;literal&amp;gt;u&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;r&amp;lt;/literal&amp;gt; invece di &amp;lt;literal&amp;gt;user&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, le annotazioni dovranno essere scritte in questo modo:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:3502
&lt;br&gt;@@ -4583,7 +4583,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3625
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;By default, multiple permissions for the same target object and recipient will be persisted as a single database record, with the &amp;lt;literal&amp;gt;action&amp;lt;/literal&amp;gt; property/column containing a comma-separated list of the granted actions. To reduce the amount of physical storage required to persist a large number of permissions, it is possible to use a bitmasked integer value (instead of a comma-separated list) to store the list of permission actions.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Per default più permessi per lo stesso obbiettivo e destinatario vengono memorizzati un singolo record sul database, con la proprietà/colonna &amp;lt;literal&amp;gt;action&amp;lt;/literal&amp;gt; contenente un elenco delle azioni concesse separate da una virgola. Per ridurre la quantità di spazio fisico richiesto per memorizzare un numero elevato di permessi è possibile usare un valore intero come maschera di bit (al posto di un elenco di valori separati da virgole) per memorizzare l'elenco delle azioni consentite.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Per default più permessi per lo stesso obiettivo e destinatario vengono memorizzati in un singolo record sul database, con la proprietà/colonna &amp;lt;literal&amp;gt;action&amp;lt;/literal&amp;gt; contenente un elenco delle azioni concesse separate da una virgola. Per ridurre la quantità di spazio fisico richiesto per memorizzare un numero elevato di permessi è possibile usare un valore intero come maschera di bit (al posto di un elenco di valori separati da virgole) per memorizzare l'elenco delle azioni consentite.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:3632
&lt;br&gt;@@ -4631,7 +4631,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3655
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;When storing or looking up permissions, &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; must be able to uniquely identify specific object instances to effectively operate on its permissions. To achieve this, an &amp;lt;emphasis&amp;gt;identifier strategy&amp;lt;/emphasis&amp;gt; may be assigned to each target class for the generation of unique identifier values. Each identifier strategy implementation knows how to generate unique identifiers for a particular type of class, and it is a simple matter to create new identifier strategies.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Quando &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; memorizza o cerca un permesso deve essere in grado di identificare univocamente le istanze degli oggetti sui cui permessi deve operare. Per ottenere questo occorre assegnare una &amp;lt;emphasis&amp;gt;stragegia di risoluzione dell'identificatore&amp;lt;/emphasis&amp;gt; per ciascuna classe obiettivo, in modo da generare i valori identificativi univoci. Ciascuna implementazione della strategia di risoluzione sa come generare gli identificativi univoci per un particolare tipo di classe ed è solo questione di creare nuove strategia di risoluzione.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Quando &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; memorizza o cerca un permesso deve essere in grado di identificare univocamente le istanze degli oggetti sui cui permessi deve operare. Per ottenere questo occorre assegnare una &amp;lt;emphasis&amp;gt;strategia di risoluzione dell'identificatore&amp;lt;/emphasis&amp;gt; per ciascuna classe obiettivo, in modo da generare i valori identificativi univoci. Ciascuna implementazione della strategia di risoluzione sa come generare gli identificativi univoci per un particolare tipo di classe ed è solo questione di creare nuove strategie di risoluzione.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: para
&lt;br&gt;&amp;nbsp;#: Security.xml:3663
&lt;br&gt;@@ -4833,7 +4833,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:3771
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;The &amp;lt;literal&amp;gt;PermissionManager&amp;lt;/literal&amp;gt; component is an application-scoped Seam component that provides a number of methods for managing permissions. Before it can be used, it must be configured with a permission store (although by default it will attempt to use &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; if it is available). To explicitly configure a custom permission store, specify the &amp;lt;literal&amp;gt;permission-store&amp;lt;/literal&amp;gt; property in components.xml:&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Il componente &amp;lt;literal&amp;gt;PermissionManager&amp;lt;/literal&amp;gt; è un componente Seam registrato a livello application che fornisce una serie di metodi per gestire i permessi. Prima di poter essere usato deve essere configurato con un permission store (benché per default tenterà di usare il &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; se disponibile). Per configurare esplicitamente un permission store personalizzato, occore specificare la proprietà &amp;lt;literal&amp;gt;permission-store&amp;lt;/literal&amp;gt; in components.xml:&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Il componente &amp;lt;literal&amp;gt;PermissionManager&amp;lt;/literal&amp;gt; è un componente Seam registrato a livello application che fornisce una serie di metodi per gestire i permessi. Prima di poter essere usato deve essere configurato con un permission store (benché di default tenterà di usare il &amp;lt;literal&amp;gt;JpaPermissionStore&amp;lt;/literal&amp;gt; se disponibile). Per configurare esplicitamente un permission store personalizzato, occorre specificare la proprietà &amp;lt;literal&amp;gt;permission-store&amp;lt;/literal&amp;gt; in components.xml:&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: programlisting
&lt;br&gt;&amp;nbsp;#: Security.xml:3778
&lt;br&gt;@@ -5068,7 +5068,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:4147
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;This option helps make your system less vulnerable to sniffing of the session id or leakage of sensitive data from pages using HTTPS to other pages using HTTP.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Questa opzione aiuta nel rendere il sistema meno vulnerabile alle intromissioni che rilevano l'id di sessione o alla mancanza di protezione su dati sensibili dalle pagine che usano HTTPS ad altre che usano HTTP.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Questa opzione aiuta a rendere il sistema meno vulnerabile alle intromissioni che rilevano l'id di sessione o alla mancanza di protezione su dati sensibili dalle pagine che usano HTTPS ad altre che usano HTTP.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:4153
&lt;br&gt;@@ -5527,7 +5527,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:4448
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;It's important to realize at this point that authentication does not imply authorization. The web application still needs to make a determination of how to use that information. The web application could treat the user as instantly logged in and give full access to the system or it could try and map the presented OpenID to a local user account, prompting the user to register if he hasn't already. The choice of how to handle the OpenID is left as a design decision for the local application.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;E' importante rendersi conto, a questo punto, che l'autenticazione non implica l'autorizzazione. L'applicazione web ha ancora bisogno di fare delle determinazioni su come usare quell'informazione. L'applicazione web potrebbe trattare l'utente come immediatamente autenticato e dargli/le pieno accesso al sistema, oppure potrebbe tentare di associare l'OpenID fornito ad un utente locale, chiedendo all'utente di registrarsi se non l'ha già fatto. La scelta su come gestire l'OpenID è lasciata ad una decisione progettuale dell'applicazione locale.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;E' importante rendersi conto, a questo punto, che l'autenticazione non implica l'autorizzazione. L'applicazione web ha ancora bisogno di fare delle considerazioni su come usare quell'informazione. L'applicazione web potrebbe trattare l'utente come immediatamente autenticato e dargli/le pieno accesso al sistema, oppure potrebbe tentare di associare l'OpenID fornito ad un utente locale, chiedendo all'utente di registrarsi se non l'ha già fatto. La scelta su come gestire l'OpenID è lasciata ad una decisione progettuale dell'applicazione locale.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:4458
&lt;br&gt;@@ -5647,7 +5647,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:4508
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;Thie &amp;lt;literal&amp;gt;loginImmediately()&amp;lt;/literal&amp;gt; action checks to see if the OpenID is valid. If it is valid, it adds an OpenIDPrincipal to the identity component, marks the user as logged in (i.e. &amp;lt;literal&amp;gt;#{identity.loggedIn}&amp;lt;/literal&amp;gt; will be true) and returns true. If the OpenID was not validated, the method returns false, and the user re-enters the application un-authenticated. If the user's OpenID is valid, it will be accessible using the expression &amp;lt;literal&amp;gt;#{openid.validatedId}&amp;lt;/literal&amp;gt; and &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; will be true.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;L'azione &amp;lt;literal&amp;gt;loginImmediately()&amp;lt;/literal&amp;gt; controlla per vedere se l'OpenID è valido. Se è valido, aggiunge un OpenIDPrincipal al componente identity, marca l'utente come loggedin (cioè &amp;lt;literal&amp;gt;#{identity.loggedIn}&amp;lt;/literal&amp;gt; sarà true) e restituisce true. Se l'OpenID non è stato validato, il metodo restituisce false, e l'utente rientra nell'applicazione non autenticato. se l'OpenID dell'utente è valido, esso sarà accessibile usando l'espressione &amp;lt;literal&amp;gt;#{openid.validatedId}&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; sarà true.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;L'azione &amp;lt;literal&amp;gt;loginImmediately()&amp;lt;/literal&amp;gt; controlla per vedere se l'OpenID è valido. Se è valido, aggiunge un OpenIDPrincipal al componente identity, marca l'utente come loggato (cioè &amp;lt;literal&amp;gt;#{identity.loggedIn}&amp;lt;/literal&amp;gt; sarà true) e restituisce true. Se l'OpenID non è stato validato, il metodo restituisce false, e l'utente rientra nell'applicazione non autenticato. se l'OpenID dell'utente è valido, esso sarà accessibile usando l'espressione &amp;lt;literal&amp;gt;#{openid.validatedId}&amp;lt;/literal&amp;gt; e &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; sarà true.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:4519
&lt;br&gt;@@ -5659,7 +5659,7 @@
&lt;br&gt;&amp;nbsp;#: Security.xml:4521
&lt;br&gt;&amp;nbsp;#, no-c-format
&lt;br&gt;&amp;nbsp;msgid &amp;quot;You may not want the user to be immediately logged in to your application. In that case, your navigation should check the &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; property and redirect the user to a local registration or processing page. Actions you might take would be asking for more information and creating a local user account or presenting a captcha to avoid programmatic registrations. When you are done processing, if you want to log the user in, you can call the &amp;lt;literal&amp;gt;loginImmediately&amp;lt;/literal&amp;gt; method, either through EL as shown previously or by directly interaction with the &amp;lt;literal&amp;gt;org.jboss.seam.security.openid.OpenId&amp;lt;/literal&amp;gt; component. Of course, nothing prevents you from writing custom code to interact with the Seam identity component on your own for even more customized behaviour.&amp;quot;
&lt;br&gt;-msgstr &amp;quot;Si può desiderare di non autenticare immediatamente l'utente nell'applicazione. In questo caso la navigazione dovrò controllare la proprietà &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; e redirigere l'utente ad una pagina per la registrazione o l'elaborazione dell'utente. Le azioni che si possono prendere sono di chiedere maggiori informazioni e creare un utente locale, oppure presentare un CAPTCHA per evitare registrazioni da programmi automatici. Quando questa elaborazione è terminata, se si vuole autenticare l'utente è possibile chiamare il metodo &amp;lt;literal&amp;gt;loginImmediately&amp;lt;/literal&amp;gt;, sia tramite EL come mostrato in precedenza, sia interagendo direttamento con il componente &amp;lt;literal&amp;gt;org.jboss.seam.security.openid.OpenId&amp;lt;/literal&amp;gt;. Ovviamente niente impedisce di scrivere da soli del codice personalizzato per interagire con il componente Seam Identity per avere un comportamento più personalizzato.&amp;quot;
&lt;br&gt;+msgstr &amp;quot;Si può desiderare di non autenticare immediatamente l'utente nell'applicazione. In questo caso la navigazione dovrà controllare la proprietà &amp;lt;literal&amp;gt;#{openid.valid}&amp;lt;/literal&amp;gt; e redirigere l'utente ad una pagina per la registrazione o l'elaborazione dell'utente. Le azioni che si possono prendere sono di chiedere maggiori informazioni e creare un utente locale, oppure presentare un CAPTCHA per evitare registrazioni da programmi automatici. Quando questa elaborazione è terminata, se si vuole autenticare l'utente è possibile chiamare il metodo &amp;lt;literal&amp;gt;loginImmediately&amp;lt;/literal&amp;gt;, sia tramite EL come mostrato in precedenza, sia interagendo direttamento con il componente &amp;lt;literal&amp;gt;org.jboss.seam.security.openid.OpenId&amp;lt;/literal&amp;gt;. Ovviamente niente impedisce di scrivere da soli del codice personalizzato per interagire con il componente Seam Identity per avere un comportamento più personalizzato.&amp;quot;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#. Tag: title
&lt;br&gt;&amp;nbsp;#: Security.xml:4535
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26468002&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11648---branches-community-Seam_2_2-doc-Seam_Reference_Guide-it-IT.-tp26468002p26468002.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26467988</id>
	<title>Seam SVN: r11647 - branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-22T10:31:23Z</published>
	<updated>2009-11-22T10:31:23Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: nico.ben
&lt;br&gt;Date: 2009-11-22 13:31:22 -0500 (Sun, 22 Nov 2009)
&lt;br&gt;New Revision: 11647
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;Log:
&lt;br&gt;Some errors
&lt;br&gt;&lt;br&gt;Modified: branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-22 14:28:32 UTC (rev 11646)
&lt;br&gt;+++ branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-22 18:31:22 UTC (rev 11647)
&lt;br&gt;@@ -2790,9 +2790,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;h:column&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;f:facet name=&amp;quot;header&amp;quot;&amp;gt;Action&amp;lt;/f:facet&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;s:link value=&amp;quot;Modify Client&amp;quot; action=&amp;quot;#{clientAction.modify}&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{s:hasPermission(cl,'modify')&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{s:hasPermission(cl,'modify')}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;s:link value=&amp;quot;Delete Client&amp;quot; action=&amp;quot;#{clientAction.delete}&amp;quot;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{s:hasPermission(cl,'delete')&amp;quot;/&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rendered=&amp;quot;#{s:hasPermission(cl,'delete')}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/h:column&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;lt;/h:dataTable&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -3828,11 +3828,11 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;For example, to configure a single entity class to store both user and role permissions:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[ &amp;nbsp;&amp;lt;security:jpa-permission-store user-permission-class=&amp;quot;com.acme.model.AccountPermission&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;security:jpa-permission-store user-permission-class=&amp;quot;com.acme.model.AccountPermission&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;To configure separate entity classes for storing user and role permissions:&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[ &amp;nbsp;&amp;lt;security:jpa-permission-store user-permission-class=&amp;quot;com.acme.model.UserPermission&amp;quot;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;XML&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;security:jpa-permission-store user-permission-class=&amp;quot;com.acme.model.UserPermission&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;role-permission-class=&amp;quot;com.acme.model.RolePermission&amp;quot;/&amp;gt;]]&amp;gt;&amp;lt;/programlisting&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sect4&amp;gt;
&lt;br&gt;@@ -3966,7 +3966,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and &amp;lt;literal&amp;gt;role&amp;lt;/literal&amp;gt;, the annotation would be written like this:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[ &amp;nbsp;@PermissionDiscriminator(userValue = &amp;quot;u&amp;quot;, roleValue = &amp;quot;r&amp;quot;)]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;programlisting role=&amp;quot;JAVA&amp;quot;&amp;gt;&amp;lt;![CDATA[@PermissionDiscriminator(userValue = &amp;quot;u&amp;quot;, roleValue = &amp;quot;r&amp;quot;)]]&amp;gt;&amp;lt;/programlisting&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/entry&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/row&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;seam-commits mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26467988&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seam-commits@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.jboss.org/mailman/listinfo/seam-commits&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.jboss.org/mailman/listinfo/seam-commits&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Seam-SVN%3A-r11647---branches-community-Seam_2_2-doc-Seam_Reference_Guide-en-US.-tp26467988p26467988.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26465153</id>
	<title>Seam SVN: r11645 - branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US.</title>
	<published>2009-11-22T05:05:31Z</published>
	<updated>2009-11-22T05:05:31Z</updated>
	<author>
		<name>seam-commits mailing list</name>
	</author>
	<content type="html">Author: nico.ben
&lt;br&gt;Date: 2009-11-22 08:05:31 -0500 (Sun, 22 Nov 2009)
&lt;br&gt;New Revision: 11645
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp;branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;Log:
&lt;br&gt;Correct name &amp;quot;authenticate-method&amp;quot;
&lt;br&gt;&lt;br&gt;Modified: branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml
&lt;br&gt;===================================================================
&lt;br&gt;--- branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-21 20:16:05 UTC (rev 11644)
&lt;br&gt;+++ branches/community/Seam_2_2/doc/Seam_Reference_Guide/en-US/Security.xml	2009-11-22 13:05:31 UTC (rev 11645)
&lt;br&gt;@@ -1665,7 +1665,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;para&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If you are using the Identity Management features in your Seam application, then it is not required
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to provide an authenticator component (see previous Authentication section) to enable authentication.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Simply omit the &amp;lt;literal&amp;gt;authenticator-method&amp;lt;/literal&amp;gt; from the &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; configuration
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Simply omit the &amp;lt;literal&amp;gt;authenticate-method&amp;lt;/literal&amp;gt; from the &amp;lt;literal&amp;gt;identity&amp;lt;/literal&amp;gt; configuration
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in &amp;lt;literal&amp;gt;components.xml&amp;lt;/literal&amp;gt;, and the &amp;lt;literal&amp;gt;SeamLoginModule&amp;lt;/literal&amp;gt; will by default
&lt;br&gt;&amp;nbsp; &amp;nbsp; 