[seam-commits] Seam SVN: r11667 - tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Nov 24 02:06:18 EST 2009


Author: laubai
Date: 2009-11-24 02:06:18 -0500 (Tue, 24 Nov 2009)
New Revision: 11667

Modified:
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
   tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
Log:
Edited chapters for CP07.

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Conversations.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -15,29 +15,18 @@
     </para>
     
     <itemizedlist>
-        <listitem>
-        <para>
-            The idea of a <emphasis>workspace</emphasis>, which I 
-            encountered in a project for the Victorian government in 
-            2002. In this project I was forced to implement workspace 
-            management on top of Struts, an experience I pray never
-            to repeat.
+       <listitem>
+       <para>
+            The idea of a <emphasis>workspace</emphasis>.
         </para>
-        </listitem>
+        </listitem> 
         <listitem>
         <para>
             The idea of an <emphasis>application transaction</emphasis>
             with optimistic semantics, and the realization that existing
             frameworks based around a stateless architecture could not
             provide effective management of extended persistence contexts.
-            (The Hibernate team is truly fed up with copping the blame for
-            <literal>LazyInitializationException</literal>s, which are
-            not really Hibernate's fault, but rather the fault of the 
-            extremely limiting persistence context model supported by 
-            stateless architectures such as the Spring framework or the 
-            traditional <emphasis>stateless session facade</emphasis> 
-            (anti)pattern in J2EE.)
-        </para>
+          </para>
         </listitem>
         <listitem>
         <para>
@@ -49,7 +38,7 @@
     <para>
         By unifying these ideas and providing deep support in the framework, 
         we have a powerful construct that lets us build richer and more efficient 
-        applications with less code than before.
+        applications with less code.
     </para>
     
     <section>
@@ -170,7 +159,7 @@
 </h:commandLink>]]></programlisting>
 
         <para>
-            Note that disabling conversation context propagation is absolutely not the
+            Note that disabling conversation context propagation is not the
             same thing as ending the conversation.
         </para>
         
@@ -587,8 +576,8 @@
                </quote>
        		</para>
                <para>
-                  With a natural conversation its really easy to have the user
-                  rejoin the existing conversation, and pick up where they left 
+                  With a natural conversation it is easy to have the user
+                  rejoin the existing conversation and pick up where they left 
                   off - just have them to rejoin the payForItem conversation 
                   with the itemId as the conversation id.
                </para>
@@ -598,28 +587,20 @@
                </para>
                
                <para>
-                  For me this consists of a navigable 
-                  hierarchy (I can navigate by editing the url) and a meaningful
-                  URL (like this Wiki uses - so don't identify things by random 
-                  ids). For some applications user friendly URLs are less 
+                  This consists of a navigable 
+                  hierarchy (which can be navigated by editing the url) and a meaningful
+                  URL. For some applications user-friendly URLs are less 
                   important, of course.
                </para>
 
                <para>
-                  With a natural conversations, when you are building your hotel 
-                  booking system (or, of course, whatever your app is) you can 
-                  generate a URL like 
+                  With a natural conversations you can generate a URL like 
                   <literal>http://seam-hotels/book.seam?hotel=BestWesternAntwerpen</literal> 
                   (of course, whatever parameter <literal>hotel</literal> maps 
                   to on your domain model must be unique) and with URLRewrite 
                   easily transform this to 
                   http://seam-hotels/book/BestWesternAntwerpen.
                </para>
-               
-               <para>
-                  Much better!
-               </para> 
-           
        </section>
         <section>
             <title>Creating a natural conversation</title>        
@@ -692,7 +673,7 @@
     
             <para>
                 From here, we can see that invoking the action <literal>#{bidAction.placeBid}</literal>
-                from our auction view (by the way, all these examples are taken from the seamBay example in Seam),
+                from our auction view (all examples are taken from the seamBay example in Seam),
                 that we will be redirected to <literal>/bid.xhtml</literal>, which, as we saw previously,
                 is configured with the natural conversation <literal>PlaceBid</literal>.  The declaration for
                 our action method looks like this:                
