[seam-commits] Seam SVN: r8353 - branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Mon Jun 9 09:12:17 EDT 2008


Author: manaRH
Date: 2008-06-09 09:12:16 -0400 (Mon, 09 Jun 2008)
New Revision: 8353

Removed:
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Websphere.xml
Modified:
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml
   branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/master.xml
Log:
removed unsupported documentation parts, added tech preview notes

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Configuration.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -957,6 +957,11 @@
            <ulink url="http://labs.jboss.com/portletbridge">http://labs.jboss.com/portletbridge</ulink>
            for more.
         </para>
+        
+        <note>
+        	<title>Technology preview </title>    
+    		<para>Seam Integration with JBoss Portlet Bridge is marked as technology preview, so standard support is not guaranteed.</para>     
+    	</note>
 
     </sect1>
 

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Dependencies.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -694,6 +694,11 @@
         These libraries are required if you with to use the Google Web Toolkit (GWT) with your Seam application.
       </para>
       
+      <note>
+        <title>Technology preview </title>    
+    	<para>GWT in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+      </note>
+      
       <table>
         <title>GWT dependencies</title>
      
@@ -749,6 +754,11 @@
         These libraries are required if you with to use the Spring Framework with your Seam application.
       </para>
       
+      <note>
+        <title>Technology preview </title>    
+    	<para>Spring integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+      </note>
+      
       <table>
         <title>Spring Framework dependencies</title>
      
@@ -804,6 +814,11 @@
         These libraries are required if you with to use Groovy with your Seam application.
       </para>
       
+      <note>
+        <title>Technology preview </title>    
+    	<para>Groovy integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+      </note>
+      
       <table>
         <title>Groovy dependencies</title>
      

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Groovy.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -16,6 +16,11 @@
         and dynamic languages. JBoss Seam lets the application developer use the best tool for the task, without context
         switching. Writing dynamic Seam components is exactly like writing regular Seam components. You use the same
         annotations, the same APIs, the same everything.</para>