@@ -749,7 +730,7 @@
                 Include one or more of the standard workspace switcher JSP
                 or facelets fragments in your pages. The standard fragments
                 support workspace management via a drop down menu, a list
-                of conversations, or breadcrumbs.
+                of conversations or breadcrumbs.
                 </para>
             </listitem>
         </itemizedlist>
@@ -782,7 +763,7 @@
             
            <para>
                Note that if this file is missing, the Seam application will
-               continue to work perfectly! The only missing functionality
+               continue to work. The only missing functionality
                will be the ability to switch workspaces.
            </para>
 
@@ -833,7 +814,7 @@
             <para>
                 Include the following fragment in your JSP or facelets page
                 to get a drop-down menu that lets you switch to any
-                current conversation, or to any other page of the application:
+                current conversation or to any other page of the application:
             </para>
             
             <programlisting role="XHTML"><![CDATA[<h:selectOneMenu value="#{switcher.conversationIdOrOutcome}">
@@ -953,8 +934,8 @@
 
         <para>
             Conversational components have one minor limitation: they cannot be used to hold bindings 
-            to JSF components. (We generally prefer not to use this feature of JSF unless absolutely
-            necessary, since it creates a hard dependency from application logic to the view.) On a 
+            to JSF components. It is best to not to use this feature unless absolutely necessary
+	    as it creates a hard dependency from application logic to the view. On a 
             postback request, component bindings are updated during the Restore View phase, 
             before the Seam conversation context has been restored.
         </para>
@@ -1029,21 +1010,19 @@
         Conversational components don't allow real concurrent access therefore
         Seam queues each request to process them serially.  This allows each
         request to be executed in a deterministic fashion. However, a simple
-        queue isn't that great &#8212; firstly, if a method is, for some
-        reason, taking a very long time to complete, running it over and over
-        again whenever the client generates a request is bad idea (potential
-        for Denial of Service attacks), and, secondly, AJAX is often to used
-        to provide a quick status update to the user, so continuing to run the
-        action after a long time isn't useful. 
+        queue is not optimal &#8212; firstly, if a method is taking a very long 
+        time to complete, running it repeatedly whenever the client generates a 
+	request creates the potential for Denial of Service attacks), and, 
+	secondly, AJAX is often to used to provide a quick status update to the 
+	user, so continuing to run the action after a long time is not effective. 
       </para>
       
       <para>
         Therefore, when you are working inside a long running conversation,
         Seam queues the action event for a period of time (the concurrent 
         request timeout); if it can't process the event in time, it creates a 
-        temporary conversation and prints out a message to the user to let them
-        know what's going on.  It's therefore very important not to flood the 
-        server with AJAX events!
+        temporary conversation and prints out a message to the user to inform them.
+	It is therefore important not to flood the server with AJAX events.
       </para>
       
       <para>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -907,7 +907,7 @@
 
   
   <para>
-    Maven offers support for transitive dependency management and can be used
+    <application>Maven</application> offers support for transitive dependency management and can be used
     to manage the dependencies of your Seam project.  You can use Maven Ant
     Tasks to integrate Maven into your Ant build, or can use Maven to build and
     deploy your project.
@@ -919,8 +919,8 @@
   </para> 
 
    <para>
-     Released versions of Seam are available in http://repository.jboss.org/maven2
-     and nightly snapshots are available in http://snapshots.jboss.org/maven2.
+     Released versions of Seam are available in <ulink type="http" url="http://repository.jboss.org/maven2"></ulink>
+     and nightly snapshots are available in <ulink type="http" url="http://snapshots.jboss.org/maven2"></ulink>.
    </para>
 
    <para>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Elenhancements.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -62,14 +62,14 @@
             are stored (for example, <literal>hotel.id</literal> and 
             <literal>user.username</literal>), and evaluated (as value 
             expressions) when the page is submitted. You can't pass objects as
-            parameters! 
+            parameters. 
          </para>
          
          <para>
             You must ensure that the parameters are available not only when the 
-            page is rendered, but also when it is submittedIf the arguments can 
+            page is rendered, but also when it is submitted. If the arguments can 
             not be resolved when the page is submitted the action method will be
-            called with <literal>null</literal> arguments! 
+            called with <literal>null</literal> arguments. 
          </para>
          
          <para>
@@ -173,8 +173,7 @@
                   types are passed in by JSF. In the case of a method binding, 
                   JSF assumes that there are no parameters to pass. With this
                   extension, we can't know the parameter types until after the 
-                  expression has been evaluated. This has two minor 
-                  consequences: 
+                  expression has been evaluated. This has two consequences: 
                </para>
                
                <itemizedlist>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Framework.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -51,8 +51,7 @@
 </framework:entity-home>]]></programlisting>
 
         <para>
-            If that looks a bit too much like "programming in XML" for 
-            your taste, you can use extension instead:
+            If you prefer, you can use extension instead:
         </para>
 
         <programlisting role="JAVA"><![CDATA[
@@ -68,8 +67,8 @@
 }]]></programlisting>
 
         <para>
-            The second approach has one huge advantage: you can easily add 
-            extra functionality, and override the built-in functionality
+            The second approach has the advantage of allowing you to easily add 
+            extra functionality and override the built-in functionality
             (the framework classes were carefully designed for extension
             and customization).
         </para>
@@ -183,9 +182,9 @@
 </h:form>]]></programlisting>
 
         <para>
-            Usually, it is much nicer to be able to refer to the <literal>Person</literal>
-            merely as <literal>person</literal>, so let's make that possible by adding a
-            line to <literal>components.xml</literal>:
+            Usually, it is preferable to be able to refer to the <literal>Person</literal>
+            merely as <literal>person</literal>. Adding a line to 
+            <literal>components.xml</literal> makes this possible:
         </para>
         
         <programlisting role="XML"><![CDATA[<factory name="person" 
@@ -262,8 +261,8 @@
         </para>
         
         <para>
-            Suppose we need to create <literal>Person</literal> entries with their
-            nationality initialized. We can do that easily, via configuration:
+            Should we need to create <literal>Person</literal> entries with their
+            nationality initialized, we can do so easily, via configuration:
         </para>
 
         <programlisting role="XML"><![CDATA[<factory name="person" 
@@ -391,14 +390,13 @@
 Person_updated=Person #{person.firstName} #{person.lastName} updated]]></programlisting>
 
         <para>
-            This enables internationalization, and keeps your code and configuration clean of
+            This enables internationalization and keeps your code and configuration clean of
             presentation concerns.
         </para>
 
         <para>
-            The final step is to add validation functionality to the page, using
-            <literal>&lt;s:validateAll&gt;</literal> and <literal>&lt;s:decorate&gt;</literal>,
-            but I'll leave that for you to figure out.
+            The final step is to add validation functionality to the page using
+            <literal>&lt;s:validateAll&gt;</literal> and <literal>&lt;s:decorate&gt;</literal>.
         </para>
 
     </section>
@@ -593,10 +591,6 @@
 
 }]]></programlisting>
 
-        <para>
-            As you can see, its not an earthshattering improvement...
-        </para>
-
     </section>
     
-</chapter>
\ No newline at end of file
+</chapter>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Getting_Started_With_JBoss_Tools.xml
===================================================================
--- 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)
+++ 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)
@@ -13,10 +13,6 @@
    </para>
 
    <para>
-      In short, if you are an Eclipse user, then you'll want JBoss Tools!
-   </para>
-
-   <para>
       JBoss Tools, as with seam-gen, works best with JBoss AS, but it's possible
       with a few tweaks to get your app running on other application servers.
       The changes are much like those described for seam-gen later in this
@@ -57,9 +53,7 @@
 
       <para>
          First, enter a name for your new project. For this tutorial, we're