+        
+    <note>
+        <title>Technology preview </title>    
+    	<para>Groovy integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+    </note>
 
     <section>
         <title id="groovy-intro">Groovy introduction</title>

Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Gwt.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-
-<chapter id="gwt">
-  <title>Seam and the Google Web Toolkit</title>
-
-  <para>
-    For those that prefer to use the Google Web Toolkit (GWT) to develop dynamic AJAX applications, Seam provides
-    an integration layer that allows GWT widgets to interact directly with Seam components.
-  </para>
-  
-  <para>
-    To use GWT, we assume that you are already familiar with the GWT tools - more information can be found at
-    <ulink url="http://code.google.com/webtoolkit/">http://code.google.com/webtoolkit/</ulink>.  This chapter 
-    does not attempt to explain how GWT works or how to use it.
-  </para>
-  
-  <section>
-    <title>Configuration</title>
-    
-    <para>
-      There is no special configuration required to use GWT in a Seam application, however the Seam resource servlet 
-      must be installed.  See <xref linkend="configuration"/> for details.
-    </para>
-  
-  </section>
-  
-  <section>
-    <title>Preparing your component</title>
-    
-    <para>
-      The first step in preparing a Seam component to be called via GWT, is to create both synchronous and
-      asynchronous service interfaces for the methods you wish to call.  Both of these interfaces should extend the
-      GWT interface <literal>com.google.gwt.user.client.rpc.RemoteService</literal>:
-    </para> 
-  
-    <programlisting role="JAVA"><![CDATA[public interface MyService extends RemoteService {
-    public String askIt(String question);      
- }]]></programlisting>
-  
-    <para>
-      The asynchronous interface should be identical, except that it also contains an additional 
-      <literal>AsyncCallback</literal> parameter for each of the methods it declares:    
-    </para>
-    
-    <programlisting role="JAVA"><![CDATA[public interface MyServiceAsync extends RemoteService {
-   public void askIt(String question, AsyncCallback callback);
-}]]></programlisting>
-
-    <para>
-      The asynchronous interface, in this example <literal>MyServiceAsync</literal>, will be implemented by GWT and
-      should never be implemented directly.
-    </para>
-    
-    <para>
-      The next step, is to create a Seam component that implements the synchronous interface:
-    </para>
-    
-    <programlisting role="JAVA"><![CDATA[@Name("org.jboss.seam.example.remoting.gwt.client.MyService")
-public class ServiceImpl implements MyService {
-
-   @WebRemote
-   public String askIt(String question) {
-   
-      if (!validate(question)) {
-         throw new IllegalStateException("Hey, this shouldn't happen, I checked on the client, " +
-         "but its always good to double check.");
-      }
-      return "42. Its the real question that you seek now.";
-   }
-   
-   public boolean validate(String q) {
-      ValidationUtility util = new ValidationUtility();
-      return util.isValid(q);
-   }
-}]]></programlisting>
-
-    <para>
-      The methods that should be made accessible via GWT need to be annotated with the 
-      <literal>@WebRemote</literal> annotation, which is required for all web-remoteable methods.
-    </para>
-  </section>
-  
-  <section>
-    <title>Hooking up a GWT widget to the Seam component</title>
-    
-    <para>
-      The next step, is to write a method that returns the asynchronous interface to the component.  This method
-      can be located inside the widget class, and will be used by the widget to obtain a reference to the
-      asynchronous client stub:
-    </para>
-    
-    <programlisting role="JAVA"><![CDATA[private MyServiceAsync getService() {       
-   String endpointURL = GWT.getModuleBaseURL() + "seam/resource/gwt";      
-      
-   MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);
-   ((ServiceDefTarget) svc).setServiceEntryPoint(endpointURL);
-   return svc;     
-}]]></programlisting>
-   
-    <para>
-       The final step is to write the widget code that invokes the method on the client stub.  The following example
-       creates a simple user interface with a label, text input and a button:
-    </para>
-    
-    <programlisting role="JAVA"><![CDATA[
-public class AskQuestionWidget extends Composite {
-   private AbsolutePanel panel = new AbsolutePanel();
-   
-   public AskQuestionWidget() {      
-      Label lbl = new Label("OK, what do you want to know?");
-      panel.add(lbl);
-      final TextBox box = new TextBox();
-      box.setText("What is the meaning of life?");
-      panel.add(box);
-      Button ok = new Button("Ask");
-      ok.addClickListener(new ClickListener() {
-         public void onClick(Widget w) {
-            ValidationUtility valid = new ValidationUtility();
-            if (!valid.isValid(box.getText())) {
-               Window.alert("A question has to end with a '?'");
-            } else {
-               askServer(box.getText());
-            } 
-         }
-      });
-      panel.add(ok);
-      
-      initWidget(panel);
-   }
-
-   private void askServer(String text) {
-      getService().askIt(text, new AsyncCallback() {
-         public void onFailure(Throwable t) {
-            Window.alert(t.getMessage());
-         }
-
-         public void onSuccess(Object data) {
-            Window.alert((String) data);
-         }         
-      });      
-   }
-   
-   ...]]></programlisting>
-    
-    
-    <para>
-      When clicked, the button invokes the <literal>askServer()</literal> method passing the contents of the input text (in this
-      example, validation is also performed to ensure that the input is a valid question).  The <literal>askServer()</literal>
-      method acquires a reference to the asynchronous client stub (returned by the <literal>getService()</literal> method)
-      and invokes the <literal>askIt()</literal> method.  The result (or error message if the call fails) is shown in an alert window.      
-    </para>
-    
-    <mediaobject>
-      <imageobject role="fo">
-        <imagedata fileref="images/gwt-helloworld.png" align="center" scalefit="1"/>
-      </imageobject>
-      <imageobject role="html">
-        <imagedata fileref="images/gwt-helloworld.png" align="center"/>
-      </imageobject>
-    </mediaobject>    
-    
-    
-    <para>
-      The complete code for this example can be found in the Seam distribution in the <literal>examples/remoting/gwt</literal>
-      directory.
-    </para>
-  </section>
-  
-  <section>
-    <title>GWT Ant Targets</title>
-  
-    <para>
-      For deployment of GWT apps, there is a compile-to-Javascript step (which compacts and obfuscates the code).  There is an
-      ant utility which can be used instead of the command line or GUI utility that GWT provides.  To use this, you will need
-      to have the ant task jar in your ant classpath, as well as GWT downloaded (which you will need for hosted mode anyway).
-    </para>
-    
-    <para>
-      Then, in your ant file, place (near the top of your ant file):
-    </para>
-    
-    <programlisting role="XML"><![CDATA[<taskdef uri="antlib:de.samaflost.gwttasks"
-   resource="de/samaflost/gwttasks/antlib.xml"
-   classpath="./lib/gwttasks.jar"/>
-   
-   <property file="build.properties"/>]]></programlisting>
-  
-    <para>
-      Create a <literal>build.properties</literal> file, which has the contents:
-    </para>
-    
-    <programlisting><![CDATA[gwt.home=/gwt_home_dir]]></programlisting>
-    
-    <para>
-      This of course should point to the directory where GWT is installed.  Then to use it, create a target:
-    </para>
-    
-    <programlisting role="XML"><![CDATA[<!-- the following are are handy utilities for doing GWT development.
-   To use GWT, you will of course need to download GWT seperately -->
-   <target name="gwt-compile">
-      <!-- in this case, we are "re homing" the gwt generated stuff, so in this case
-      we can only have one GWT module - we are doing this deliberately to keep the URL short -->
-      <delete>
-         <fileset dir="view"/>
-      </delete>
-      <gwt:compile outDir="build/gwt"
-         gwtHome="${gwt.home}"
-         classBase="${gwt.module.name}"
-         sourceclasspath="src"/>
-      <copy todir="view">
-         <fileset dir="build/gwt/${gwt.module.name}"/>
-      </copy>
-   </target>]]></programlisting>
-  
-    <para>
-      This target when called will compile the GWT application, and copy it to the specified directory (which would be
-      in the <literal>webapp</literal> part of your war - remember GWT generates HTML and Javascript artifacts).  You
-      never edit the resulting code that <literal>gwt-compile</literal> generates - you always edit in the GWT source
-      directory.
-    </para>
-    
-    <para>
-      Remember that GWT comes with a hosted mode browser - you should be using that if you are developing with GWT.  If you
-      aren't using that, and are just compiling it each time, you aren't getting the most out of the toolkit (in fact, if
-      you can't or won't use the hosted mode browser, I would go far as to say you should NOT be using GWT at all - it's
-      that valuable!).
-    </para>
-    
-  </section>
-</chapter>

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Mail.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -334,6 +334,12 @@
       version of JBoss AS you use already has this file, replace it.
     </para>
     
+    <note>
+        <title>Technology preview </title>    
+    	<para>Distributed mail-ra.rar in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+    </note>
+         
+    
     <para>
       You can configure it like this:
     </para>

Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Oc4j.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,1161 +0,0 @@
-<chapter id="oc4j">
-   <title>Seam on OC4J</title>
-   
-   <para> OC4J (Oracle Containers for Java) 11g (currently a "Technology
-      Preview" release) is Oracle's JEE5 application server. Seam application
-      can be deployed to OC4J, but require some additional configuration
-      changes, and dependencies. This chapter will show you exactly what must be
-      done. We will start by looking at the building and deploying the JEE5 Hotel
-      Booking example application which comes with Seam. Then we will deploy a
-      project generated by <literal>seam-gen</literal> . First a basic
-      <literal>seam-gen</literal> application with RichFaces ajax
-      components, and facelets. Then expand that application to include Seam
-      security with Drools, JPA provided with hibernate, and automatic CRUD
-      reverse engineering of a MySQL database. </para>
-   
-   <section id="oc4j-install-operation">
-      <title>Installation and operation of OC4J</title>
-      <para> First we need to install the target container - OC4j. This chapter
-         requires you to use OC4J 11g Technology Preview (not OC4J 10g). You can
-         download OC4J 11g from <ulink
-            url="http://www.oracle.com/technology/tech/java/oc4j/11/">
-         http://www.oracle.com/technology/tech/java/oc4j/11/ </ulink>
-         Below are instructions to install. launch, access, and shutdown the 11g
-         release. For further information on installing OC4J, consult the
-         <literal>readme.txt</literal> distributed with OC4J, or the OC4J
-         installation guide and release notes.
-         <orderedlist>
-            <listitem>
-               <para>Download and unzip OC4J</para>
-            </listitem>
-            <listitem>
-               <para> Make sure you have <literal>$JAVA_HOME</literal> and
-                  <literal>$ORACLE_HOME</literal> set as environment
-                  variables ( <literal>$ORACLE_HOME</literal> is the
-                  directory to which you unzip OC4J). For further information
-                  on installing OC4J, consult the
-                  <literal>readme.txt</literal> distributed with OC4J
-                  </para>
-            </listitem>
-            <listitem>
-               <para> Applications (ear/war) are deployed to the
-                  <literal>$ORACLE_HOME/j2ee/home/applications</literal>
-                  directory. </para>
-               <para> Note that OC4J does not support hot deployment by default.
-                  This means every time you deploy the application you must
-                  restart the server. </para>
-            </listitem>
-            <listitem>
-               <para> Start OC4J: <literal> $ORACLE_HOME/j2ee/home/java
-                  -jar -XX:MaxPermSize=256M oc4j.jar </literal> </para>
-               <para> You must override the default PermGen memory settings
-                  using above command. See <ulink
-                     url="http://www.oracle.com/technology/tech/java/oc4j/11/oc4j-relnotes.html">
-                  OC4J release notes </ulink> for details. </para>
-               <para> You will be asked to set the admin password if this is the
-                  first time you have started OC4J </para>
-            </listitem>
-            <listitem>
-               <para> Once deployed you can check out your applications at
-                  <literal>http://localhost:8888/&lt;your-app-path&gt;</literal>
-                  </para>
-            </listitem>
-            <listitem>
-               <para> You can stop the server by pressing
-                  <literal>CTRL-C</literal> in the console on which the
-                  server is running. </para>
-            </listitem>
-         </orderedlist> </para>
-   </section>
-   
-   <section>
-      <title> The <literal>jee5/booking</literal> example </title>
-      
-      <para> The <literal>jee5/booking</literal> example is based on the Hotel
-         Booking example (which runs on JBoss AS). Out of the box it is designed to
-         run on Glassfish, but it's easy to build it for OC4J. It is located in the
-         <literal>$SEAM_DIST/examples/jee5/booking</literal> directory.
-         </para>
-      
-      <section>
-         <title>Booking Example Dependencies</title>
-         
-         <para> First, lets look at the basic dependencies of the booking
-            example. Armed with this knowledge we can look at the extra
-            dependencies requirements that OC4J adds. </para>
-         
-         <para> We will show you how to get these dependencies into the
-            application in <xref linkend="oc4j-build-jee5"/> below. </para>
-         <section>
-            <title>Core Seam dependencies</title>
-            <itemizedlist>
-               <listitem>
-                  <simpara><literal>jboss-seam.jar</literal> &#8212; We
-                     declare this as an EJB3 module (why? well Seam needs to be
-                     able to interact with container managed transactions;
-                     this is implemented as an EJB3 Stateful Session Bean)
-                     </simpara>
-               </listitem>
-               <listitem>
-                  <simpara> <literal>jboss-el.jar</literal> </simpara>
-               </listitem>
-               <listitem>
-                  <simpara><literal>jboss-seam-ui.jar</literal> &#8212;
-                     Seam's JSF controls depend on Apache's
-                     commons-beanutils</simpara>
-               </listitem>
-               <listitem>
-                  <simpara> <literal>jboss-seam-debug.jar</literal>
-                     </simpara>
-               </listitem>
-               <listitem>
-                  <simpara> <literal>jsf-facelets.jar</literal>
-                     </simpara>
-               </listitem>
-               <listitem>
-                  <simpara> <literal>richfaces-api.jar</literal> ,
-                     <literal>richfaces-impl.jar</literal> and
-                     <literal>richfaces-ui.jar</literal> &#8212; which
-                     requires Apache commons-digester and
-                     commons-beanutils </simpara>
-               </listitem>
-            </itemizedlist>
-         </section>
-         
-         <section>
-            <title>Extra dependencies</title>
-            <itemizedlist>
-               <listitem>
-                  <para> Hibernate &#8212; of course, we decided to use
-                     Hibernate as the JPA provider (rather than TopLink
-                     Essentials which ships with OC4J). </para>
-                  <para> To use Hibernate as your JPA provider you need the
-                     following jars:
-                     <itemizedlist>
-                        <listitem>
-                           <simpara> <literal>hibernate.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>hibernate-annotations.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>hibernate-entitymanager.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>hibernate-validator.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>jboss-common-core.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>commons-logging.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>commons-collections.jar</literal>
-                              </simpara>
-                        </listitem>
-                     </itemizedlist> </para>
-               </listitem>
-               <listitem>
-                  <para> Third party jars &#8212; various jars needed for seam
-                     and this example to run.
-                     <itemizedlist>
-                        <listitem>
-                           <simpara> <literal>javaasist.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>dom4j.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>cglib.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>asm.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>commons-beanutils.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>commons-digester.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara><literal>log4j.jar</literal>
-                              &#8212; This can be left out if you are not going
-                              to configure log4j. If it is packaged but not
-                              configured logging will be hidden in oc4j.
-                              </simpara>
-                        </listitem>
-                     </itemizedlist> </para>
-               </listitem>
-               <listitem>
-                  <para> Extra OC4J jars &#8212; Running Seam on most
-                     application servers (such as JBoss AS or Glassfish) you
-                     only need to include the dependencies for those bits of
-                     Seam you actually use (e.g. if you use Seam Text you need to
-                     include ANTLR); but, on OC4J, due to its "interesting"
-                     classloading you must always include them:
-                     <itemizedlist>
-                        <listitem>
-                           <simpara>
-                              <literal>hibernate-search.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>hibernate-common-annotations.jar</literal>
-                              &#8212; needed for hibernate search
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>lucene-core.jar</literal>
-                              &#8212; needed for hibernate search
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>antlr.jar</literal>
-                              &#8212; needed for Seam Text </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>jbpm-jpdl.jar</literal>
-                              &#8212; needed for Seam's JBPM </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>quartz.jar</literal>
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara> <literal>dbunit.jar</literal>
-                              &#8212; needed for some testing classes
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <simpara>
-                              <literal>jboss-embedded-api.jar</literal>
-                              &#8212; needed for some testing classes
-                              </simpara>
-                        </listitem>
-                        <listitem>
-                           <para> Drools &#8212; needed for Seam Security. We
-                              aren't using Seam security with Drools, but
-                              have to include it. Drools consists of 6 jars:
-                              <itemizedlist>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>drools-core.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>drools-compiler.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>janino.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>mvel141.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>core.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                                 <listitem>
-                                    <simpara>
-                                       <literal>antlr-runtime.jar</literal>
-                                       </simpara>
-                                 </listitem>
-                              </itemizedlist> Drools integration is not
-                              used in the example. </para>
-                        </listitem>
-                     </itemizedlist> </para>
-               </listitem>
-            </itemizedlist>
-         </section>
-      </section>
-      
-      <section>
-         <title>Configuration file changes</title>
-         
-         <para>There are just a few changes to be made:</para>
-         <variablelist>
-            <varlistentry>
-               <term> <literal>web.xml</literal>
-               </term>
-               <listitem>
-                  <para> You need to declare all your ejb's in the
-                     <literal>web.xml</literal> . This is a silly
-                     requirement of a number of JEE5 application servers - for
-                     example OC4J and Glassfish. </para>
-                  <para> This is already done in the example's web.xml file,
-                     below is an example. </para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<ejb-local-ref>
-   <ejb-ref-name>
-      jboss-seam-jee5/AuthenticatorAction/local
-   </ejb-ref-name>
-   <ejb-ref-type>Session</ejb-ref-type>
-   <local>
-      org.jboss.seam.example.booking.Authenticator
-   </local>
-   <ejb-link>AuthenticatorAction</ejb-link>
-</ejb-local-ref>]]></programlisting>
-               </listitem>
-            </varlistentry>
-            <varlistentry>
-               <term> <literal>persistence.xml</literal>
-               </term>
-               <listitem>
-                  <para> You need to provide the correct configuration for your
-                     JPA implementation. We are using Hibernate and due to OC4J
-                     bundling an old ANTLR, we need to use an alternative query
-                     factory, we also want to use the OC4J transaction manager:
-                     </para>
-                  <para> For our example modify the
-                     <literal>resources/META-INF/persistence.xml</literal>
-                     file. Comment out the Glassfish properties and
-                     un-comment the OC4J properties. </para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<property name="hibernate.dialect" 
-   value="org.hibernate.dialect.HSQLDialect"/>
-<property name="hibernate.query.factory_class" 
-   value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
-<property name="hibernate.transaction.manager_lookup_class" 
-   value="org.hibernate.transaction.OrionTransactionManagerLookup"/>]]></programlisting>
-               </listitem>
-            </varlistentry>
-         </variablelist>
-         
-      </section>
-      
-      <section id="oc4j-build-jee5">
-         <title> Building the <literal>jee5/booking</literal> example
-            </title>
-         
-         <orderedlist>
-            <listitem>
-               <para> Modify the <literal>build.xml</literal> file in the
-                  example: </para>
-               <itemizedlist>
-                  <listitem>
-                     <para> Un-comment the labeled OC4J-related library
-                        properties. This will include all the extra
-                        dependencies discussed above. </para>
-                     <para>It should look like the following:</para>
-                     
-                     
-                     <programlisting role="XML"><![CDATA[<!-- add libs for oc4j (eager classloading) -->
-<property name="jbpm.lib" value="true"/>
-<property name="drools.lib" value="true"/>
-<property name="quartz.lib" value="true" />
-<property name="search.lib" value="true" />
-<property name="dbunit.lib" value="true" />
-<property name="jboss-embedded-api.lib" value="true" />
-    ]]></programlisting>
-                  </listitem>
-               </itemizedlist>
-            </listitem>
-            <listitem>
-               <para> Build the demo app by running <literal>ant</literal> in
-                  the <literal>examples/jee5/booking</literal>
-                  directory. The build target is
-                  <literal>dist/jboss-seam-jee5.ear</literal> </para>
-            </listitem>
-            <listitem>
-               <para> Copy <literal>dist/jboss-seam-jee5.ear</literal>
-                  following the instructions below. </para>
-            </listitem>
-         </orderedlist>
-      </section>
-   </section>
-   
-   <section id="oc4j-app-deploy">
-      <title>Deploying the Seam application to OC4J</title>
-      <para> This mini-tutorial describes the (fairly tedious) steps required
-         to deploy a JEE 5 application to OC4J. It assumes you have already
-         downloaded and installed it following the instructions in <xref
-            linkend="oc4j-install-operation"/>. It also assumes you are
-         deploying the <literal>jee5/booking</literal> example, using the
-         embedded hsqldb database. To deploy another application you would need
-         to alter the datasource and application name. </para>
-      <orderedlist>
-         <listitem>
-            <para> Copy <literal>hsqldb.jar</literal> to OC4J shared library
-               directory: <literal> cp ../../seam-gen/lib/hsqldb.jar
-               $ORACLE_HOME/j2ee/home/applib/ </literal> (OC4J doesn't
-               come with an embedded database so we decided to use HSQLDB)
-               </para>
-         </listitem>
-         <listitem>
-            <para> Edit the OC4J datasource file
-               <literal>$ORACLE_HOME/j2ee/home/config/data-sources.xml</literal>
-               and, inside <literal>&lt;data-sources&gt;</literal> , add
-               </para>
-            
-            
-            <programlisting role="XML"><![CDATA[<managed-data-source
-   connection-pool-name="jee5-connection-pool"
-   jndi-name="jdbc/__default"
-   name="jee5-managed-data-source" />
-<connection-pool name="jee5-connection-pool">
-   <connection-factory
-      factory-class="org.hsqldb.jdbcDriver" 
-      user="sa"
-      password="" 
-      url="jdbc:hsqldb:." />
-</connection-pool>]]></programlisting>
-            
-            <para> The <literal>jndi-name</literal> is used as the
-               <literal>jta-data-source</literal> in
-               <literal>persistence.xml</literal> . </para>
-         </listitem>
-         <listitem>
-            <para> Edit
-               <literal>$ORACLE_HOME/j2ee/home/config/server.xml</literal>
-               and, inside <literal>&lt;application-server&gt;</literal>
-               , add </para>
-            
-            
-            <programlisting role="XML"><![CDATA[<application name="jboss-seam-jee5"
- path="../../home/applications/jboss-seam-jee5.ear"
- parent="default" 
- start="true" />]]></programlisting>
-            <para> To keep things simple use the same names as you used for
-               project. </para>
-         </listitem>
-         <listitem>
-            <para> Edit <literal>
-               $ORACLE_HOME/j2ee/home/config/default-web-site.xml
-               </literal> , and, inside
-               <literal>&lt;web-site&gt;</literal> , add </para>
-            
-            
-            <programlisting role="XML"><![CDATA[<web-app application="jboss-seam-jee5"
- name="jboss-seam-jee5" 
- load-on-startup="true"
- root="/seam-jee5" />]]></programlisting>
-            <para> The <literal>root</literal> is the context path you will put
-               into your web browser to access the application. </para>
-         </listitem>
-         <listitem>
-            <para> Copy the application to OC4J: <literal> cp
-               dist/jboss-seam-jee5.ear
-               $ORACLE_HOME/j2ee/home/applications/ </literal> </para>
-         </listitem>
-         <listitem>
-            <para> Start/stop OC4J following instructions in <xref
-                  linkend="oc4j-install-operation"/> above. </para>
-         </listitem>
-         <listitem>
-            <para> Checkout the app at:
-               <literal>http://localhost:8888/seam-jee5</literal>
-               </para>
-         </listitem>
-      </orderedlist>
-   </section>
-   
-   <section>
-      <title> Deploying an application created using
-         <literal>seam-gen</literal> to OC4J </title>
-      
-      <para> <literal>seam-gen</literal> is a great tool for developers that
-         can quickly get you up and running with a full Seam application. However
-         the project that it created is configured to run on JBoss AS. This means
-         there are some extra steps needed to have it execute on OC4j. The
-         following explanation assumes you are using the command line and a
-         simple text editor, but of course you can use your favorite IDE.
-         <literal>seam-gen</literal> projects come with support for Eclipse
-         and Netbeans. </para>
-      
-      <para> We will start by creating and deploying a pretty simple application
-         using <literal>seam-gen</literal> . Then we'll show you how easy it is
-         to use <literal>seam-gen</literal> and Hibernate Tools to reverse
-         engineer a database schema into a functional CRUD application.
-         <literal>seam-gen</literal> will create JPA entity beans, Seam
-         Application Framework components and JSF views for you. We will also add
-         Seam security using Drools. </para>
-      
-      <para> This tutorial uses MySQL (but of course you could use any database,
-         altering the SQL and datasources as appropriate); install, configure
-         and run MySQL, then create a database with some sample data. Don't forget
-         to also download the
-         <literal>mysql-connector-java-X.jar</literal> for jdbc support.
-         When setting up Seam security this tutorial will assume there is a table
-         named <literal>User</literal> with columns
-         <literal>username</literal> and <literal>password</literal> with
-         at least one entry. Beyond that you can set up any type of sample data and
-         tables you would like. </para>
-      
-      <section>
-         <title> Generating a basic <literal>seam-gen</literal> application
-            </title>
-         <para> First we need to tell the <literal>seam-gen</literal> what we
-            want, run <literal>./seam setup</literal> in the seam
-            distribution directory. Follow the settings example below based on
-            your system and setup (ex. use your database name instead of
-            <literal>oc4jexample</literal> ). </para>
-         
-         
-         <programlisting><![CDATA[> ./seam setup
-Buildfile: build.xml
-
-init:
-
-setup:
-     [echo] Welcome to seam-gen :-)
-    [input] Enter your Java project workspace (the directory that contains your 
-Seam projects) [C:/Projects] [C:/Projects]
-/home/jbalunas/workspace
-    [input] Enter your JBoss home directory [C:/Program Files/jboss-4.2.2.GA] 
-[C:/Program Files/jboss-4.2.2.GA]
-/home/jbalunas/jboss/jboss-4.2.2.GA
-    [input] Enter the project name [myproject] [myproject]
-oc4j_example
-     [echo] Accepted project name as: oc4j_example
-    [input] Select a RichFaces skin (not applicable if using ICEFaces) [blueSky]
- ([blueSky], classic, ruby, wine, deepMarine, emeraldTown, sakura, DEFAULT)
-
-    [input] Is this project deployed as an EAR (with EJB components) or a WAR 
-(with no EJB support) [ear]  ([ear], war, )
-
-    [input] Enter the Java package name for your session beans [com.mydomain.
-oc4j_example] [com.mydomain.oc4j_example]
-org.jboss.seam.tutorial.oc4j.action
-    [input] Enter the Java package name for your entity beans [org.jboss.seam.
-tutorial.oc4j.action] [org.jboss.seam.tutorial.oc4j.action]
-org.jboss.seam.tutorial.oc4j.model
-    [input] Enter the Java package name for your test cases [org.jboss.seam.
-tutorial.oc4j.action.test] [org.jboss.seam.tutorial.oc4j.action.test]
-org.jboss.seam.tutorial.oc4j.test
-    [input] What kind of database are you using? [hsql]  ([hsql], mysql, oracle,
- postgres, mssql, db2, sybase, enterprisedb, h2)
-mysql
-    [input] Enter the Hibernate dialect for your database [org.hibernate.
-dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect]
-
-    [input] Enter the filesystem path to the JDBC driver jar [lib/hsqldb.jar] 
-[lib/hsqldb.jar]
-lib/mysql-connector.jar
-    [input] Enter JDBC driver class for your database [com.mysql.jdbc.Driver] 
-[com.mysql.jdbc.Driver]
-
-    [input] Enter the JDBC URL for your database [jdbc:mysql:///test] 
-[jdbc:mysql:///test]
-jdbc:mysql:///oc4jexample
-    [input] Enter database username [sa] [sa]
-username
-    [input] Enter database password [] []
-password
-    [input] skipping input as property hibernate.default_schema.new has already 
-been set.
-    [input] Enter the database catalog name (it is OK to leave this blank) [] []
-
-    [input] Are you working with tables that already exist in the database? [n] 
- (y, [n], )
-y
-    [input] Do you want to drop and recreate the database tables and data in 
-import.sql each time you deploy? [n]  (y, [n], )
-n
-    [input] Enter your ICEfaces home directory (leave blank to omit ICEfaces) [] []
-
-[propertyfile] Creating new property file: 
-/home/jbalunas/workspace/jboss-seam/seam-gen/build.properties
-     [echo] Installing JDBC driver jar to JBoss server
-     [copy] Copying 1 file to /home/jbalunas/jboss/jboss-4.2.2.GA/server/default/lib
-     [echo] Type 'seam create-project' to create the new project
-
-BUILD SUCCESSFUL]]></programlisting>
-         
-         <para> Type <literal>./seam new-project</literal> to create your
-            project and <literal>cd
-            /home/jbalunas/workspace/oc4j_example</literal> to the newly
-            created project. </para>
-         
-      </section>
-      <section>
-         <title>Changes needed for deployment to OC4J</title>
-         <para>We now need to make some changes to the generated project.</para>
-         <section>
-            <title>Configuration file changes</title>
-            <para>Let's start with the configuration files:</para>
-            <variablelist>
-               <varlistentry>
-                  <term> <literal>build.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>Change the default target to archive (we
-                              aren't going to cover automatic deployment to
-                              OC4J).
-                           </para>
-                           <programlisting role="XML"><![CDATA[<project name="oc4j_example" default="archive" basedir=".">]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para>OC4J looks for the drools file
-                              <literal>/security.drl</literal> file in
-                              the root of the <literal>war</literal> file
-                              instead of the root of the
-                              <literal>ear</literal> file so we need to have
-                              the <literal>build.xml</literal> move it to
-                              the correct location at build time. The
-                              following must be added at the top of the
-                              <literal> &lt;target name="war"
-                              depends="compile" description="Build the
-                              distribution .war file"&gt; </literal>
-                              target.
-                           </para> 
-                              
-                              <programlisting role="XML"><![CDATA[<copy todir="${war.dir}">
- <fileset dir="${basedir}/resources" >
-    <include name="*.drl" />
- </fileset>
- </copy>]]></programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/META-INF/persistence-dev.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para> Alter the
-                              <literal>jta-data-source</literal> to be
-                              <literal>jdbc/__oc4jexample</literal>
-                              (and use this as the
-                              <literal>jndi-name</literal> when creating
-                              the data source in
-                              <literal>data-sources.xml</literal> later
-                              during deployment). </para>
-                        </listitem>
-                        <listitem>
-                           <para> Add the properties (described in
-                              <literal>jee5/booking</literal> example):
-                              </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<property name="hibernate.query.factory_class"
-   value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory" />
-<property name="hibernate.transaction.manager_lookup_class"
-   value="org.hibernate.transaction.OrionTransactionManagerLookup" />
-<property name="hibernate.transaction.flush_before_completion" 
-   value="true"/>
-<property name="hibernate.cache.provider_class" 
-   value="org.hibernate.cache.HashtableCacheProvider"/>]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para> Remove the JBoss AS specific method of
-                              exposing the EntityManagerFactory: </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<property 
- name="jboss.entity.manager.factory.jndi.name" 
- value="java:/oc4j_exampleEntityManagerFactory">]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para> You'll need to alter
-                              <literal>persistence-prod.xml</literal>
-                              as well if you want to deploy to OC4J using the
-                              prod profile. </para>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/META-INF/jboss-app.xml</literal>
-                  </term>
-                  <listitem>
-                     <para> You can delete this file as we aren't deploying to
-                        JBoss AS ( <literal>jboss-app.xml</literal> is used
-                        to enable classloading isolation in JBoss AS) </para>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term> <literal>resources/*-ds.xml</literal>
-                  </term>
-                  <listitem>
-                     <para> You can delete these file as we aren't deploying to
-                        JBoss AS (these files define datasources in JBoss AS,
-                        in OC4J you have to edit the master
-                        <literal>data-sources.xml</literal> file)
-                        </para>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/WEB-INF/components.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para> Enable container managed transaction
-                              integration - add the <literal>
-                              &lt;transaction:ejb-transaction /&gt;
-                              </literal> component, and it's namespace
-                              declaration <literal>
-                              xmlns:transaction="http://jboss.com/products/seam/transaction"
-                              </literal> </para>
-                        </listitem>
-                        <listitem>
-                           <para> Alter the
-                              <literal>jndi-pattern</literal> to
-                              <literal>
-                              java:comp/env/oc4j_example/#{ejbName}/local
-                              </literal> </para>
-                        </listitem>
-                        <listitem>
-                           <para> We want to use a Seam Managed Persistence
-                              Context in our application. Unfortunately
-                              OC4J doesn't expose the EntityManagerFactory
-                              in JNDI, but Seam provides a built-in manager
-                              component. To activate add the following
-                              entry: </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<persistence:entity-manager-factory
- auto-create="true" 
- name="oc4jEntityManagerFactory"
- persistence-unit-name="oc4j_example" />]]></programlisting>
-                           <para> We then need to tell Seam to use it, so we alter
-                              the
-                              <literal>managed-persistence-context</literal>
-                              injecting the Entity Manager Factory into the
-                              existing element: </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<persistence:managed-persistence-context
- name="entityManager"
- auto-create="true"
- entity-manager-factory="#{oc4jEntityManagerFactory}" />]]>
-                           </programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term> <literal>resources/WEB-INF/web.xml</literal>
-                  </term>
-                  <listitem>
-                     <para> You must add the Seam container managed
-                        transaction integration EJB entry below. Remember
-                        for OC4j you need to declare all your EJBs here if you
-                        modify the application further. </para>
-                     
-                     
-                     <programlisting role="XML"><![CDATA[<ejb-local-ref>
-   <ejb-ref-name>
-      oc4j_example/EjbSynchronizations/local
-   </ejb-ref-name>
-   <ejb-ref-type>Session</ejb-ref-type>
-   <local>
-      org.jboss.seam.transaction.LocalEjbSynchronizations
-   </local>
-   <ejb-link>EjbSynchronizations</ejb-link>
-</ejb-local-ref>]]></programlisting>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/META-INF/orion-application.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para> This is a file that you must create so that
-                              RichFaces and Ajax4Jsf stylesheets will work
-                              with OC4J. This file basically tells OC4J not
-                              force its own inherited URL settings. </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<?xml version = '1.0' encoding = 'utf-8'?>
-<orion-application
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/
-                                                            orion-application-10_0.xsd"
-        schema-major-version="10"
-        schema-minor-version="0"
-        component-classification="internal">
-
-    <imported-shared-libraries>
-       <remove-inherited name="oracle.xml"/>
-    </imported-shared-libraries>
-</orion-application>]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para> Now you need to tell the
-                              <literal>build.xml</literal> file that it
-                              needs to copy this file to the
-                              <literal>ear</literal> archive. Find the
-                              <literal> &lt;target name="ear"
-                              description="Build the EAR"&gt; </literal>
-                              target and modify the <literal>
-                              &lt;copy todir="${ear.dir}/META-INF"&gt;
-                              </literal> section to look like the following:
-                              </para>
-                           
-                           
-                           <programlisting role="XML"><![CDATA[<copy todir="${ear.dir}/META-INF">
-    <fileset dir="${basedir}/resources/META-INF">
-       <include name="application.xml" />
-       <include name="orion-application.xml"/>
-       <include name="jboss-app.xml" />
-    </fileset>
- </copy>]]></programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-            </variablelist>
-         </section>
-         <section>
-            <title>Extra jar dependencies</title>
-            <para> This application has similar requirements as the
-               <literal>jee5/booking</literal> example above. </para>
-            <para> The <literal>build.xml</literal> must be modified to add
-               the jars listed below to the generated archive files. Look for the
-               <literal>&lt;fileset dir="${basedir}"&gt;</literal>
-               section below and add the imports underneath the other libraries
-               being imported. </para>
-            
-            
-            <programlisting role="XML"><![CDATA[<target name="ear" description="Build the EAR">
-       <copy todir="${ear.dir}">
-               <fileset dir="${basedir}/resources">
-                       <include name="*jpdl.xml" />
-                       <include name="*hibernate.cfg.xml" />
-                       <include name="jbpm.cfg.xml" />
-                       <include name="*.drl" />
-               </fileset>
-            <fileset dir="${lib.dir}">
-                  <include name="jboss-seam.jar" />
-            </fileset>
-               <fileset dir="${basedir}">
-                       <include name="lib/jbpm*.jar" />
-                       <include name="lib/jboss-el.jar" />
-                       <include name="lib/drools-*.jar"/>
-                       <include name="lib/janino*.jar"/>
-                       <include name="lib/antlr-*.jar"/>
-                       <include name="lib/mvel*.jar"/>
-                     <include name="lib/richfaces-api*.jar" />
-               </fileset>
-       </copy>
-       <copy todir="${ear.dir}/META-INF">
-               <fileset dir="${basedir}/resources/META-INF">
-                       <include name="application.xml" />
-                       <include name="jboss-app.xml" />
-               </fileset>
-       </copy>
-</target>]]></programlisting>
-            <itemizedlist>
-               <listitem>
-                  <para>Hibernate:</para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<include name="lib/hibernate.jar"/>
-<include name="lib/hibernate-annotations.jar"/>
-<include name="lib/hibernate-commons-annotations.jar"/>
-<include name="lib/hibernate-entitymanager.jar"/>
-<include name="lib/hibernate-search.jar"/>
-<include name="lib/hibernate-validator.jar"/>
-<include name="lib/commons-logging.jar"/>
-<include name="lib/commons-collections.jar"/>
-<include name="lib/jboss-common-core.jar"/>]]></programlisting>
-               </listitem>
-               <listitem>
-                  <para> Drools &#8212; because we are using Drools to provide
-                     Seam Security rules, we need to add in Eclipse JDT compiler
-                     (you don't need this on JBoss AS; again this is due to OC4J's
-                     classloading): </para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<include name="lib/core.jar"/>]]></programlisting>
-               </listitem>
-               <listitem>
-                  <para> Third party jars &#8212; most of these are only needed
-                     because of OC4J's classloading: </para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<include name="lib/javassist.jar"/>
-<include name="lib/quartz.jar"/>
-<include name="lib/dbunit.jar"/>
-<include name="lib/jboss-embedded-api.jar"/>
-<include name="lib/dom4j.jar"/>                             
-<include name="lib/lucene-core.jar"/>
-<include name="lib/cglib.jar"/>
-<include name="lib/asm.jar"/>
-<include name="lib/commons-beanutils.jar"/>
-<include name="lib/commons-digester.jar"/>
-<include name="lib/antlr.jar"/>]]></programlisting>
-               </listitem>
-            </itemizedlist>
-            
-            <para>You should end up with something like:</para>
-            
-            
-            <programlisting role="XML"><![CDATA[<fileset dir="${basedir}">
-      <include name="lib/jbpm*.jar" />
-      <include name="lib/jboss-el.jar" />
-      <include name="lib/drools-*.jar"/>
-      <include name="lib/janino*.jar"/>
-      <include name="lib/antlr-*.jar"/>
-      <include name="lib/mvel*.jar"/>
-      <include name="lib/richfaces-api*.jar" />
-      <include name="lib/hibernate.jar"/>
-      <include name="lib/hibernate-annotations.jar"/>
-      <include name="lib/hibernate-commons-annotations.jar"/>
-      <include name="lib/hibernate-entitymanager.jar"/>
-      <include name="lib/hibernate-search.jar"/>
-      <include name="lib/hibernate-validator.jar"/>
-      <include name="lib/commons-logging.jar"/>
-      <include name="lib/commons-collections.jar"/>
-      <include name="lib/jboss-common-core.jar"/>
-      <include name="lib/core.jar"/>
-      <include name="lib/javassist.jar"/>
-      <include name="lib/quartz.jar"/>
-      <include name="lib/dbunit.jar"/>
-      <include name="lib/jboss-embedded-api.jar"/>
-      <include name="lib/dom4j.jar"/>                             
-      <include name="lib/lucene-core.jar"/>
-      <include name="lib/cglib.jar"/>
-      <include name="lib/asm.jar"/>
-      <include name="lib/commons-beanutils.jar"/>
-      <include name="lib/commons-digester.jar"/>
-      <include name="lib/antlr.jar"/>
-</fileset>]]></programlisting>
-         </section>
-         
-      </section>
-      <section>
-         <title> Building and deploying the seam-gen'd application to OC4J
-            </title>
-         <para> These instructions are very similar to the ones in <xref
-               linkend="oc4j-app-deploy"/> but with the correct references
-            for the <literal>oc4j_example</literal> application. </para>
-         
-         <itemizedlist>
-            <listitem>
-               <para> Build your application by calling
-                  <literal>ant</literal> in the base directory of your
-                  project (ex.
-                  <literal>/home/jbalunas/workspace/oc4j_example</literal>
-                  ). The target of the build will be
-                  <literal>dist/oc4j_example.ear</literal> . </para>
-            </listitem>
-            <listitem>
-               <para> Copy the <literal>mysql-connector.jar</literal> file
-                  to the
-                  <literal>$ORACLE_HOME/j2ee/home/applib</literal>
-                  directory so that jdbc drivers are available. </para>
-            </listitem>
-            
-            <listitem>
-               <para> <literal>
-                  $ORACLE_HOME/j2ee/home/config/data-sources.xml
-                  </literal> </para>
-               
-               
-               <programlisting role="XML"><![CDATA[<managed-data-source
-   connection-pool-name="oc4j-example-connection-pool"
-   jndi-name="jdbc/__oc4jexample"
-   name="oc4j-example-managed-data-source" />
-<connection-pool
-   name="oc4j-example-connection-pool">
-   <connection-factory
-      factory-class="com.mysql.jdbc.Driver"
-      user="username" 
-      password="password"
-      url="jdbc:mysql:///oc4j" />
-</connection-pool>]]></programlisting>
-            </listitem>
-            <listitem>
-               <para>
-                  <literal>$ORACLE_HOME/j2ee/home/config/server.xml</literal>
-                  </para>
-               
-               
-               <programlisting role="XML"><![CDATA[<application name="oc4j_example"
- path="../../home/applications/oc4j_example.ear"
- parent="default"
- start="true" />]]></programlisting>
-            </listitem>
-            <listitem>
-               <para> <literal>
-                  $ORACLE_HOME/j2ee/home/config/default-web-site.xml
-                  </literal> </para>
-               
-               
-               <programlisting role="XML"><![CDATA[<web-app application="oc4j_example"
- name="oc4j_example" 
- load-on-startup="true"
- root="/oc4j_example" />]]></programlisting>
-            </listitem>
-            
-            <listitem>
-               <para> Start/stop OC4J following instructions in the
-                  <literal>Installation and operation of OC4J</literal>
-                  section above. </para>
-            </listitem>
-            <listitem>
-               <para> Checkout the app at:
-                  <literal>http://localhost:8888/oc4j_example</literal>
-                  </para>
-            </listitem>
-         </itemizedlist>
-         
-      </section>
-      
-      <section>
-         <title> Extending example with reverse engineered CRUD and Drools
-            </title>
-         <para> In this section we extend the basic
-            <literal>seam-gen</literal> application into a full blown CRUD
-            application based on an existing database. Plus we will add
-            <literal>Drools</literal> based security as well. </para>
-         <section>
-            <title> Have <literal>seam-gen</literal> generate your CRUD
-               applications </title>
-            <para> Type <literal>./seam generate-entities</literal> in the
-               base directory of your seam distribution. This will create the
-               entities, the Seam Application Framework classes and the
-               relevant views for the CRUD application. </para>
-            
-            <para> That's it...no really...that's it. Build and deploy as
-               before and see for yourself. </para>
-            
-         </section>
-         <section>
-            <title> Hook up drools authentication using your new CRUD
-               application </title>
-            <para> As stated above this section assumes your database had a
-               <literal>User</literal> table with
-               <literal>username</literal> and
-               <literal>password</literal> columns with at least one entry.
-               If you don't have this you may need to modify the
-               <literal>authenticate</literal> method below. </para>
-            <para> Lets link our <literal>User</literal> entity into Seam
-               Security by making our authenticator class a Stateless Session
-               Bean (OC4J is a EJB3 container after all!): </para>
-            
-            <orderedlist>
-               <listitem>
-                  <itemizedlist>
-                     <listitem>
-                        <para> Add the <literal>@Stateless</literal>
-                           annotation to the
-                           <literal>Authenticator</literal> class.
-                           </para>
-                     </listitem>
-                     <listitem>
-                        <para> Rename the class to
-                           <literal>AuthenticatorAction</literal>
-                           </para>
-                     </listitem>
-                     <listitem>
-                        <para> Create an interface called
-                           <literal>Authenticator</literal> which
-                           <literal>AuthenticatorAction</literal>
-                           implements (EJB3 requires session beans to have a
-                           local interface). Annotate the interface with
-                           <literal>@Local</literal> , and add a single
-                           method with same signature as the
-                           <literal>authenticate</literal> in
-                           <literal>AuthenticatorAction</literal> .
-                           </para>
-                     </listitem>
-                  </itemizedlist>
-                  
-                  
-                  <programlisting role="JAVA"><![CDATA[@Name("authenticator") @Stateless public class
-            AuthenticatorAction implements Authenticator {]]></programlisting>
-                  
-                  
-                  <programlisting role="JAVA"><![CDATA[@Local public interface Authenticator { 
-  public boolean authenticate(); 
-}]]></programlisting>
-               </listitem>
-               <listitem>
-                  <para> Use <literal>@PersistenceContext</literal> to
-                     inject an EntityManager by adding this line the
-                     <literal>AuthenticatorAction</literal> class:
-                     </para>
-                  
-                  
-                  <programlisting role="JAVA"><![CDATA[@PersistenceContext private EntityManager entityManager;]]></programlisting>
-               </listitem>
-               <listitem>
-                  <para>Implement authenticate:</para>
-                  
-                  
-                  <programlisting role="JAVA"><![CDATA[public boolean authenticate() {
-   List <User> users = entityManager .createQuery("select u from User u where 
-   u.username = #{identity.username} and 
-   u.password = #{identity.password}") .getResultList();
-   if (users.size() == 1) {
-      identity.addRole("admin"); 
-      return true; 
-   } else {
-      return false; 
-   } 
-}]]></programlisting>
-               </listitem>
-               <listitem>
-                  <para> And then add the EJB3 reference to
-                     <literal>web.xml</literal> : </para>
-                  
-                  
-                  <programlisting role="XML"><![CDATA[<ejb-local-ref>
-   <ejb-ref-name>
-      oc4j_example/AuthenticatorAction/local
-   </ejb-ref-name>
-   <ejb-ref-type>Session</ejb-ref-type>
-   <local>
-      org.jboss.seam.tutorial.oc4j.action.Authenticator
-   </local>
-   <ejb-link>AuthenticatorAction</ejb-link>
-</ejb-local-ref>]]></programlisting>
-               </listitem>
-            </orderedlist>
-            
-            <para> Build and deploy as before and notice that now only actual
-               username and passwords are accepted. </para>
-         </section>
-         
-      </section>
-      
-   </section>
-   <section>
-      <title>Finishing up</title>
-      <para> That's it, we're through. You now have a great starting point for any
-         Seam based application deployed to OC4J. </para>
-   </section>
-</chapter>
\ No newline at end of file

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Preface.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -83,6 +83,12 @@
                         ICEfaces. These solutions let you add AJAX capability to your user interface without 
                         the need to write any JavaScript code.
                     </para>
+                    
+                    <note>
+        				<title>Technology preview </title>    
+    					<para>Icefaces integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+    				</note>
+    				
                     <para>
                         Alternatively, Seam provides a built-in JavaScript remoting layer that lets you call 
                         components asynchronously from client-side JavaScript without the need for an intermediate 

Modified: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Spring.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -5,7 +5,12 @@
     <para>The Spring integration module allows easy migration of Spring-based projects to Seam and allows Spring
         applications to take advantage of key Seam features like conversations and Seam's more sophisticated persistence
         context management.</para>
-
+    
+    <note>
+        <title>Technology preview </title>    
+    	<para>Spring integration in Seam is marked as technology preview, so standard support is not guaranteed.</para>     
+    </note>
+    
     <para>Note! The Spring integration code is included in the jboss-seam-ioc library.  This dependency is required for
     all seam-spring integration techniques covered in this chapter.</para>
 

Deleted: branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml
===================================================================
--- branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml	2008-06-09 13:10:44 UTC (rev 8352)
+++ branches/Seam_2_0_FP/doc/Seam_Reference_Guide/en-US/Weblogic.xml	2008-06-09 13:12:16 UTC (rev 8353)
@@ -1,1595 +0,0 @@
-<chapter id="weblogic">
-   <title>Seam on BEA's Weblogic</title>
-   
-   <para> Weblogic 10.X is BEA's JEE5 server offering, currently 10.0.MP1 is
-      their stable release, and 10.3.TP is their latest tech preview release.
-      Seam applications can be deployed and developed on Weblogic servers, and
-      this chapter will show you how. There are some known issues with the 
-      Weblogic servers that will need to be worked around, and configuration 
-      changes that are needed. </para>
-   
-   <para> First step is to get Weblogic downloaded, installed and running (no
-      small feat). Then we'll talk about Seam's JEE5 example and the hurdles to
-      getting it running. After that, the JPA example will
-      be modified and deployed to the server. Then finally we will create a
-      <literal>seam-gen</literal> application and get it up and running to
-      provide a jump start to your own application. </para>
-   
-   <section>
-      <title>Installation and operation of Weblogic</title>
-      <para> First things first we need to get the server installed - and there 
-         is a choice to be made. Weblogic 10.0.MP1 is the most recent stable 
-         release, while 10.3.TP is a technical preview version that fixes some 
-         things and breaks others. </para>
-      <itemizedlist>
-         <listitem>
-            <para><literal>Weblogic 10.0.MP1</literal>
-               &#8212; <ulink
-url="http://commerce.bea.com/showproduct.jsp?family=WLS&amp;major=10&amp;minor=1">
-               Download page </ulink></para>
-            <para> 10.0.MP1 has a known issue with EJBs that use
-               <literal>varargs</literal> in their methods (it confuses them
-               as <literal>transient</literal> ). This causes exceptions
-               when Weblogic attempts to compile the Seam EJBs.  There is a BEA 
-               support patch available to fix this issue, but BEA is currently 
-               working on a second issue related to the EJBs.  See the 
-               <literal>jee5/booking</literal> example for more details. </para>
-         </listitem>
-         <listitem>
-            <para><literal>Weblogic 10.3.TP</literal>
-               &#8212; <ulink
-url="http://commerce.bea.com/showproduct.jsp?family=WLS&amp;major=10.3Tech&amp;minor=-1&amp;DL=www_WLS_10-3TechPreview_icon&amp;WT.ac=DL_www_WLS_10.3_TechPreviewicon">
-               Download page </ulink></para>
-            <para> This version still has not fixed the
-               <literal>varargs</literal> bug, and there is a new issue with
-               EJBs that do not use <literal>kodo</literal> (BEA's
-               implementation of JPA). BEA has said that the <literal>varargs
-               </literal> issue will be resolved in the final version of 10.3, 
-               but the <literal>kodo</literal> issue is a blocker for getting
-               the <literal>jee5/booking</literal> working.
-               </para>
-         </listitem>
-      </itemizedlist>
-      
-      <note>
-        <title>Special <literal>jboss-seam.jar</literal> for Weblogic EJB 
-        Support</title>
-         <para> Starting with Seam 2.0.2.CR2 a special Weblogic specific jar has
-         been created that does not contain the <literal>TimerServiceDispatcher
-         </literal>.  This is the EJB that uses <literal>varargs</literal> and 
-         exposes the second EJB issue.  We will be using this jar for the 
-         <literal>jee5/booking</literal> example, as it avoids both known BEA 
-         issues.
-         </para>
-      </note>
-      
-      <section>
-         <title>Installing 10.0.MP1</title>
-         
-         <para>
-            Here are the quick steps to installing Weblogic 10.1.MP1.
-            For more details or if you are having any issues please
-            check with the BEA docs at the
-            <ulink url="http://e-docs.bea.com/wls/docs100/index.html">
-               Weblogic 10.0 Doc Center
-            </ulink>
-            . Here we install the RHEL 5 version using the graphical
-            installer:
-         </para>
-
-         <orderedlist>
-            <listitem>
-               <para> Follow the link given above for 10.0.MP1 and download the
-                  correct version for your environment. You will need to sign up
-                  for an account with BEA in order to do this. </para>
-            </listitem>
-            <listitem>
-               <para> You may need to change the the
-                  <literal>server1001_XX.bin</literal> file to be
-                  executable: </para>
-               <programlisting>chmod a+x server1001_XX.bin</programlisting>
-            </listitem>
-            <listitem>
-               <para> Execute the install: </para>
-               <programlisting>./server1001_XX.bin</programlisting>
-            </listitem>
-            <listitem>
-               <para> When the graphical install loads, you need to set the BEA
-                  home location. This is where all BEA applications are
-                  installed. This location will be known as
-                  <literal>$BEA_HOME</literal> in this document e.g.:
-                  </para>
-               <programlisting>/jboss/apps/bea</programlisting>
-            </listitem>
-            <listitem>
-               <para> Select <literal>Complete</literal> as the
-                  installation type. You do not need all the extras of the
-                  complete install (such as struts and beehive libraries), but
-                  it will not hurt. </para>
-            </listitem>
-            <listitem>
-               <para> Then you need to tell it where to install the server
-                  components: </para>
-               <programlisting>$BEA_HOME/wlserver_10.0</programlisting>
-            </listitem>
-         </orderedlist>
-      </section>
-      <section id="weblogic-domain">
-         <title>Creating your Weblogic domain</title>
-         <para> A Weblogic domain is similar to a JBoss server configuration - it
-            is a self contained server instance. The Weblogic server you just
-            installed has some example domains, but we are going to create one
-            just for the seam examples. You can use the existing domains if you
-            wish (modify the instructions as needed). </para>         
-         <orderedlist>
-            <listitem>
-               <para> Start up the Weblogic configuration wizard:</para>
-               <programlisting>$BEA_HOME/wlserver_10.0/common/bin/config.sh
-               </programlisting>
-            </listitem>
-            <listitem>
-               <para> Choose to create a new domain, configured to support
-                  <literal>Weblogic Server</literal>. Note that this is
-                  the default domain option. </para>
-            </listitem>
-            <listitem>
-               <para>Set a username and password for this domain.</para>
-            </listitem>
-            <listitem>
-               <para> Next choose <literal>Development Mode</literal> and
-                  the default JDK when given the option. </para>
-            </listitem>
-            <listitem>
-               <para> The next screen asks if you want to customize any setting.
-                  Select <literal>No</literal>. </para>
-            </listitem>
-            <listitem>
-               <para> Finally set the name of the domain to
-                  <literal>seam_examples</literal> and leave the default
-                  domain location. </para>
-            </listitem>
-         </orderedlist>
-      </section>
-      <section id="bea_start_stop_access">
-         <title>How to Start/Stop/Access your domain</title>
-         <para>
-            Now that the server is installed and the domain is created
-            you need to know how to start and stop it, plus how to
-            access its configuration console.
-         </para>
-         <itemizedlist>
-            <listitem>
-               <para> Starting the domain:</para>
-               <para> This is the easy part - go to the <literal>
-                  $BEA_HOME/user_projects/domains/seam_examples/bin
-                  </literal> directory and run the
-                  <literal>./startWeblogic.sh</literal> script. </para>
-            </listitem>
-            <listitem>
-               <para> Accessing the configuration console:</para>
-               <para> Launch
-                  <literal>http://127.0.0.1:7001/console</literal> in
-                  your web browser. It will ask for your username and password
-                  that you entered before. We won't get into this much now, but
-                  this is the starting point for a lot of the various
-                  configurations that are needed later. </para>
-            </listitem>
-            <listitem>
-               <para> Stopping the domain:</para>
-               <para> There are a couple of options here: </para>
-               <itemizedlist>
-                  <listitem>
-                     <para> The recommended way is through the configuration
-                        console:
-                        <orderedlist>
-                           <listitem>
-                              <para> Select
-                                 <literal>seam_examples</literal> on the
-                                 left hand side of the console. </para>
-                           </listitem>
-                           <listitem>
-                              <para> Choose the
-                                 <literal>Control</literal> tab in the
-                                 middle of the page. </para>
-                           </listitem>
-                           <listitem>
-                              <para> Select the check box
-                                 <literal>AdminServer</literal> in the
-                                 table. </para>
-                           </listitem>
-                           <listitem>
-                              <para> Choose <literal>Shutdown</literal>
-                                 just above the table, and select either
-                                 <literal>When work completes</literal>
-                                 or <literal>Force shutdown now</literal>
-                                 as appropriate. </para>
-                           </listitem>
-                           <listitem>
-                              <para> Then finally confirm that you want to
-                                 shut this server down. </para>
-                           </listitem>
-                        </orderedlist> </para>
-                  </listitem>
-                  <listitem>
-                     <para> Hitting <literal>Ctrl-C</literal> in the
-                        terminal where you started the domain.</para>
-                     <para> No negative effects have been seen, but we would not
-                        recommend doing this while in the middle of 
-                        configuration changes in the console. </para>
-                  </listitem>
-               </itemizedlist>
-            </listitem>
-            <listitem>
-               <para><note>
-                  <title>A note on Weblogic classloading</title>
-                  <para>When using the
-                     <literal>@DOMAIN/autodeploy</literal> directory as
-                     described in this chapter you may see
-                     <literal>NoClassDefFound</literal> exceptions. If
-                     you see this try restarting the Weblogic server. If you
-                     still see it remove the auto-deployed EAR/WAR files,
-                     restart the server, and redeploy. We could not find a
-                     specific reason for this, but others seem to be having this
-                     issue as well. </para> </note></para>
-            </listitem>
-         </itemizedlist>
-      </section>
-   </section>
-   
-   <section>
-      <title> The <literal>jee5/booking</literal> Example </title>
-      
-      <para>
-         Do you want to run Seam using EJB's on Weblogic? If so there
-         are some obstacles that you will have to avoid. This section
-         describes those obstacles and what changes are needed to the
-         <literal>jee5/booking</literal>
-         example to get it deployed and functioning.
-      </para>
-
-      <section id="weblogic-ejb-issues">
-         <title>EJB3 Issues with Weblogic</title>
-         <para>
-            For several releases of Weblogic there has been an issue
-            with how Weblogic compiles EJB's that use variable arguments
-            in their methods. This is confirmed in the Weblogic 9.X and
-            10.X versions. Seam uses variable arguments in one of its
-            internal EJB's (
-            <literal>TimerServiceDispatcher</literal>
-            ). So Seam will not function correctly without
-            modifications.
-         </para>
-
-         <para>
-            The basic explanation of the issue is that the Weblogic EJB
-            compiler believes that methods that use
-            <literal>varargs</literal>
-            are
-            <literal>transient</literal>
-            and the deployment will fail with exceptions like below:
-
-            <programlisting><![CDATA[java.io.IOException: Compiler failed executable.exec: 
-/jboss/apps/bea/wlserver_10.0/user_projects/domains/seam_examples/servers/AdminServer
-/cache/EJBCompilerCache/5yo5dk9ti3yo/org/jboss/seam/async/
-TimerServiceDispatcher_qzt5w2_LocalTimerServiceDispatcherImpl.java:194: modifier transient 
-not allowed here
-  public transient javax.ejb.Timer scheduleAsynchronousEvent(java.lang.String arg0,
-  java.lang.Object[] arg1)
-                                   ^
-/jboss/apps/bea/wlserver_10.0/user_projects/domains/seam_examples/servers/AdminServer
-/cache/EJBCompilerCache/5yo5dk9ti3yo/org/jboss/seam/async/
-TimerServiceDispatcher_qzt5w2_LocalTimerServiceDispatcherImpl.java:275: modifier transient
-not allowed here
-  public transient javax.ejb.Timer scheduleTimedEvent(java.lang.String arg0, 
-  org.jboss.seam.async.TimerSchedule arg1, java.lang.Object[] arg2)]]></programlisting>
-            <para>
-               BEA has created a patch (
-               <literal>CR327275</literal>
-               ) for this issue that can be requested from their
-               support. It is rumored that it will be included in the
-               final release of Weblogic 10.3, although not confirmed.
-            </para>
-            <para>
-               Unfortunately a second issue has been reported and
-               verified by BEA (
-               <literal>CR363182</literal>
-               ). This issue has to do with certain EJB methods
-               incorrectly left out of Weblogic's generated internal
-               stub classes. At the time of this writing the status of
-               this issue is not known. When this issue has been
-               patched, and tested with Seam this reference guide
-               chapter will be updated.
-            </para>
-
-            <para>
-               So that Seam's users can deploy an EJB application to
-               Weblogic a special Weblogic specific jar has been
-               created, starting with Seam 2.0.2.CR2. It is located in
-               the
-               <literal>$SEAM/lib/interop</literal>
-               directory and is called
-               <literal>jboss-seam-wls-compatible.jar</literal>
-               . The only difference between this jar and the
-               <literal>jboss-seam.jar</literal>
-               is that it does not contain the
-               <literal>TimerServiceDispatcher</literal>
-               EJB. To use this jar simply rename the
-               <literal>jboss-seam-wls-compatible.jar</literal>
-               to
-               <literal>jboss-seam.jar</literal>
-               and replace the original in your applications
-               <literal>EAR</literal>
-               file. The
-               <literal>jee5/booking</literal>
-               example demonstrates this.
-            </para>
-         </para>
-      </section>
-
-      <section>
-         <title>Getting the <literal>jee5/booking</literal> Working</title>
-         <para>In this section we will go over the steps needed to get
-            the <literal>jee5/booking</literal> example to up and running.</para>
-         
-         <section id="weblogic-hsql-jee5-ds">
-            <title>Setting up the hsql datasource</title>
-            <para>This example uses the in memory hypersonic database, and the
-               correct data source needs to be set up. The admin console uses a
-               wizard like set of pages to configure it.
-               
-               <orderedlist>
-                  <listitem>
-                     <para>Copy <literal>hsqldb.jar</literal> to the Weblogic
-                        domain's shared library directory: <literal> cp
-                        ../../../lib/hsqldb.jar
-                        /jboss/apps/bea/user_projects/domains/seam_examples/lib
-                        </literal>
-                        </para>
-                  </listitem>
-                  <listitem>
-                     <para>Start up the server and navigate to the
-                        administration console following <xref
-                           linkend="bea_start_stop_access"/></para>
-                  </listitem>
-                  <listitem>
-                     <para>On the left side tree navigate
-                        <literal>seam_examples - Services- JDBC - Data
-                        Sources</literal>.</para>
-                  </listitem>
-                  <listitem>
-                     <para>You must lock the domain configuration using the
-                        button in the upper left box.</para>
-                  </listitem>
-                  <listitem>
-                     <para>Then select the <literal>New</literal>
-                        button at the top of the data source table</para>
-                  </listitem>
-                  <listitem>
-                     <para>Fill in the following:
-                        <orderedlist>
-                           <listitem>
-                              <para>Name:
-                                 <literal>seam-jee5-ds</literal>
-                                 </para>
-                           </listitem>
-                           <listitem>
-                              <para>JNDI Name:
-                                 <literal>seam-jee5-ds</literal>
-                                 </para>
-                           </listitem>
-                           <listitem>
-                              <para>Database Type and Driver:
-                                 <literal>other</literal></para>
-                           </listitem>
-                           <listitem>
-                              <para>Select <literal>Next</literal>
-                                 button</para>
-                           </listitem>
-                        </orderedlist></para>
-                  </listitem>
-                  <listitem>
-                     <para>Select <literal>Next</literal> button on the
-                        <literal>Transaction Options</literal>
-                        page</para>
-                  </listitem>
-                  <listitem>
-                     <para>Fill in the following on the <literal>Connection
-                        Properties</literal> page:
-                        <orderedlist>
-                           <listitem>
-                              <para>Database Name:
-                                 <literal>hsqldb</literal></para>
-                           </listitem>
-                           <listitem>
-                              <para>Host Name:
-                                 <literal>127.0.0.1</literal></para>
-                           </listitem>
-                           <listitem>
-                              <para>Port: <literal>9001</literal>
-                                 </para>
-                           </listitem>
-                           <listitem>
-                              <para>Username: <literal>sa</literal> will
-                                 empty password fields.</para>
-                           </listitem>
-                           <listitem>
-                              <para>Select <literal>Next</literal>
-                                 button</para>
-                           </listitem>
-                        </orderedlist></para>
-                  </listitem>
-                  <listitem>
-                     <para>Fill in the following on the <literal>Connection
-                        Properties</literal> page:
-                        <orderedlist>
-                           <listitem>
-                              <para>Driver Class Name:
-                                 <literal>org.hsqldb.jdbcDriver</literal>
-                                 </para>
-                           </listitem>
-                           <listitem>
-                              <para>URL:
-                                 <literal>jdbc:hsqldb:.</literal>
-                                 </para>
-                           </listitem>
-                           <listitem>
-                              <para>Username: <literal>sa</literal> will
-                                 empty password fields.</para>
-                           </listitem>
-                           <listitem>
-                              <para>Leave the rest of the fields
-                                 as is.</para>
-                           </listitem>
-                           <listitem>
-                              <para>Select <literal>Next</literal>
-                                 button</para>
-                           </listitem>
-                        </orderedlist></para>
-                  </listitem>
-                  <listitem>
-                     <para>Choose the target domain for the data source in our
-                        case the only one <literal>AdminServer</literal>.
-                        Click <literal>Next</literal>.</para>
-                  </listitem>
-                  <listitem>
-                     <para>Finally - apply the changes by selecting the
-                        <literal>Apply Changes</literal> button in the
-                        upper left corner.</para>
-                  </listitem>
-               </orderedlist> </para>
-         </section>
-         <section id="weblogic-jsf-deploy">
-            <title>Setting up Weblogics JSF Support</title>
-            <para>These are the instructions to deploy and configure Weblogic's 
-            JSF 1.2 libraries.  Out of the box Weblogic does not come with its 
-            own JSF libraries active, and unfortunately when deploying an 
-            <literal>EAR</literal> based application Weblogic requires its
-            own JSF libraries to function.  This appears to be caused by 
-            classloader issues.  The assumption being that JSF libraries
-            in the application are not visible to Weblogic during deployment of
-            the <literal>EAR</literal> application.  Why this does not effect
-            <literal>WAR</literal> based applications is not known.</para>
-            
-            <orderedlist>
-                  <listitem>
-                     <para>In the administration console navigate to the 
-                     <literal>Deployments</literal> page using the left hand
-                     menu.</para>
-                  </listitem>
-                  <listitem>
-                     <para>You must lock the domain configuration using the
-                        button in the upper left box.</para>
-                  </listitem>
-                  <listitem>
-                     <para>Then select the <literal>Install</literal>
-                        button at the top of the deployments table</para>
-                  </listitem>
-                  <listitem>
-                     <para>Using the directory browser navigate to the 
-             <literal>/jboss/apps/bea/wlserver_10.0/common/deployable-libraries
-             </literal>
-                     directory.  Then select the <literal>jsj-1.2.war</literal>
-                     archive, and click the <literal>Next</literal> button.</para>
-                  </listitem>
-                  <listitem>
-                     <para>Make sure that the <literal>Install this deployment 
-                     as a library</literal> is selected.  Click the <literal>Next
-                     </literal> button on the <literal>Install Application 
-                     Assistant</literal> page.</para>
-                  </listitem>                  
-                  <listitem>
-                    <para>Click the <literal>Next</literal> button on the 
-                    <literal> Optional Settings</literal> page.</para>
-                  </listitem>
-                  <listitem>
-                     <para>Make sure that the <literal>Yes, take me to the 
-                     deployment's configuration screen.</literal> is selected.  
-                     Click the <literal>Finish</literal> button on the <literal>
-                     Review your choices and click Finish</literal> page.</para>
-                  </listitem>
-                  <listitem>
-                     <para>On the <literal>Settings for jsf(1.2,1.2.3.1)</literal>
-                     page set the <literal>Deployment Order</literal> to 
-                     <literal>99</literal> so that it is deployed prior to 
-                     autodeployed applications.  Then click the <literal>
-                     Save</literal> button.</para>
-                  </listitem>                  
-                  <listitem>
-                    <para>Then activate the changes by clicking the green
-                    button in the upper left.</para>
-                  </listitem>
-              </orderedlist>
-              
-              <para>There is another step that is needed for this to work.  For 
-              some reason, even with the steps above classes in the <literal>
-              jsf-api.jar</literal> are not found during application deployment.
-              The only way I found for this to work is to put the <literal>
-              jsf-api.jar</literal> from <literal>$SEAM/lib</literal> directory
-              in the domains shared library 
-       <literal>/jboss/apps/bea/user_projects/domains/seam_domain/lib</literal>
-              </para>
-              
-              <orderedlist>
-                  <listitem>
-                     <para>Shutdown the server  following <xref
-                           linkend="bea_start_stop_access"/></para>
-                  </listitem>
-                  <listitem>
-                     <para>Then execute 
-                     <literal> 
-cp ../../../lib/jsf-api.jar /jboss/apps/bea/user_projects/domains/seam_examples/lib
-                     </literal>.  Verify the jar was copied correctly.</para>
-                  </listitem>       
-                  <listitem>
-                    <para>Start up the server and navigate to the
-                        administration console following <xref
-                           linkend="bea_start_stop_access"/></para>
-                  </listitem>
-                  <listitem>
-                    <para>Then verify a clean start up of the server.</para>
-                  </listitem>
-              </orderedlist>  
-         </section>
-         <section>
-            <title>Configuration and Build changes</title>
-            <para>
-               OK - now we are ready to finally begin adjusting the seam
-               application for deployment to the Weblogic server.
-            </para>
-            <variablelist>
-               <varlistentry>
-                  <term>
-                     <literal>
-                        resources/META-INF/persistence.xml
-                     </literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              Change the
-                              <literal>jta-data-source</literal>
-                              to what you entered above :
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-            <jta-data-source>seam-jee5-ds</jta-data-source>]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para>
-                              Then comment out the glassfish properties.
-                           </para>
-                        </listitem>
-                        <listitem>
-                           <para>
-                              Then add these two properties for weblogic
-                              support.
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-<property name="hibernate.dialect" 
-            value="org.hibernate.dialect.HSQLDialect"/>
-<property name="hibernate.transaction.manager_lookup_class" 
-            value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/>
-]]></programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>
-                        resources/META-INF/weblogic-application.xml
-                     </literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              This file needs to be created and should
-                              contain the following:
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<weblogic-application>
-    <library-ref>
-        <library-name>jsf</library-name>
-        <specification-version>1.2</specification-version>
-        <implementation-version>1.2</implementation-version>
-        <exact-match>false</exact-match>
-    </library-ref>
-    <prefer-application-packages>
-        <package-name>antlr.*</package-name>
-    </prefer-application-packages>
-</weblogic-application>
-]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para>
-                              These changes do two two different things.
-                              The first element
-                              <literal>library-ref</literal>
-                              tells weblogic that this application will
-                              be using the deployed JSF libraries. The
-                              second element
-                              <literal>
-                                 prefer-application-packages
-                              </literal>
-                              tells weblogic that the
-                              <literal>antlr</literal>
-                              jars take precedence. This avoids a
-                              conflict with hibernate.
-                           </para>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/META-INF/ejb-jar.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              The changes described here work around an
-                              issue where Weblogic is only using a
-                              single instance of the
-                              <literal>sessionBeanInterceptor</literal>
-                              for all session beans. Seam's interceptor
-                              caches and stores some component specific
-                              attributes, so when a call comes in - the
-                              interceptor is primed for a different
-                              component and an error is seen. To solve
-                              this problem you must define a separate
-                              interceptor binding for each EJB you wish
-                              to use. When you do this Weblogic will use
-                              a separate instance for each EJB.
-                           </para>
-                           <para>
-                              Modify the
-                              <literal>assembly-descriptor</literal>
-                              element to look like this:
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-<assembly-descriptor>
-   <interceptor-binding> 
-      <ejb-name>AuthenticatorAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>BookingListAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>RegisterAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>ChangePasswordAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>HotelBookingAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>HotelSearchingAction</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-   <interceptor-binding> 
-      <ejb-name>EjbSynchronizations</ejb-name>
-      <interceptor-class >org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
-   </interceptor-binding>
-</assembly-descriptor>]]></programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/WEB-INF/weblogic.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              This file needs to be created and should
-                              contain the following:
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-<?xml version="1.0" encoding="UTF-8"?>
-
-<weblogic-web-app> 
-<library-ref>
-    <library-name>jsf</library-name>
-    <specification-version>1.2</specification-version>
-    <implementation-version>1.2</implementation-version>
-    <exact-match>false</exact-match>
-  </library-ref>
-</weblogic-web-app>
-]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para>
-                              This file and the element
-                              <literal>library-ref</literal>
-                              tells Weblogic that this application will
-                              using the deployed JSF libraries. This is
-                              needed in both this file and the
-                              <literal>
-                                 weblogic-application.xml
-                              </literal>
-                              file because both applications require
-                              access.
-                           </para>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-               <varlistentry>
-                  <term>
-                     <literal>resources/WEB-INF/web.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              Because the
-                              <literal>jsf-impl.jar</literal>
-                              is not going to be in the
-                              <literal>$WAR/WEB_INF/lib</literal>
-                              directory we need to add a configuration
-                              listener to this file.
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-  <listener>
-    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
-  </listener>
-]]></programlisting>
-                        </listitem>
-                     </itemizedlist>
-                  </listitem>
-               </varlistentry>
-            </variablelist>
-         </section>
-         <section>
-            <title>Building and Deploying the Application</title>
-            <para>
-               There are some changes needed to the build script and the
-               <literal>jboss-seam.jar</literal>
-               then we can deploy the app.
-            </para>
-            <variablelist>
-               <varlistentry>
-                  <term>
-                     <literal>build.xml</literal>
-                  </term>
-                  <listitem>
-                     <itemizedlist>
-                        <listitem>
-                           <para>
-                              Add the following to the
-                              <literal>build.xml</literal>
-                              . Note that
-                              <literal>richfaces-api.jar</literal>
-                              is only needed if using the admin console
-                              to deploy. For some reason Weblogic needs
-                              it in the
-                              <literal>WAR</literal>
-                              when it scans the application.
-                           </para>
-                           <programlisting role="XML"><![CDATA[
-<fileset id="war.lib.extras" dir="${seam.dir}"> 
-   <include name="lib/richfaces-api.jar" />
-</fileset>]]></programlisting>
-                        </listitem>
-                        <listitem>
-                           <para>
-                              Next we need to add the follow so that the
-                              <literal