-         going to use
-         <literal>helloworld</literal>
-         .
+         going to use <literal>helloworld</literal>.
       </para>
 
 
@@ -299,7 +293,7 @@
       
       <para>
          Finally, review the package names for your generated beans, and if you
-         are happy, click <emphasis>Finish</emphasis>:
+         are satisfied, click <emphasis>Finish</emphasis>:
       </para>
       
       <mediaobject>
@@ -367,11 +361,11 @@
          </imageobject>
       </mediaobject>
 
-      <para>
+<!--      <para>
          If you don't want to bother with this stuff now, you don't have to—come
          back to it later, when you get your first
          <literal>OutOfMemoryException</literal>.
-      </para>
+      </para> -->
 
       <para>
          To start JBoss, and deploy the project, just right click on the server
@@ -391,10 +385,9 @@
       </mediaobject>
 
       <para>
-         Don't get scared by the XML configuration documents that were generated
-         into the project directory. They are mostly standard Java EE stuff, the
-         stuff you need to create once and then never look at again, and they
-         are 90% the same between all Seam projects.
+         The XML configuration documents generated in the project directory are 
+	predominately standard Java EE. They are 90% the same between all Seam 
+	projects.
       </para>
 
    </section>
@@ -560,10 +553,9 @@
       
       <para>
          Then go to <literal>http://localhost:8080/helloworld</literal>. You can
-         browse the database, edit existing objects, and create new objects. If 
-         you look at the generated code, you'll probably be amazed how simple it
-         is! Seam was designed so that data access code is easy to write by 
-         hand, even for people who don't want to cheat by using reverse
+         browse the database, edit existing objects, and create new objects. 
+	Seam was designed so that data access code is easy to write by 
+         hand, even for people who don't want to use reverse
          engineering.
       </para>
    </section>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -4,21 +4,17 @@
 <chapter id="gettingstarted">
     <title>Getting started with Seam, using seam-gen</title>
 
-    <para>The Seam distribution includes a command line utility that makes it really easy to set up an Eclipse project,
-        generate some simple Seam skeleton code, and reverse engineer an application from a preexisting database.</para>
+    <para>The Seam distribution includes a command line utility that makes it easy to set up an Eclipse project,
+        generate some simple Seam skeleton code and reverse engineer an application from a preexisting database.</para>
 
-    <para>This is the easy way to get your feet wet with Seam, and gives you some ammunition for next time you find
-        yourself trapped in an elevator with one of those tedious Ruby guys ranting about how great and wonderful his
-        new toy is for building totally trivial applications that put things in databases.</para>
-
-    <para>In this release, seam-gen works best for people with JBoss AS. You can use the generated project with other
+      <para>In this release, seam-gen works best for people with JBoss AS. You can use the generated project with other
         J2EE or Java EE 5 application servers by making a few manual changes to the project configuration.</para>
 
     <para>You <emphasis>can</emphasis> use seam-gen without Eclipse, but in this tutorial, we want to show you how to
         use it in conjunction with Eclipse for debugging and integration testing. If you don't want to install Eclipse,
         you can still follow along with this tutorial—all steps can be performed from the command line.</para>
 
-    <para>Seam-gen is basically just a big ugly Ant script wrapped around Hibernate Tools, together with some templates.
+    <para>Seam-gen is basically just an Ant script wrapped around Hibernate Tools together with some templates.
         That makes it easy to customize if you need to.</para>
 
     <section>
@@ -44,8 +40,6 @@
         <para>If you're running JBoss from the command line, you can configure the JVM options in
             <literal>bin/run.conf</literal>.</para>
 
-        <para>If you don't want to bother with this stuff now, you don't have to—come back to it later, when you get
-            your first <literal>OutOfMemoryException</literal>.</para>
     </section>
 
     <section>
@@ -166,9 +160,11 @@
             You can edit this page, or the template, in eclipse, and see the results <emphasis>immediately</emphasis>,
             by clicking refresh in your browser.</para>
 
-        <para>Don't get scared by the XML configuration documents that were generated into the project directory. They
-            are mostly standard Java EE stuff, the stuff you need to create once and then never look at again, and they
-            are 90% the same between all Seam projects. (They are so easy to write that even seam-gen can do it.)</para>
+       <para>
+         The XML configuration documents generated in the project directory are 
+	predominately standard Java EE. They are 90% the same between all Seam 
+	projects.
+      </para>
 
         <para>The generated project includes three database and persistence configurations. The
             <literal>persistence-test.xml</literal> and
@@ -360,7 +356,7 @@
             this may be accomplished by touching the top level deployment descriptor: <literal>application.xml</literal>
             for an EAR deployment, or <literal>web.xml</literal> for a WAR deployment.)</para>
 
-        <para>But if you really want a fast edit/compile/test cycle, Seam supports incremental redeployment of JavaBean
+        <para>If you want a fast edit/compile/test cycle, Seam supports incremental redeployment of JavaBean
             components. To make use of this functionality, you must deploy the JavaBean components into the
                 <literal>WEB-INF/dev</literal> directory, so that they will be loaded by a special Seam classloader,
             instead of by the WAR or EAR classloader.</para>
@@ -369,8 +365,8 @@
 
         <itemizedlist>
             <listitem>
-                <para>the components must be JavaBean components, they cannot be EJB3 beans (we are working on fixing
-                    this limitation)</para>
+                <para>the components must be JavaBean components, they cannot be EJB3 beans.
+		(This limitation is being worked on.)</para>
             </listitem>
 
             <listitem>

Modified: tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml
===================================================================
--- tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 06:41:27 UTC (rev 11666)
+++ tags/JBPAPP_4_3_CP07_FP_CR1a/doc/Seam_Reference_Guide/en-US/Remoting.xml	2009-11-24 07:06:18 UTC (rev 11667)
@@ -3,11 +3,9 @@
 
 <chapter id="remoting">
   <title>Remoting</title>
-  <para> Seam provides a convenient method of remotely accessing components from a web page, using AJAX (Asynchronous
-    Javascript and XML). The framework for this functionality is provided with almost no up-front development effort -
-    your components only require simple annotating to become accessible via AJAX. This chapter describes the steps
-    required to build an AJAX-enabled web page, then goes on to explain the features of the Seam Remoting framework in
-    more detail. </para>
+  <para> 
+    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. 
+  </para>
 
   <section>
     <title>Configuration</title>
@@ -114,15 +112,13 @@
    // ]]>]]&gt;<![CDATA[
 </script>]]></programlisting>
 
-      <para> We're done! Deploy your application and browse to your page. Click the button, and enter a name when
-        prompted. A message box will display the hello message confirming that the call was successful. If you want to
-        save some time, you'll find the full source code for this Hello World example in Seam's
-          <literal>/examples/remoting/helloworld</literal> directory. </para>
+      <para> 
+        Now deploy your application and browse to your page. Click the button, and enter a name when prompted. A message box will display the "Hello" message, confirming the call's success. (You can find the full source code for this Hello World example in Seam's <filename>/examples/remoting/helloworld</filename> directory.) 
+      </para>
 
-      <para> So what does the code of our script actually do? Let's break it down into smaller pieces. To start with,
-        you can see from the Javascript code listing that we have implemented two methods - the first method is
-        responsible for prompting the user for their name and then making a remote request. Take a look at the following
-        line: </para>
+      <para> 
+        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:
+      </para>
 
       <programlisting role="XHTML">Seam.Component.getInstance("helloAction").sayHello(name, sayHelloCallback);</programlisting>
 
@@ -131,16 +127,13 @@
         against this stub, which is exactly what happens with the remainder of the line: <literal>sayHello(name,
           sayHelloCallback);</literal>. </para>
 
-      <para> What this line of code in its completeness does, is invoke the <literal>sayHello</literal> method of our
-        component, passing in <literal>name</literal> as a parameter. The second parameter,
-        <literal>sayHelloCallback</literal> isn't a parameter of our component's <literal>sayHello</literal> method,
-        instead it tells the Seam Remoting framework that once it receives the response to our request, it should pass
-        it to the <literal>sayHelloCallback</literal> Javascript method. This callback parameter is entirely optional,
-        so feel free to leave it out if you're calling a method with a <literal>void</literal> return type or if you
-        don't care about the result. </para>
+      <para> 
+        The whole line invokes the <literal>sayHello</literal> method of our component, passing in name as a parameter. The second parameter, <literal>sayHelloCallback</literal>, is not a parameter of our component's <literal>sayHello</literal> method — it tells the Seam Remoting framework that, once a response to the request is received, the response should be passed to the <literal>sayHelloCallback</literal> 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.) 
+      </para>
 
-      <para> The <literal>sayHelloCallback</literal> method, once receiving the response to our remote request then pops
-        up an alert message displaying the result of our method call. </para>
+      <para> 
+        When the sayHelloCallback method receives the response to our remote request, it displays an alert message with the result of our method call. 
+      </para>
 
     </section>
 
@@ -243,10 +236,9 @@
       <section>
         <title>Seam.Remoting.createType()</title>
 
-        <para> If your application contains or uses Javabean classes that aren't Seam components, you may need to create
-          these types on the client side to pass as parameters into your component method. Use the
-          <literal>createType()</literal> method to create an instance of your type. Pass in the fully qualified Java
-          class name as a parameter: </para>
+        <para> 
+          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 <methodname>createType()</methodname> method to create an instance of your type. Pass in the fully-qualified Java class name as a parameter: 
+        </para>
 
         <programlisting role="XHTML">var widget = Seam.Remoting.createType("com.acme.widgets.MyWidget");</programlisting>
       </section>
@@ -313,12 +305,9 @@
       stubs are behavioural, and are used to execute methods against your session bean components, while type stubs
       contain state and represent the types that can be passed in as parameters or returned as a result. </para>
 
-    <para> The type of client stub that is generated depends on the type of your Seam component. If the component is a
-      session bean, then an executable stub will be generated, otherwise if it's an entity or JavaBean, then a type stub
-      will be generated. There is one exception to this rule; if your component is a JavaBean (ie it is not a session
-      bean nor an entity bean) and any of its methods are annotated with @WebRemote, then an executable stub will be
-      generated for it instead of a type stub. This allows you to use remoting to call methods of your JavaBean
-      components in a non-EJB environment where you don't have access to session beans. </para>
+    <para> 
+      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 <literal>@WebRemote</literal>, 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. 
+    </para>
 
   </section>
 
@@ -337,19 +326,16 @@
       call <literal>Seam.Remoting.getContext().getConversationId()</literal>. To set the conversation ID before making a
       request, call <literal>Seam.Remoting.getContext().setConversationId()</literal>. </para>
 
-    <para> If the conversation ID hasn't been explicitly set with
-        <literal>Seam.Remoting.getContext().setConversationId()</literal>, then it will be automatically assigned the
-      first valid conversation ID that is returned by any remoting call. If you are working with multiple conversations
-      within your page, then you may need to explicitly set the conversation ID before each call. If you are working
-      with just a single conversation, then you don't need to do anything special. </para>
+    <para> 
+      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. 
+    </para>
     </section>      
     <section>
       <title>Remote calls within the current conversation scope</title>
       
-      <para> In some circumstances it may be required to make a remote call within the scope of the
-        current view's conversation.  To do this, you must explicitly set the conversation ID to that
-        of the view before making the remote call.  This small snippet of JavaScript will set the
-        conversation ID that is used for remoting calls to the current view's conversation ID: </para>
+      <para> 
+        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:
+      </para>
         
       <programlisting role="XHTML"><![CDATA[Seam.Remoting.getContext().setConversationId( #{conversation.id} );]]></programlisting>
     </section>



More information about the seam-commits mailing list