Author: ochikvina
Date: 2009-03-05 11:44:18 -0500 (Thu, 05 Mar 2009)
New Revision: 14038
Added:
trunk/seam/docs/reference/en/master_output.xml
Log:
https://jira.jboss.org/jira/browse/JBDS-640 - adding master-output.xml;
Added: trunk/seam/docs/reference/en/master_output.xml
===================================================================
--- trunk/seam/docs/reference/en/master_output.xml (rev 0)
+++ trunk/seam/docs/reference/en/master_output.xml 2009-03-05 16:44:18 UTC (rev 14038)
@@ -0,0 +1,3037 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+[<!ENTITY intro SYSTEM "modules/intro.xml">
+<!ENTITY creating_new_seam SYSTEM "modules/creating_new_seam.xml">
+<!ENTITY directory_structure SYSTEM "modules/directory_structure.xml">
+<!ENTITY menus_and_actions SYSTEM "modules/seam_menus_and_actions.xml">
+<!ENTITY seam_wizards SYSTEM "modules/seam_wizards.xml">
+<!ENTITY generate_entities SYSTEM "modules/generate_entities.xml">
+<!ENTITY seam_editors SYSTEM "modules/seam_editors.xml">
+<!ENTITY seam_view SYSTEM "modules/seam_view.xml">
+<!ENTITY seam_preferences SYSTEM "modules/seam_preferences.xml">
+<!ENTITY adding_seam_support_to_ear_project SYSTEM
"modules/adding_seam_support_to_ear_project.xml">
+<!ENTITY crud_database_application SYSTEM
"modules/crud_database_application.xml">
+<!ENTITY crud_application_walkthrough SYSTEM
"modules/crud_application_walkthrough.xml">
+<!ENTITY business_application SYSTEM "modules/business_application.xml">
+<!ENTITY testng SYSTEM "modules/testng.xml">
+
+
+<!ENTITY seamlink "../../seam/html_single/index.html">
+<!ENTITY aslink "../../as/html_single/index.html">
+<!ENTITY esblink "../../esb_ref_guide/html_single/index.html">
+<!ENTITY gsglink "../../GettingStartedGuide/html_single/index.html">
+<!ENTITY hibernatelink "../../hibernatetools/html_single/index.html">
+<!ENTITY jbpmlink "../../jbpm/html_single/index.html">
+<!ENTITY jsflink "../../jsf/html_single/index.html">
+<!ENTITY jsfreflink "../../jsf_tools_ref_guide/html_single/index.html">
+<!ENTITY jsftutoriallink
"../../jsf_tools_tutorial/html_single/index.html">
+<!ENTITY strutsreflink
"../../struts_tools_ref_guide/html_single/index.html">
+<!ENTITY strutstutoriallink
"../../struts_tools_tutorial/html_single/index.html">
+
+
+]><book
xmlns:diffmk="http://diffmk.sf.net/ns/diff">
+
+ <bookinfo>
+
+ <title>Seam Dev Tools Reference Guide</title>
+
<author><firstname>Anatoly</firstname><surname>Fedosik</surname></author>
+
<author><firstname>Olga</firstname><surname>Chikvina</surname></author>
+
<author><firstname>Michael</firstname><surname>Sorokin</surname></author>
+
+
<author><firstname>Svetlana</firstname><surname>Mukhina</surname><email>smukhina(a)exadel.com</email></author>
+
+ <pubdate>April 2008</pubdate>
+ <copyright>
+ <year>2007</year>
+ <year>2009</year>
+ <holder>JBoss, a division of Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 3.0.0.GA
+ </releaseinfo>
+
+<abstract>
+ <title></title>
+ <para>
+ <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/en/seam/pdf/S...
version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+ <toc></toc>
+
+
+<chapter id="intro"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/intro.xml"
xreflabel="intro">
+ <?dbhtml filename="intro.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Introduction</title>
+
+ <section>
+
+ <title>What is Seam?</title>
+ <para>This introduction will help you to understand what is <property
moreinfo="none">Seam</property>.</para>
+ <para><property moreinfo="none">Seam</property> is a
fully featured application framework on top of Java EE
+ 5. It is also one of the most popular enterprise Java framework today. Seam
deeply
+ integrates many other standard-based or open source frameworks (e.g., JSF,
EJB3, JMS,
+ Web Services, jBPM, JBoss Rules, Ajax4jsf, RichFaces, Facelets, Spring,
iText, Quartz,
+ TestNG, etc.), and provides a single programming model for developers to
+ "drive" those underlying frameworks via simple annotated POJOs
(Plain
+ Old Java Objects). It makes life easier for developers to tackle complex
enterprise
+ applications with many component frameworks.</para>
+ </section>
+
+ <section>
+ <title>Installation into Eclipse</title>
+
+ <para>Here, we are going to explain how to install Seam plugin into
Eclipse.</para>
+
+ <para>Seam is a one module of JBoss Tools project. Since Seam has a
dependence on other JBoss Tools modules we recommend you to install
+ a bundle of all <ulink
url="http://labs.jboss.com/tools/download/index.html">JBoss Tools
plug-ins</ulink>. Installation instruction you can find on JBoss Wiki in <ulink
url="http://labs.jboss.com/wiki/InstallingJBossTools">Instal...
section.</para>
+
+ </section>
+
+ <section>
+ <title>Other relevant resources on the topic</title>
+
+ <para>The <ulink
url="http://seamframework.org/">Seam
Framework</ulink> - Next generation enterprise Java development.</para>
+ <para>All latest release versions of JBoss Developer Studio/JBoss Tools
documentation you can find <ulink
url="http://docs.jboss.org/tools/2.1.0.GA/">here</ulink&g...
+ <para>The latest documentation builds are available <ulink
url="http://download.jboss.org/jbosstools/nightly-docs/">her...
+
+ </section>
+</chapter>
+
+
+<chapter id="create_seam" role="updated"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/creating_new_seam.xml"
xreflabel="create_seam">
+ <?dbhtml filename="create_new_seam.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Creating a New Seam Project via the New Seam Project
wizard</title>
+ <para>In this chapter we provide you with the necessary steps to start working
with Seam
+ Framework.</para>
+
+ <para>At first, we suggest setting the specific Seam perspective that combines
a number of
+ different views and editors needed for work with resources concerned. For that
select <emphasis>
+ <property moreinfo="none">Window > Open Perspective
> Other > Seam</property>
+ </emphasis> or you can also access it through the button in the right top
corner.</para>
+
+ <figure float="0">
+ <title>Seam Perspective Icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_0.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Also the <emphasis>
+ <property moreinfo="none">Open Web
Browser</property></emphasis> action is directly available in the <property
moreinfo="none">Seam perspective</property>.</para>
+
+ <figure float="0">
+ <title>Embedded Web Browser Button</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_01.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <section id="standaloneSeam" role="updated">
+ <title>Create standalone Seam Web Project</title>
+ <para>The best way to get started with Seam is to organise a simple Seam
Project and
+ experiment with it by creating variations.</para>
+ <para>Thus, you should select <emphasis>
+ <property moreinfo="none">File > New > Seam
Web Project</property>
+ </emphasis> to run the <property moreinfo="none">New
Seam Project</property> wizard. The wizard form
+ allows you to create runtime and server instances in order to get started
creating,
+ running, and debugging J2EE (only) applications.</para>
+ <para>Seam Web Project wizard has an option for selecting the actual Server
(not just WTP
+ runtime) that will be used for the project. This allows the wizard to
identify correctly
+ where the required datasource and driver libraries need to go.</para>
+ <para>Let's get through the wizard step-by-step. First, you should
enter a name and
+ a location directory for your new project.</para>
+
+ <figure float="0" id="figure_create_seam1">
+ <title>New Seam Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the figure above you can see the runtime and the server already
created.</para>
+
+ <para>If you need to create a new runtime, click on the <emphasis>
+ <property moreinfo="none">New...</property>
+ </emphasis> button in the <property
moreinfo="none">Target Runtime</property> section. It brings up the
+ wizard where you can specify a new JBoss Server Runtime environment or the
other type of
+ runtime appropriate for configuring your project. Let's create one more
JBoss 4.2
+ Runtime. Hence, after choosing it click on <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> button.</para>
+
+ <figure float="0">
+ <title>Specifying Target Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>All what you need here is to name runtime, type the path to its
install directory or
+ locate it by using <emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button, select a Java Runtime Environment, and select which
configuration
+ you want.</para>
+
+ <figure float="0">
+ <title>Specifying Target Runtime Configurations</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para> Clicking on <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> returns you to the <link
linkend="figure_create_seam1">New Seam Project
+ wizard page</link>.</para>
+
+ <para>The next step is to define a Server that you can do by clicking
+ on <emphasis>
+ <property moreinfo="none">New...</property>
+ </emphasis> button in the <property
moreinfo="none">Target Server</property> section. In appeared
+ <property moreinfo="none">New Server
dialog</property> the last server which matches the runtime
+ will be selected.</para>
+
+ <para>All declared runtimes are listed in the combo box under the servers
view. Here, you
+ can indicate a server runtime that you need. Click <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> if you want to add a new Server Runtime.</para>
+
+ <figure float="0">
+ <title>Specifying Target Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Next page allows you to verify the information for chosen server.
Leave everything as
+ it is and click on <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis>.</para>
+
+ <figure float="0">
+ <title>Specifying Server Configurations</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the last wizard step you can modify your projects to configure
them on the
+ Server.</para>
+
+ <figure float="0">
+ <title>Project Modification for Configuring on the
Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>Once you have the Target Server defined click on <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> button to return to the first page of the <property
moreinfo="none">New Seam Project
+ wizard</property>.</para>
+
+ <tip>
+ <title>Tip:</title>
+ <para>We suggest that you look through our <ulink
url="../../as/html_single/index.html">AS manager
+ guide</ulink> to find out more about runtimes and
servers.</para>
+ </tip>
+
+ <figure float="0">
+ <title>Completion of Runtime and Server Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The last section on this wizard step is <property
moreinfo="none">Configuration</property>. Here, you
+ can select one of the pre-defined project configurations either associated
with Seam
+ 1.2, Seam 2.0 or with Seam 2.1. Furthermore, you can create your own
configuration by
+ pressing the <emphasis>
+ <property moreinfo="none">Modify...</property>
+ </emphasis> button. It will open the dialog which allows to configure
your own set of
+ facets for adding extra functionality to your project.</para>
+
+ <para>Pass to the next section to find out more details on this
dialog.</para>
+
+ </section>
+ <section id="projectFacets">
+ <title>Select the Project Facets</title>
+
+ <para>The <property moreinfo="none">Project Facets
wizard</property> allows you to enable or disable
+ specific facets which define necessary characteristics for the project. In
time you
+ switch to this wizard form, all critical facets are already checked for the
chosen
+ Configuration.</para>
+
+ <para>Notice that this page of the wizard also allows you to set the
necessary version for
+ any facet. </para>
+
+ <figure float="0">
+ <title>Project Facets Selection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Moreover, here you can specify your own preset of selected facets by
checking needed
+ ones in project facets window and clicking on <emphasis>
+ <property moreinfo="none">Save</property>
+ </emphasis> button.</para>
+
+ <figure float="0">
+ <title>Specifying Custom Facet Preset</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_15.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>To see all available Server runtimes click on <property
moreinfo="none">Runtimes</property> tab on the
+ left. You can create a new one using the <emphasis>
+ <property moreinfo="none">New</property>
+ </emphasis> button. If more than one runtimes are checked here, the
<emphasis>
+ <property moreinfo="none">Make Primary</property>
+ </emphasis> button won't be dimmed yet. So you can make use of it
to mark
+ primary runtime.</para>
+
+ <figure float="0">
+ <title>Runtime Manipulations</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_16.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para><emphasis>
+ <property moreinfo="none">Ok</property>
+ </emphasis> button will bring you to the <property
moreinfo="none">Web Module</property> wizard form
+ again.</para>
+ </section>
+
+ <section id="configureWebModule">
+ <title>How to Configure Web Module Settings</title>
+
+ <para> As we deal with a Dynamic Web Application we should first specify
the top level
+ directory of our application for deploying it to a server afterwards. You
know, this
+ kind of application contains both Web and Java code resources. Thus, it's
also important
+ to indicate the content directory as well as Java source directory. The
wizard will put
+ all those values itself. So you can leave everything as it is.</para>
+
+ <figure float="0">
+ <title>Web Module Settings</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Choose <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to switch to the next wizard form.</para>
+ </section>
+
+ <section id="addJSFCapab">
+ <title>Adding JSF Capabilities</title>
+
+ <para>This wizard helps you to add JSF capabilities into your project for
representing
+ appropriate behaviours associated with JSF. </para>
+ <para>Checking <emphasis>
+ <property moreinfo="none">Server Supplied JSF
Implementation</property>
+ </emphasis> means that you will have a default JSF implementation given
by
+ server.</para>
+
+ <figure float="0">
+ <title>Adding JSF Capabilities to Web Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In case when you want to use your custom JSF implementation check a
lower radio
+ button. You are able to create a library of jars by clicking on
<emphasis>
+ <property moreinfo="none">New</property>
+ </emphasis> button.</para>
+ <para>Here, it's necessary to type a <property
moreinfo="none">Library Name</property>, select a
+ <property moreinfo="none">Version
Supported</property> and add proper <property
moreinfo="none">Library
+ jars</property>. Then click on <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> to complete the choice.</para>
+ <figure float="0">
+ <title>Create JSF Implementation Library</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the Component Libraries section of the wizard you can also add
<property moreinfo="none">Component
+ Libraries</property> (e.g. <ulink
url="http://www.jboss.org/jbossrichfaces">Richfaces</ulink>). Just
click on <emphasis>
+ <property moreinfo="none">New</property>
+ </emphasis> button. Appeared dialog will ask you to type the Library
name, supported
+ version and add necessary jar's. Press <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> to complete the choice.</para>
+
+ <figure float="0">
+ <title>Create JSF Implementation Component Library</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_18.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The last wizard options allows to edit a path for <property
moreinfo="none">JSF Configuration
+ File</property>, a name for <property
moreinfo="none">JSF Servlet</property>, <property
moreinfo="none">JSF Servlet
+ Classname</property> and change <property
moreinfo="none">URL Mapping Patterns</property>.</para>
+
+ <figure float="0">
+ <title>JSF Capabilities Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_19.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Finally, as we are arranging the Seam Web project, the last step we
should do is to
+ adjust project configurations associated with the Seam.</para>
+ </section>
+
+ <section id="seamFacet">
+ <title>Configure Seam Facet Settings</title>
+
+ <para>The last wizard step is related to Seam facet and allows you to do
the
+ following:</para>
+ <figure float="0">
+ <title>Seam Facet Settings</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Create Seam runtime and define Seam home
folder.</para>
+ </listitem>
+ </itemizedlist>
+ <para>For that click on <emphasis>
+ <property moreinfo="none">Add</property>
+ </emphasis> button in the <property
moreinfo="none">General</property> section. Notice that in this
+ wizard presented below you can create a Seam runtime only for that version
which was
+ selected in the <link linkend="projectFacets">Project
Facets</link> wizard (version 1.2
+ in our case).</para>
+
+ <figure float="0">
+ <title>Seam Runtime Creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Select EAR or WAR deployment by checking a necessary radio
button.</para>
+ </listitem>
+ <listitem>
+ <para>Select a <emphasis>
+ <property moreinfo="none">Database
Type</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Seam Runtime Creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_20.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>and then specify a <emphasis>
+ <property moreinfo="none">Connection
profile</property>
+ </emphasis> appropriate for your database.</para>
+
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Connection Profile Options</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_21.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can edit chosen profile by using <emphasis>
+ <property moreinfo="none">Edit</property>
+ </emphasis> button or organise a new one by clicking on
<emphasis>
+ <property moreinfo="none">New</property>
+ </emphasis> button and selecting necessary for you type of connection
profile.</para>
+ <figure float="0">
+ <title>Connection Profile Selecting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the other dialog you'll be asked to enter its name and
description. And
+ then you should select a proper driver and adjust connection details. Press
<emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> to preview all the adjusted settings and complete the
creation of the new
+ profile.</para>
+
+ <figure float="0">
+ <title>Connection Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_22.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The next block of settings in the Seam Facet wizard are describing a
Database and a
+ connection to it.</para>
+ <para>In the <property moreinfo="none">Code
Generation</property> section the wizard have already put the
+ names for your <property moreinfo="none">Session
Bean</property>, <property moreinfo="none">Entity
Bean</property> and
+ <property moreinfo="none">Test</property> packages.
Of course, you can change them into the others
+ which you like.</para>
+
+ <figure float="0">
+ <title>Code Generation Section</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/create_new_seam/create_seam_14.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Click on <emphasis>
+ <property moreinfo="none">Finish</property>
+ </emphasis> to generate a project.</para>
+
+ <para></para>
+ </section>
+</chapter>
+
+
+<chapter id="directory_str"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/directory_structure.xml"
xreflabel="directory_str">
+ <?dbhtml filename="directory_structure.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>Eclipse</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Directory Structure of the Generated Project</title>
+
+ <para>In this chapter we describe where the Seam wizard puts the generated
files for both EAR
+ and WAR deployments.</para>
+ <para>The Seam Project wizard generates projects like Eclipse WTP style in
order to utilize
+ Eclipse WTP features and to have a correct classpath. To be more precise it
generates one
+ project per artifact.</para>
+
+ <section id="WAR">
+ <title>WAR Deployment</title>
+
+ <para>The project layout for WAR projects is:</para>
+
+ <figure float="0">
+ <title>Project Layout for WAR projects</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_1.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>A WAR project can only use Seam JavaBean and JPA Entity bean
components; it cannot use
+ EJB3 Session beans etc.</para>
+ <para>WAR projects are generated to enable Seam 1.2.1 war hotdeploy
feature. Classes put
+ into <emphasis>
+ <property moreinfo="none">src/action</property>
+ </emphasis> will be deployed to <emphasis>
+ <property moreinfo="none">WEB-INF/dev</property>
+ </emphasis> from which Seam 1.2.1 automatically will perform hotdeploy
of new
+ components.</para>
+ <note>
+ <title>Note:</title>
+ <para>Because of Eclipse WTP limits the hot deployed classes also
existed in <emphasis>
+ <property
moreinfo="none">WEB-INF/classes</property>, </emphasis> but since
Seam gives <emphasis>
+ <property
moreinfo="none">WEB-INF/dev</property>
+ </emphasis> precedence it will work.</para>
+ </note>
+
+ <para>Furthermore the Seam Project wizard generates a test project that is
setup to run
+ <link linkend="testNG">TestNG</link> directly
against the proper libraries and
+ server runtime libraries. When the TestNG plugin is installed you can just
run your
+ tests via <emphasis><property moreinfo="none">Run As
> TestNG Test</property>.</emphasis></para>
+ <para>In order to deploy WAR project on server, right-click on the project
and select <emphasis>
+ <property moreinfo="none">Run As > Run on
Server</property>.</emphasis> Studio will deploy
+ WAR project into one web application on server to <property
moreinfo="none">deploy</property>
+ folder.</para>
+
+ </section>
+
+ <section id="EAR">
+ <title>EAR Deployment</title>
+ <para>The project layout for EAR projects is:</para>
+
+ <figure float="0">
+ <title>Project Layout for EAR projects</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_2.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>An EAR project can use the whole range of Seam components, including
EJB3 Session
+ beans.</para>
+ <para>In order to deploy EAR project on server, right-click on the project
with
+ <property moreinfo="none">-ear</property> postfix
and select <emphasis>
+ <property moreinfo="none">Run As > Run on
Server</property>.</emphasis> Studio will take care
+ about all modules and deploy EAR project into one enterprise application on
server to
+ <property moreinfo="none">deploy</property> folder.
EAR application keeps <property moreinfo="none">ejb</property>
+ and <property moreinfo="none">war</property> modules of
the EAR project.</para>
+ </section>
+
+ <section id="seam_version_changing">
+
+ <title>Changing the Seam Version</title>
+
+ <para>To upgrade or downgrade your projects Seam version use the facet
preferences. You
+ should right-click your project and choose <emphasis>
+ <property moreinfo="none">Project
Facets</property>
+ </emphasis> category. Next select <emphasis>
+ <property moreinfo="none">Seam</property>
+ </emphasis> and change its version to needed one.</para>
+
+ <figure float="0">
+ <title>Changing the Seam Facet Version</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_3.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After pressing <emphasis>
+ <property moreinfo="none">Apply</property>
+ </emphasis> the wizard for adjusting new Seam runtime settings
appears.</para>
+
+ <figure float="0">
+ <title>Changing the Seam Facet Version</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_4.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you need to update the libraries for you project, check the
<emphasis>
+ <property moreinfo="none">Update
libraries</property>
+ </emphasis> option. All libraries you checked will be removed and the
libraries from the
+ new Seam distribution will be added after clicking <emphasis>
+ <property
moreinfo="none">Ok</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Changing the Seam Facet Version</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_5.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>The note "Seam configuration files and their XSDs won't
be changed" is
+ meant that the libraries, Seam facet and runtime version will be changed,
but
+ configuration files that refer to the old version will have to be
manually
+ updated.</para>
+ </note>
+ </section>
+
+ <section id="changing_seam_parent_project">
+ <title>Changing Seam Parent Project</title>
+
+ <para>Starting from the 2.0.0.CR2 version of <property
moreinfo="none">JBoss Tools</property> it is possible
+ to change the Seam parent project. In earlier versions this was only
controllable at a
+ project creation time, now it can be changed for existing projects
too.</para>
+
+ <para>Go to your project preferences and select <emphasis>
+ <property moreinfo="none">Seam Settings</property>
+ </emphasis> category on the left. Press the <emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button next to the <emphasis>
+ <property moreinfo="none">Main Seam
Project</property>
+ </emphasis> section to select the other Seam parent
project.</para>
+
+ <figure float="0">
+ <title>Changing Seam Parent Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/directory_structure/directory_structure_6.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="renaming_projects_folders">
+ <title>Renaming the Projects and Folders</title>
+
+ <para>If you need to rename one of the Seam Project artifacts
+ (<emphasis><project_name></emphasis>,
+ <emphasis><project_name>-test</emphasis>,
+ <emphasis><project_name>-test</emphasis> or
+ <emphasis><project_name>-ejb</emphasis>) or any
entire folder like
+
<emphasis><project_name>/WebContent</emphasis>,
+ <emphasis><project_name>/ejbModule</emphasis>,
+
<emphasis><project_name>-test/test-src</emphasis>, or project
name in
+ packages
<emphasis>org.domain.<project_name>.session</emphasis>,
+
<emphasis>org.domain.<project_name>.entity</emphasis>, you can
do this
+ by brining the context menu and navigating <emphasis>
+ <property moreinfo="none">Refactor >
Rename...</property>
+ </emphasis> or just pressing <emphasis>
+ <property moreinfo="none">Shift + Alt +
R</property>
+ </emphasis> under the chosen resource.</para>
+
+ <para>Use <emphasis>
+ <property moreinfo="none">Refactor >
Move...</property>
+ </emphasis> (or <emphasis>
+ <property moreinfo="none">Shift + Alt +
V</property>
+ </emphasis>), if you need to move
+ <emphasis><project_name>/WebContent</emphasis>
folder,
+ <emphasis><project_name>/ejbModule</emphasis>
folder or
+ <emphasis><project_name>/test-src</emphasis>
folder in the other place
+ within the Project structure.</para>
+ </section>
+</chapter>
+
+
+<chapter id="menus_and_actions"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/seam_menus_and_actions.xml"
xreflabel="menus_and_actions">
+ <?dbhtml filename="seam_menus_and_actions.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>menus</keyword>
+ <keyword>actions</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Menus and Actions</title>
+
+ <para>In this chapter we provide a description of Seam actions that are
available from</para>
+ <itemizedlist>
+ <listitem>
+ <para>Menu bar</para>
+ </listitem>
+ <listitem>
+ <para>Toolbar</para>
+ </listitem>
+ <listitem>
+ <para>Context menus in views</para>
+ </listitem>
+ </itemizedlist>
+
+
+ <section id="file_menu">
+
+ <title>File Menu Actions</title>
+
+ <para>In a Seam perspective, by default there are the following actions in
<emphasis>
+ <property moreinfo="none">File >
New</property>
+ </emphasis> submenu</para>
+
+ <table>
+ <title>Seam Actions in the New Submenu</title>
+ <tgroup cols="2">
+ <colspec align="left" colnum="1"
colwidth="1*"></colspec>
+ <colspec colnum="2"
colwidth="4*"></colspec>
+
+ <thead>
+ <row>
+ <entry align="center">
+ <para>Name</para>
+ </entry>
+
+ <entry align="center">
+ <para>Function</para>
+ </entry>
+
+ </row>
+ </thead>
+
+ <tbody>
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam Web
Project</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="standaloneSeam">New Seam Project</link> wizard
+ for creating a new Seam project </para>
+ </entry>
+
+
+ </row>
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam
Action</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="seam_action">New Seam Action</link> wizard for
+ creating a new Seam action </para>
+ </entry>
+
+
+ </row>
+
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam
Form</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="seam_form">New Seam Form</link> wizard for
+ creating a new Seam form </para>
+ </entry>
+
+
+ </row>
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam
Entity</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="seam_entity">New Seam Entity</link> wizard for
+ creating a new Seam entity </para>
+ </entry>
+
+
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam
Conversation</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="seam_conversation">New Seam
+ Conversation</link> wizard for creating a new Seam
conversation
+ </para>
+ </entry>
+
+
+
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Seam Generate
Entities</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Runs <link
linkend="generate_entities">Generate Seam
+ Entities</link> wizard</para>
+ </entry>
+
+
+
+ </row>
+
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ </section>
+
+ <section id="navigate_menu">
+ <title>Navigate Menu Actions</title>
+
+ <para>In the next sections we are going to describe Seam actions which can
help you to
+ easily navigate through the source code.</para>
+
+ <section id="find_seam_ref_decl">
+
+ <title>Find Seam References/Declarations</title>
+
+ <para>To find EL expretions both in <emphasis>
+ <property moreinfo="none">.java</property>
+ </emphasis> and <emphasis>
+ <property moreinfo="none">.xhtml</property>
+ </emphasis> files use Find Seam References/Declarations actions.
For that, in the main menu bar click on <emphasis>
+ <property moreinfo="none">Search > Find Seam
References</property>
+ </emphasis> or <emphasis><property
moreinfo="none">Find Seam Declarations</property>.</emphasis>
+ </para>
+
+ <para>Look at the description of the actions in the table
below.</para>
+
+ <table>
+ <title>Find Seam References/Declarations actions</title>
+ <tgroup cols="3">
+ <colspec align="left" colnum="1"
colwidth="1*"></colspec>
+ <colspec colnum="2"
colwidth="4*"></colspec>
+ <colspec colnum="3"
colwidth="2*"></colspec>
+
+
+ <thead>
+ <row>
+ <entry align="center">
+ <para>Name</para>
+ </entry>
+
+ <entry align="center">
+ <para>Function</para>
+ </entry>
+
+ <entry align="center">
+ <para>Keyboard Shortcut</para>
+ </entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Find Seam
References</property>
+ </para>
+ <para>
+ <property moreinfo="none">Find Seam
Declarations</property>
+ </para>
+ </entry>
+
+ <entry>
+ <para>Find all references and declarations to the
selected element.
+ It's available for EL expressions in both .java
and .xhtml
+ files. Differs from normal Eclipse Find
References/Declarations
+ by showing an EL or Seam references in the Search
View. </para>
+ </entry>
+
+ <entry>
+ <para>Ctrl+G</para>
+ <para>Ctrl+Shift+G</para>
+ <para>also Ctrl + 1 for .java files</para>
+
+ </entry>
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <para>On the screenshot example below you could see that the search
results are listed
+ in the
+ <property moreinfo="none">Search
view</property>.
+ </para>
+
+ <figure float="0">
+ <title>Find Seam Declaration for
"Identity"</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_menus_and_actions/menus_and_actions1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can also use Ctrl + 1 in .java files to activate the
actions:</para>
+
+ <figure float="0">
+ <title>Find Seam References for "Identity"</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_menus_and_actions/menus_and_actions2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="open_seam_component">
+ <title>Open Seam Component</title>
+
+ <para>To open Seam Components click on <emphasis><property
moreinfo="none">Navigate > Open Seam
+ Component</property></emphasis> in the main menu bar. This
dialog is also available from toolbar
+ icon or with hot keys combination "Ctrl+Shift+Z
".</para>
+
+ <figure float="0">
+ <title>Open Seam Components icon</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_menus_and_actions/menus_and_actions3_0.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the table below read a description about the
dialog.</para>
+
+ <table>
+ <title>Open Seam Components Dialog</title>
+ <tgroup cols="3">
+ <colspec align="left" colnum="1"
colwidth="1*"></colspec>
+ <colspec colnum="2"
colwidth="4*"></colspec>
+ <colspec colnum="3"
colwidth="2*"></colspec>
+
+
+ <thead>
+ <row>
+ <entry align="center">
+ <para>Name</para>
+ </entry>
+
+ <entry align="center">
+ <para>Function</para>
+ </entry>
+
+ <entry align="center">
+ <para>Keyboard Shortcut</para>
+ </entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+
+ <row>
+ <entry>
+ <para>
+ <property moreinfo="none">Open Seam
Components</property>
+ </para>
+
+ </entry>
+
+ <entry>
+ <para>Brings up the Open Seam Component dialog to
open a component
+ in the editor. The Open Seam Component selection
dialog shows
+ all Seam components existing in the workspace. You
can search
+ the components via their short, imported or full
name.</para>
+ </entry>
+
+ <entry>
+ <para>Ctrl+Shift+Z</para>
+
+ </entry>
+
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>Enter a name in the text field and see the results as it shown on
screenshot: </para>
+
+ <figure float="0">
+ <title>Open Seam Components Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_menus_and_actions/menus_and_actions3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="seam_wizards"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/seam_wizards.xml"
xreflabel="seam_wizards">
+ <?dbhtml filename="seam_wizards.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Wizards</title>
+
+ <para>This chapter introduces you with Seam Components.</para>
+ <para>All the Seam component generations options known from Seam-gen are
available as wizards
+ (with sensible auto-defaulting) for creating various common Seam
components:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property moreinfo="none">Seam Action</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property moreinfo="none">Seam Form</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property moreinfo="none">Seam Entity</property>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property moreinfo="none">Seam
Conversation</property>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Go to <emphasis>
+ <property moreinfo="none">File > New</property>
+ </emphasis> and select the component wizard.</para>
+
+ <figure float="0">
+ <title>Seam Component Wizards</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The wizards create multiple resources and place it in the appropriate
folders depending on
+ your project structure (WAR or EAR).</para>
+ <para>Let's create a WAR project using the New Seam Project
wizard.</para>
+
+ <figure float="0">
+ <title>Seam Project WAR Deployment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After the project is created you need deploy it on server.</para>
+
+
+ <section id="seam_action">
+
+ <title>New Seam Action</title>
+
+ <para>In this and following sections you can see example creating Seam
Components.</para>
+ <para>To create a New Seam Action you should select a necessary project,
type a name for
+ <property moreinfo="none">Seam
component</property>, <property moreinfo="none">POJO
class</property>,
+ <property moreinfo="none">Method</property>,
<property moreinfo="none">Page</property> and select a
+ <property moreinfo="none">Package</property> using
the <emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button.</para>
+
+ <figure float="0">
+ <title>New Seam Action Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you specify a class which already exists, the wizard will warn you
about it.</para>
+
+ <figure float="0">
+ <title>Wizard Warning against Existing File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/action_warning.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can see the action page in <property
moreinfo="none">WebContent</property> folder. Click on it to
+ open in JBoss Tools HTML Editor.</para>
+
+ <figure float="0">
+ <title>Action Page in JBoss Tools HTML Editor.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_5.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <note>
+ <title>Note:</title>
+ <para>You don't need to restart the server to see how the action
component works. Just
+ use context menu <emphasis><property
moreinfo="none">Run As > Run On
+ Server</property>.</emphasis></para>
+ </note>
+
+ <para>Action component was hot-deployed. Forms and Conversations will work
the same
+ way.</para>
+
+ <figure float="0">
+ <title>Action Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+
+ </section>
+ <section id="seam_form">
+ <title>New Seam Form</title>
+
+ <para>Click on <property
moreinfo="none">actionMethod</property> in the internal browser and add
a form in
+ your project using the New Seam Form wizard <emphasis><property
moreinfo="none">File > New > Seam
+ Form</property>.</emphasis></para>
+ <para>Select a necessary project, type a name for <property
moreinfo="none">Seam component</property>,
+ <property moreinfo="none">POJO class</property>,
<property moreinfo="none">Method</property>,
+ <property moreinfo="none">Page</property> and
select a <property moreinfo="none">Package</property> using
<emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button.</para>
+
+ <figure float="0">
+ <title>New Seam Form Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you specify a class which already exists, the wizard will warn you
about it.</para>
+
+ <figure float="0">
+ <title>Wizard Warning against Existing File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/form_warning.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Form Page was created in <property
moreinfo="none">WebContent</property> folder.</para>
+
+ <figure float="0">
+ <title>Form Page in JBoss Tools HTML Editor.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_8.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Deploy the form on server. Right click on Form Page, select
<emphasis><property moreinfo="none">Run As
+ > Run On
Server</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Form Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Form component was hot-deployed.</para>
+
+ </section>
+
+ <section id="seam_conversation">
+ <title>New Seam Conversation</title>
+
+ <para>Enter some value in the text field (e.g. <property
moreinfo="none">value1</property>) and click on
+ <property
moreinfo="none">formMethod</property>.</para>
+ <para>Add a conversation using the New Seam Conversation wizard
<emphasis><property moreinfo="none">File >
+ New > Seam
Form</property>.</emphasis></para>
+ <para>You should select a necessary project, type a name for <property
moreinfo="none">Seam
+ component</property>, <property
moreinfo="none">POJO class</property>, <property
moreinfo="none">Method</property>,
+ <property moreinfo="none">Page</property> and
select a <property moreinfo="none">Package</property> using
<emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button.</para>
+
+
+ <figure float="0">
+ <title>New Seam Conversation Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you specify a class which already exists, the wizard will warn you
about it.</para>
+
+ <figure float="0">
+ <title>Wizard Warning against Existing File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/conversation_warning.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Conversation page was created in <property
moreinfo="none">WebContent</property> folder.</para>
+
+ <figure float="0">
+ <title>Conversation Page in JBoss Tools HTML Editor.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_11.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Right click on Conversation page, select <emphasis><property
moreinfo="none">Run As > Run On
+ Server</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Conversation Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Conversation component was hot-deployed.</para>
+ <para>Click on <property
moreinfo="none">Begin</property> and <property
moreinfo="none">Increment</property> buttons to
+ check the conversation functionality.</para>
+
+ </section>
+
+
+ <section id="seam_entity">
+ <title>New Seam Entity</title>
+
+ <para>Entities cannot be hot-deployed, so we need to stop the
server.</para>
+ <para>Create an Entity using the New Entity wizard
<emphasis><property moreinfo="none">File > New > Seam
+ Entity</property>.</emphasis>
+ </para>
+
+ <para>You should select a necessary project, type a name for <property
moreinfo="none">Entity
+ class</property>, select a <property
moreinfo="none">Package</property> using <emphasis>
+ <property moreinfo="none">Browse</property>
+ </emphasis> button, type a name for <property
moreinfo="none">Master Page</property> and
+ <property
moreinfo="none">Page</property>.</para>
+
+ <figure float="0">
+ <title>New Seam Entity Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you specify a class which already exists, the wizard will warn you
about it.</para>
+
+ <figure float="0">
+ <title>Wizard Warning against Existing File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/entity_warning.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Master Page and the Entity were created in <property
moreinfo="none">WebContent</property>
+ folder.</para>
+
+ <figure float="0">
+ <title>Master Page in JBoss Tools HTML Editor.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_14.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Entity page is:</para>
+
+ <figure float="0">
+ <title>Entity Page in JBoss Tools HTML Editor.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_15.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Run the Entity page on server. This is what you get:</para>
+
+ <figure float="0">
+ <title>Customer Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_16.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Let's create two customers <property
moreinfo="none">c1</property> and <property
moreinfo="none">c2</property>. Enter
+ the name in the text field and press the <property
moreinfo="none">Save</property> button. Customer
+ should be successfully created. Press <property
moreinfo="none">Done</property>. Do the same for
+ <property moreinfo="none">c2</property> customer.
The result should be:</para>
+
+ <figure float="0">
+ <title>Two Customers Are Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_wizards/seam_wizards_17.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+</chapter>
+
+
+<chapter id="generate_entities"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/generate_entities.xml"
xreflabel="generate_entities">
+ <?dbhtml filename="generate_entities.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Generate Entities</title>
+
+ <para>The main purpose of this chapter is to tell you about Seam Generate
Entities.</para>
+ <para>Generate Entities is available directly from within Eclipse using
Hibernate Tools plugin for the standard seam-gen generation.</para>
+ <para>Generate Entities generates a set of CRUD Seam components and web pages
based on existing tables in a database or on existing entities in your
application.</para>
+
+
+ <figure float="0">
+ <title>Generate Seam Entities Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/generate_entities/generate_entities1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the Generate Seam Entities wizard there are two generation modes:
Reverse Engineer from database
+ and Use existing entities.</para>
+
+ <para>The <property moreinfo="none">Reverse Engineer from
database</property> mode can be described in four steps:</para>
+ <orderedlist continuation="restarts" inheritnum="ignore">
+ <listitem><para>The wizard gets in database, extracts the tables and
+ their connections</para></listitem>
+ <listitem><para>On basis of this metainfomation the Entity classes
are generated into
+ <property
moreinfo="none">org.domain.project.entity</property>
package</para></listitem>
+ <listitem><para>For the entities from step 2 the classes <property
moreinfo="none">EntityList</property> and <property
moreinfo="none">EntityHome</property> are generated
+ into <property
moreinfo="none">org.domain.project.session</property>
package</para></listitem>
+ <listitem><para>The xhtml pages are
generated.</para></listitem>
+ </orderedlist>
+ <para>
+ Checking the <property moreinfo="none">Use existing
entities</property> mode the wizard executes only 3 and 4 steps. It generates
missing classes and
+ xhtml pages.
+ </para>
+
+ <para>Read the <link
linkend="crud_database_application">Generate a CRUD Database
Application</link> chapter in order to see how the <property
moreinfo="none">Generate Seam Entities</property> wizard can be
used.</para>
+
+
+ </chapter>
+
+
+
+<chapter id="seam_editors" role="updated"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/seam_editors.xml"
xreflabel="seam_editors">
+ <?dbhtml filename="seam_editors.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Editors Features</title>
+
+ <para>In this chapter you will know what Seam Editors features are and how to
work with them. </para>
+
+ <section id="ContentAssist">
+
+ <title>Content Assist</title>
+
+ <para><property moreinfo="none">Content
Assist</property> (Ctrl + Space) is available when using EL variables in the
following file formats:</para>
+ <itemizedlist>
+ <listitem>
+ <para>JSP</para>
+ </listitem>
+ <listitem>
+ <para>XHTML</para>
+ </listitem>
+ <listitem>
+ <para>XML</para>
+ </listitem>
+ <listitem>
+ <para>JAVA</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Notice, the code completion for the Seam components shows the
proposals marked with Seam icon.</para>
+
+ <figure float="0">
+ <title>Content Assist</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_1.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>To get Code Assist available for an externally generated and
imported project,
+ don't forget to enable Seam features and configure Seam Settings in
<link linkend="project_pref">Project
Preferences</link>.</para>
+ </note>
+
+ <section id="components_code_assist" role="new">
+ <title>Content Assist for components.xml</title>
+
+ <para>While you are editing a <emphasis>
+ <property
moreinfo="none">components.xml</property>
+ </emphasis> file you can make use of the Content Assist for
inserting needed
+ elements.</para>
+
+ <figure float="0">
+ <title>Content Assist in the component.xml Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_1a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The editor also makes code completion aware of methods/attributes
for EntityQuery
+ component.</para>
+
+ <figure float="0">
+ <title>Content Assist for EntityQuery Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_1b.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+
+ <section id="OpenOn">
+ <title>OpenOn</title>
+
+ <para><property moreinfo="none">OpenOn</property>
let's you easily navigate through your project without
+ using the Package Explorer or Project Explorer. After pressing
<emphasis>
+ <property moreinfo="none">Ctrl + left
click</property>
+ </emphasis> (or just F3) you will see a corresponding method or
class.</para>
+
+ <figure float="0">
+ <title>OpenOn</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>OpenOn is also supported in Page Descriptors(page.xml). You can
<property moreinfo="none">Ctrl + left click</property> on the bean
to open navigate to the bean you clicked on. </para>
+
+ <figure float="0">
+ <title>OpenOn in page.xml file</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_2a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+
+ </section>
+
+ <section id="SeamValidation">
+ <title>Seam Validation</title>
+
+ <para>Validation of various possible problematic definitions is implemented
for Seam
+ applications.</para>
+
+ <para>If an issue is found it will be shown in the standard <property
moreinfo="none">Problems
+ View</property>.</para>
+
+ <figure float="0">
+ <title>Seam Validation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_6.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>In the preferences page for Seam Validator you can see and modify the
validator
+ behavior. Go to <emphasis>
+ <property moreinfo="none">Window > Preferences
> JBoss Tools > Web > Seam > Validator</property>
+ </emphasis> and select the severity level for the optional Seam
Validator
+ problem.</para>
+
+ <figure float="0">
+ <title>Seam Validator Preferences</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On WTP projects validation are enabled by default and thus executed
automatically, but
+ on normal Java projects you will have to go and add the Validation builder of
your
+ project . It is available in the properties of your project under
+ <property moreinfo="none">Validation</property>.
The validations can be run manually by clicking
+ <property moreinfo="none">Validate</property> via
the context menu on your project which will
+ execute all the active WTP validations.</para>
+ </section>
+
+ <section id="ComponentsEditor">
+ <title>Structured components.xml Editor</title>
+
+ <para>When editing <property
moreinfo="none">components.xml</property> a structured tree editor is
available
+ in addition to pure source editing. It has a graphical view (Tree tab) and
source
+ (Source tab).</para>
+
+ <figure float="0">
+ <title>component.xml Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <note>
+ <title>Note:</title>
+
+ <para>You can view and edit <property
moreinfo="none">components.xml</property> and other xml files
+ directly in the Project Explorer and Properties sheet without opening
the
+ components.xml editor.</para>
+ </note>
+ <figure float="0">
+ <title>component.xml Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_editors/seam_editors_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="seam_view"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/seam_view.xml"
xreflabel="seam_view">
+ <?dbhtml filename="seam_view.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Views</title>
+
+ <section>
+ <title>Seam Components View</title>
+
+ <para>This chapter introduces you with Seam Components View.</para>
+ <para>The <property moreinfo="none">Seam Components
View</property> is available from Seam perspective. It provides a list of seam
components found in a project.</para>
+
+ <figure float="0">
+ <title>Seam Components View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Seam Components View can show a components default scope in two
ways:</para>
+
+ <itemizedlist>
+ <listitem><para>as labels on each component (click on the
triangular symbol at the top of the Seam Components View page and select
<emphasis><property moreinfo="none">Scope Presentation >
Label</property></emphasis>)</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>As label</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>as a node per scope where the components are
grouped under a node representing its default scope.</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>As node</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Seam Packages can be presented in two ways:</para>
+
+ <itemizedlist>
+ <listitem><para>Flat</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Flat Presentation of Seam Packages</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem><para>Hierarchical</para></listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Hierarchical Presentation of Seam Packages</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The Seam Component View can be filtered by choosing <property
moreinfo="none">Customize View</property>.</para>
+
+ <figure float="0">
+ <title>Customize View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select the <emphasis><property
moreinfo="none">Seam Components from
Libraries</property></emphasis> under the Filters tab.
+ This will make the view ignore components defined in jars. This will hide the
many built-in Seam components and leave only those that are actually defined in the
project or have been actively configured via components.xml. Therefore, deselecting the
filter will show you all available components.</para>
+ <para>Selecting the <emphasis><property
moreinfo="none">Seam Components from Referenced
Projects</property></emphasis> will hide the components that dependent on
other project.</para>
+
+ <figure float="0">
+ <title>Available Custimozations</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section>
+ <title>Project Explorer integration</title>
+
+ <para>If you don't like to have a view for every piece of information
in Eclipse, the content of the Seam Components view is also available as a node in the
built-in Project Explorer (not Package Explorer!) view in Eclipse.</para>
+
+ <figure float="0">
+ <title>Seam Components in Project Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_view/seam_view_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ </chapter>
+
+
+<chapter id="seam_preferences"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/seam_preferences.xml"
xreflabel="seam_preferences">
+ <!-- mark as new -->
+ <?dbhtml filename="seam_preferences.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+ <keyword>Seam</keyword>
+ <keyword>Preferences</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Seam Preferences</title>
+
+ <para>In this chapter you get to know how Seam preferences can be modified
during the
+ development process.</para>
+
+ <section id="gen_pref">
+ <title>General Preferences</title>
+
+ <para>Seam preferences can be set using the Seam preference page. Click on
+ <emphasis><property moreinfo="none">Window
> Preferences > JBoss Tools > Web >
+ Seam</property>.</emphasis></para>
+
+ <para>On this page you can manage the Seam Runtime. Use the appropriate
buttons to
+ <property moreinfo="none">Add</property> more
runtimes or to <property moreinfo="none">Remove</property> those
that
+ are not needed.</para>
+
+ <figure float="0">
+ <title>Seam Preferences Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Clicking on <property
moreinfo="none">Edit</property> button you get the form where you can
change the
+ path of Seam runtime home folder, modify name and version. Press
+ <property moreinfo="none">Finish</property> to
apply the changes.</para>
+
+ <figure float="0">
+ <title>Edit Seam Runtime</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences1_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <section id="validator_pref">
+
+ <title>Validator Preferences</title>
+
+ <para>Seam preference page includes a subsection <property
moreinfo="none">Validator</property>. See
+ <emphasis><property moreinfo="none">Window
> Preferences > JBoss Tools > Web > Seam >
+ Validator</property>.</emphasis></para>
+ <para>On this page you can choose a severity level for the various Seam
validator
+ problems. For example, if you want to ignore the case when component name
is
+ duplicated expand the <property
moreinfo="none">Components</property> node and select
+ <property moreinfo="none">Ignore</property>
next to <property moreinfo="none">Duplicate component
+ name</property>. After that you won't see the
error.</para>
+
+
+ <figure float="0">
+ <title>Seam Validator Preference Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences1_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Notice, that in the <emphasis>
+ <property moreinfo="none">Expression
language</property>
+ </emphasis> section there is now a preference for setting severity
of EL
+ Syntax. You can select whether the Seam validator displays an error, a
warning or just ignore the EL Syntax error.</para>
+
+ <figure float="0">
+ <title>Severity Preference for EL Syntax</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/el_syntax_error.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In the upper right corner of the page there is a <property
moreinfo="none">Configure Project
+ Specific Settings</property> link. Clicking on it you get the
form where you can choose a
+ project for specific setting. Project specific configuration allows you
to have
+ different validator settings for each project. Check the <property
moreinfo="none">Show only
+ projects with project specific settings</property> if you want
to see the
+ projects that have been already set. Click on <property
moreinfo="none">Ok</property>.</para>
+
+ <figure float="0">
+ <title>Project Specific Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences1_4.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You get the validator properties page for chosen project. Check
the
+ <property moreinfo="none">Enable project specific
settings</property> to be able to change the
+ settings.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>You can open the same page by right clicking on the needed
project in Package
+ Explorer, then <emphasis><property
moreinfo="none">Properties > Seam
+ Validator</property>.</emphasis></para>
+ </note>
+
+ <figure float="0">
+ <title>Validator Properties Page for Chosen Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences1_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ </section>
+ </section>
+
+ <section id="project_pref">
+ <title>Project Preferences</title>
+
+ <para>Once Seam project is created you can modify its settings. Right click
on Seam project
+ in Project Explorer and select <emphasis><property
moreinfo="none">Properties > Seam
+ Settings</property>.</emphasis></para>
+ <para>This project properties page allows you to have a flexible project
layout. It means
+ that you are not restricted with a specific project structure. You can use
the Seam
+ wizards (New Action, Form, Entity, etc.) on Maven, command line seam-gen or
your own
+ project structure. </para>
+
+ <figure float="0">
+ <title>Properties for Seam Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>The wizard doesn't allow the renaming of the artifacts listed
in the Seam
+ Settings. It's possible to do in the <property
moreinfo="none">Package Explorer</property>.
+ See <link linkend="renaming_projects_folders">Renaming
the Projects and
+ Folders</link>.</para>
+ </tip>
+
+ <para>Also notice, you are not required to use the <property
moreinfo="none">New Seam Project
+ wizard</property> to benefit from Seam artifact wizards. You can
just enable Seam on
+ your existing project by checking <property
moreinfo="none">Seam Support</property> and targeting to
+ Seam Runtime, and then configure the folders as you want.</para>
+
+ <figure float="0">
+ <title>Properties for Seam Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences2_2.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>On the figure above fields for configuring Seam artifacts are
dimmed because Seam
+ Runtime is not selected.</para>
+ </tip>
+
+ <para>In Seam Wizards (New Action, Form, Entity, Conversation, Generate
Entities) you can
+ get a quick access to project settings using the <property
moreinfo="none">Settings</property> link in
+ the upper right corner of each wizard.</para>
+
+ <figure float="0">
+ <title>Settings Link</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/seam_preferences/seam_preferences2_1.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ </section>
+
+</chapter>
+
+
+<chapter id="adding_seam_support_to_ear_project" role="new"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/adding_seam_support_to_ear_project.xml"
xreflabel="adding_seam_support_to _ear_project">
+ <?dbhtml filename="adding_seam_support_to _ear_project.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>EAR</keyword>
+ <keyword>Seam</keyword>
+ <keyword></keyword>
+ <keyword></keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Adding Seam support to EAR project</title>
+ <para>From this chapter you will find out how to add Seam support to EAR
project</para>
+ <para>For example you have several WTP projects:</para>
+
+ <itemizedlist>
+ <listitem><para> seamproject-ear (You can create WTP EAR project
using New -> Project -> Java EE -> Enterprise Application Project
wizard)</para></listitem>
+ <listitem><para> seamproject-ejb (You can create WTP EJB project
using New -> Project -> EJB -> EJB Project
wizard)</para></listitem>
+ <listitem><para> seamproject-war (You can create WTP WEB project
using New -> Project -> Web -> Dynamic Web Project
wizard)</para></listitem>
+ </itemizedlist>
+
+ <tip><title>Tip</title>
+ <para>You can add as many EJBs modules as you want just doing the same for
each EJB project.</para></tip>
+
+ <figure float="0">
+ <title>WTP Projects</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/wtp_projects.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Make sure EJB and WAR are included in EAR as modules (Properties for
seamproject-ear -> Java EE Module Dependencies)</para>
+
+ <figure float="0">
+ <title>Java EE Module Dependencies</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/java_ee_module_dependencies.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Make sure there is jboss-seam.jar in application.xml as
well:</para>
+
+ <figure float="0">
+ <title>Java EE Module Dependencies</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/application_xml_with_jboss-seam_jar.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>Then include libs from EAR to EJB Manifest Class-Path (Properties for
seamproject-ejb -> Java EE Module Dependencies)</para>
+
+ <figure float="0">
+ <title>Including Libs from EAR to EJB Manifest Class-Path</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/including_libs_from_ear_to_ejb_manifest_class-path.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Include libs from EAR and seamproject-ejb.jar to WAR Manifest Class-Path
(Properties for seamproject-war -> Java EE Module Dependencies)</para>
+
+ <figure float="0">
+ <title>Including Libs from EAR and seamproject-ejb.jar to WAR Manifest
Class-Path</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/including_libs_from_ear_to_war_manifest_class-path.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Thus we have set our WTP EAR/EJB/WAR projects and now we are ready to add
Seam support to them:</para>
+
+ <para>First you have to add Seam support to WAR project: Properties for
seamproject-war -> Seam Settings</para>
+
+
+ <figure float="0">
+ <title>Adding Seam Support to WAR Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/adding_seam_support_to_war_project.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>Set seamproject-war as Main Seam project. All other settings mostly are
used by New Seam Entity/Action/Form/Conversation/... Wizards. Thus you can set them as you
wish.</para>
+
+ <para>Then you can add Seam support to EJB project: Properties for
seamproject-war -> Seam Settings</para>
+
+ <figure float="0">
+ <title>Adding Seam Support to EJB Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/adding_seam_support_to_ejb_project.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>It&s important to set seamproject-war project as main Seam
project there.</para>
+ <para>It will allow Seam Tools to use one common Seam model for
seamproject-ejb and seamproject-war projects.</para>
+
+ <para>The last step is to clean/build the projects</para>
+
+ <para>That is all. You have added Seam support to your EAR project.
</para>
+
+ <figure float="0">
+ <title>Added Seam Support to EAR Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/adding_seam_support_to_project/added_seam_support_to_ear_project.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+</chapter>
+
+<chapter id="crud_database_application"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/crud_database_application.xml"
xreflabel="crud_database_application">
+ <?dbhtml filename="crud_database_application.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>CRUD</keyword>
+ <keyword>Database Application</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Generate a CRUD Database Application</title>
+ <section>
+ <title>What is CRUD?</title>
+ <para>
+ <property moreinfo="none">CRUD</property> is an acronym
for the four basic types of SQL commands: <emphasis>
+ <property moreinfo="none">Create</property>
+ </emphasis>, <emphasis>
+ <property moreinfo="none">Read</property>
+ </emphasis>, <emphasis>
+ <property moreinfo="none">Update</property>
+ </emphasis>, <emphasis>
+ <property moreinfo="none">Delete</property>
+ </emphasis>. Most applications have some kind of <property
moreinfo="none">CRUD</property>
+ functionality, and we can assume that every programmer had to deal with
+ <property moreinfo="none">CRUD</property> at some
point. A <property moreinfo="none">CRUD</property> application is
+ one that uses forms to get data into and out of a database. </para>
+ <para> In the next section we will create <link
linkend="intro">Seam</link> Web application,
+ connect it to the <ulink
url="http://www.hsqldb.org/">HSQL</ulink> database and add
+ <property moreinfo="none">CRUD</property> support.
</para>
+ </section>
+
+ <section>
+ <title>How to create the CRUD Database Application with Seam</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>First, you should <ulink
url="http://docs.jboss.org/tools/resources/">download</ul... a
database and start it by running <emphasis>
+ <property
moreinfo="none">./runDBServer.sh</property>
+ </emphasis> or <emphasis>
+ <property
moreinfo="none">runDBServer.bat</property>
+ </emphasis> from the database directory.</para>
+ </listitem>
+ <listitem>
+ <para>Create a new Seam Web Project using <property
moreinfo="none">New Seam Project
+ wizard</property> or main menu <emphasis><property
moreinfo="none">File > New > Seam Web
+ Project</property>.</emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Seam Web Project Creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_01.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Name your project as <emphasis>
+ <property
moreinfo="none">crudapp</property>, </emphasis> specify Target
Runtime, Server and
+ Seam Runtime configuration. Then press <emphasis>
+ <property moreinfo="none">Next</property>
+ </emphasis> and follow the next wizard steps keeping default
settings.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>New Seam Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_02.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <tip>
+ <title>Tip:</title>
+ <para>Please have a look <link
linkend="create_seam">here</link> how to create Target
+ Runtime and Seam Runtime in order to get started creating, running, and
debugging
+ J2EE applications.</para>
+ </tip>
+
+ <itemizedlist>
+ <listitem>
+ <para>On <emphasis>
+ <property moreinfo="none">Seam
Facet</property>
+ </emphasis> page click <emphasis>
+ <property
moreinfo="none">New...</property>
+ </emphasis> next to the <property
moreinfo="none">Connection profile</property> section to
+ create a new <property moreinfo="none">Connection
profile</property>.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Seam Facet page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_03.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>On <property moreinfo="none">New Connection
Profile</property> dialog select the <emphasis>
+ <property
moreinfo="none">HSQLDB</property>
+ </emphasis> connection profile type, name it <emphasis>
+ <property
moreinfo="none">cruddb</property>
+ </emphasis> and click <emphasis>
+ <property moreinfo="none">Next</property>.
</emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>New JDBC Connection Profile</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_04.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>On the next page click the round icon next to the
<emphasis>
+ <property
moreinfo="none">Drivers</property>
+ </emphasis> field to select a database driver.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>New JDBC Connection Profile Database Driver</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_06.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Now you should see the <property
moreinfo="none">New Driver Definition</property> dialog. On
+ the first tab select the <emphasis>
+ <property moreinfo="none">HSQLDB JBDC
Driver</property>. </emphasis> Underneath in the <emphasis>
+ <property moreinfo="none">Driver
name</property>
+ </emphasis> field you can change its name if you
need.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Database Driver Type</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_07.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>You may notice the note on the previous figure. It prompts
that you should
+ specify the driver of the type you pointed. Set the location of the
driver by
+ switching to the next tab and press <emphasis>
+ <property moreinfo="none">Add
JAR/Zip</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Driver Definition</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_09.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>On the <property
moreinfo="none">Properties</property> tab set the
+ <emphasis><property
moreinfo="none">Connection URL</property>,</emphasis>
+ <emphasis>
+ <property moreinfo="none">Database
Name</property>
+ </emphasis> and <emphasis>
+ <property moreinfo="none">User
ID</property>
+ </emphasis> and click <emphasis>
+ <property moreinfo="none">OK</property>.
</emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Driver Definitions Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_10.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>After clicking <emphasis>
+ <property moreinfo="none">OK</property>
+ </emphasis> to submit the newly created driver you can observe
and if you need
+ edit all specified connection details.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Driver and Connection Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_11.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Now click <emphasis>
+ <property moreinfo="none">Test
Connection</property>
+ </emphasis> to be sure that connection can be
established.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>JDBC Connection is OK</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_12.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Validate <emphasis>
+ <property moreinfo="none">JDBC Connection
profile</property>
+ </emphasis> settings and press <emphasis>
+ <property
moreinfo="none">Finish</property>
+ </emphasis> or <emphasis>
+ <property moreinfo="none">Back</property>
+ </emphasis> if something is wrong.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Validate JDBC Connection settings</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_13.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>After clicking <emphasis>
+ <property
moreinfo="none">Finish</property>
+ </emphasis> two projects <emphasis>
+ <property
moreinfo="none">crudapp</property>
+ </emphasis> and <emphasis>
+ <property
moreinfo="none">crudapp-test</property>
+ </emphasis> will be created.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>CRUDAPP Seam Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_14.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Have a look at the created projects. You can expand
+ <property
moreinfo="none">WEB_CONTENT</property> folder and open
+ <property
moreinfo="none">home.xhtml</property> or <property
moreinfo="none">login.xhtml</property> with
+ <property moreinfo="none">JBoss Visual
Editor</property>.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>login.xhtml in VPE</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_15.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Switch to <property moreinfo="none">Database
Development</property> perspective with <emphasis>
+ <property moreinfo="none">Window->Open
Perspective->Other...</property>
+ </emphasis> and connect to the <emphasis>
+ <property
moreinfo="none">cruddb</property>
+ </emphasis> database.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Connecting to the CRUDDB database</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_16.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Expand <emphasis>
+ <property
moreinfo="none">cruddb</property>
+ </emphasis> nodes to view its <emphasis>
+ <property
moreinfo="none">Schemas</property>, </emphasis>
+ <emphasis>
+ <property
moreinfo="none">Tables</property>, </emphasis>
+ <emphasis>
+ <property
moreinfo="none">Columns</property>
+ </emphasis> etc.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>CRUDDB Database</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_17.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Switch back to the <property
moreinfo="none">Seam</property> perspective. From the toolbar
+ select <emphasis>
+ <property moreinfo="none">New->Seam
Generate Entities</property>
+ </emphasis> to create a set of <property
moreinfo="none">CRUD</property> Seam components and web
+ pages based on existing tables in the database. On the first page of
<emphasis>
+ <property moreinfo="none">Generate Seam
Entities</property>
+ </emphasis> wizard keep everything by default and press
<emphasis>
+ <property moreinfo="none">Next</property>.
</emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Generate Seam Entities</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_18.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property
moreinfo="none">Refresh</property></emphasis> to display all the
tables from the
+ database.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Dialog for Selecting Tables</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_18a.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Now you can filter the tables. Use the <emphasis>
+ <property
moreinfo="none">Include</property>
+ </emphasis> button to include only necessary
ones.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Selecting Tables</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_18b.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Under <emphasis>
+ <property
moreinfo="none">WebContent</property>
+ </emphasis> folder you can find all generated <property
moreinfo="none">xhtml</property>
+ files:</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Entities Web Pages</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_19.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>And under <emphasis>
+ <property moreinfo="none">src</property>
+ </emphasis> folder java classes are created.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Entities Java Classes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_20.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Switch to <property
moreinfo="none">Hibernate</property> perspective with <emphasis>
+ <property moreinfo="none">Window->Open
Perspective->Other...</property>.
+ </emphasis> On <property
moreinfo="none">Hibernate Configurations</property> view expand the
<emphasis>
+ <property
moreinfo="none">crudapp</property>
+ </emphasis> configuration. Right click on <property
moreinfo="none">Customers</property> and
+ select <emphasis>
+ <property moreinfo="none">Open Mapping
Diagram</property>
+ </emphasis> from the popup menu.</para>
+ </listitem>
+ </itemizedlist>
+ <figure float="0">
+ <title>Hibernate Configurations View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_21.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Observe the <property moreinfo="none">Mapping
Diagram</property> opened in the editor. Here
+ you can see the relations between models and database tables. For
better
+ navigating on the diagram use the <property
moreinfo="none">Outline view</property>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Mapping Diagram</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_22.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>For example, select <property
moreinfo="none">Customers</property> entity, right click and
+ select <emphasis>
+ <property moreinfo="none">Open Source
File</property>.
+ </emphasis> This will open the <property
moreinfo="none">Customers.java</property> file in the
+ java editor. You can also do this by right-clicking on the same
entity on the
+ <property moreinfo="none">Mapping
Diagram</property>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Entity class from Mapping Diagram</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_database_application/crud_database_application_23.png"
scale="75"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>So far, you are ready to deploy your application to JBoss Application
Server. This
+ is described in the next chapter.</para>
+
+ </section>
+
+</chapter>
+
+
+<chapter id="crud_application_walkthrough"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/crud_application_walkthrough.xml"
xreflabel="crud_application_walkthrough">
+ <?dbhtml filename="crud_application_walkthrough.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>CRUD</keyword>
+ <keyword>JBoss AS</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>The CRUD Application Walkthrough</title>
+ <para>After you familiarized oneself with example of creating the CRUD Database
Application with
+ Seam, you can read this charter.</para>
+ <section>
+ <title>Using CRUD Application</title>
+ <para>To run your CRUD Application you should do the following
steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Run a project on the Server. </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>On <emphasis>
+ <property moreinfo="none">Package Explorer View
</property>
+ </emphasis> right click on the <emphasis>
+ <property moreinfo="none">crudapp</property>
+ </emphasis> project, select <emphasis><property
moreinfo="none"> Run As > Run on
+ Server</property>.</emphasis></para>
+
+ <figure float="0">
+ <title>Run Project on Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_1.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select a Server and click <property
moreinfo="none">Finish</property></para>
+
+ <figure float="0">
+ <title>Select a Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_3.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Home page of the <emphasis>
+ <property moreinfo="none">crudapp</property>
+ </emphasis> project should appear in <emphasis>
+ <property moreinfo="none">Web Browser</property>
+ </emphasis>.</para>
+ <figure float="0">
+ <title>Home page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_4.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After that you can use CRUD application with
+ <property
moreinfo="none">"employee"</property> database.</para>
+
+ <para>You can use internal JBDS Web Browser or your external Web Browser
with the same link
+ (<ulink
url="http://localhost:8080/crudapp/home.seam">http://localhost:8080/crudapp/home.seam</ulink>).
</para>
+ <para>Click on the <emphasis>
+ <property moreinfo="none">Employees
List</property>
+ </emphasis> link and observe that data from <emphasis>
+ <property moreinfo="none">employee</property>
+ </emphasis> database is displayed.</para>
+ <figure float="0">
+ <title>Employees List</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Use <property moreinfo="none">Employees search
parameters</property> fields to filter the selected
+ list.</para>
+
+ <para> Press <property
moreinfo="none">Select</property> opposite one of
employees.</para>
+ <figure float="0">
+ <title>Employee details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para> Press <property
moreinfo="none">Edit</property> to edit employee fields.</para>
+ <para> Enter <emphasis>
+ <property moreinfo="none">Login</property>
+ </emphasis> and <emphasis>
+ <property moreinfo="none">Password</property>
+ </emphasis> to login. (Use
+
<emphasis>"crudapp-user"/"secret"</emphasis> for
+ example)</para>
+
+ <figure float="0">
+ <title>Login page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure float="0">
+ <title>Edit Employee</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/crud_application_walkthrough/crud_application_walkthrough_8.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> Fill in <emphasis>
+ <property moreinfo="none">firstname</property>
+ </emphasis> and press <property
moreinfo="none">Save</property>.</para>
+ <para> Database will be updated.</para>
+ </section>
+</chapter>
+
+
+<chapter id="testNG"
xml:base="file:///home/ochikvina/WORK/for_compare/trunk/seam/docs/reference/en/modules/testng.xml"
xreflabel="testNG">
+ <?dbhtml filename="testNG.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JBDS</keyword>
+ <keyword>testNG</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Using TestNG project</title>
+ <para>With the help this chapter you will get to know with
TestNG.</para>
+ <section>
+ <title>What is TestNG?</title>
+ <para><property moreinfo="none">TestNG</property>
("Testing, the Next Generation") is a
+ Java unit testing framework that aims to overcome many limitations of JUnit.
TestNG
+ introduces some new functionalities that make it more powerful and easier to
use, such
+ as:</para>
+ <itemizedlist>
+ <listitem>
+ <para>JDK 5 Annotations (JDK 1.4 is also supported with JavaDoc
annotations)</para>
+ </listitem>
+ <listitem>
+ <para>Flexible test configuration</para>
+ </listitem>
+ <listitem>
+ <para>Support for data-driven testing (with
@DataProvider)</para>
+ </listitem>
+ <listitem>
+ <para>Support for parameters</para>
+ </listitem>
+ <listitem>
+ <para>Allows distribution of tests on slave machines</para>
+ </listitem>
+ <listitem>
+ <para>Powerful execution model (no more TestSuite)</para>
+ </listitem>
+ <listitem>
+ <para>Supported by a variety of tools and plug-ins (Eclipse, IDEA,
Maven,
+ etc...)</para>
+ </listitem>
+ <listitem>
+ <para>Embeds BeanShell for further flexibility</para>
+ </listitem>
+ <listitem>
+ <para>Default JDK functions for runtime and logging (no
dependencies)</para>
+ </listitem>
+ <listitem>
+ <para>Dependent methods for application server
testing</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>More information can be found on home page: <ulink
url="http://testng.org">www.testng.org</ulink></para>
+ </section>
+ <section id="OtherRelevantResourcesOnTheTopic5">
+ <?dbhtml filename="OtherRelevantResourcesOnTheTopic5.html"?>
+ <title>Other relevant resources on the topic</title>
+ <para>
+ <ulink
url="http://www.artima.com/lejava/articles/testng.html">Next...
Testing
+ with TestNG (An Interview with Cedric Beust)</ulink>
+ </para>
+ <para>
+ <ulink
url="http://www.javaworld.com/javaworld/jw-04-2005/jw-0404-testng.ht...:
+ The next generation of unit testing</ulink>
+ </para>
+ <para>
+ <ulink
url="http://dev2dev.bea.com/pub/a/2006/09/testng-categorization.html...
+ Categorization Techniques with TestNG</ulink>
+ </para>
+ <para>
+ <ulink
url="http://www-128.ibm.com/developerworks/java/library/j-testng/&qu...
makes
+ Java unit testing a breeze</ulink>
+ </para>
+ <para>
+ <ulink
url="http://www-128.ibm.com/developerworks/java/library/j-cq08296/in...
+ pursuit of code quality: JUnit 4 vs. TestNG</ulink>
+ </para>
+ </section>
+ <section>
+ <title>How to use the generated Seam-test project to run Seam
tests?</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Create a new Seam Web Project with EAR deployment using the
New Seam Project
+ wizard.</para>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>After a project is created you will have the generated
Seam-test project that
+ is setup to run TestNG directly against the proper libraries and
server runtime
+ libraries.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Seam-test Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/testng/testng_5.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Add Seam Action to your project via
<emphasis><property moreinfo="none">File > New > Seam
+ Action</property>.</emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Seam Action Creation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/testng/testng_6.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Fill out the wizard fields. New Seam Action wizard will
create resources and
+ place them in the appropriate folders dependent on EAR project
structure.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>New Seam Action Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/testng/testng_7.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>When Action is created you will see <property
moreinfo="none">actionPage.xhtml</property> in
+ Package Explorer view. <property
moreinfo="none">ActionBean.java</property> will be
+ automatically opened in Java Editor.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Created Action</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/testng/testng_8.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <property
moreinfo="none">ActionLocalTest.xml</property> in Seam-test project and
run
+ the test with right click <emphasis><property
moreinfo="none">Run As > TestNG
+ Suite</property>.</emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure float="0">
+ <title>Running TestNG</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/testng/testng_9.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The test process will start and its output will be written in Console
View.</para>
+
+ <figure float="0">
+ <title>Test is Finished</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/testng/testng_10.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <itemizedlist>
+ <listitem>
+ <para>After running TestNG you will have the test results in
<emphasis>
+ <property
moreinfo="none">test-output</property>
+ </emphasis> folder in Seam-test project (press F5 to refresh
the Package
+ Explorer view). Open <property
moreinfo="none">index.html</property> file with Web Browser or
+ simply use the TestNG view.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The below view shows a successful run of the test.</para>
+
+ <figure float="0">
+ <title>Viewing the Test Results</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/testng/testng_11.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>You can see the test results in Web Browser.</para>
+
+ <figure float="0">
+ <title>Test Results in Browser</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/testng/testng_12.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After clicking on <emphasis>
+ <property moreinfo="none">ActionLocal
Tests</property>
+ </emphasis> link you will see the Results for ActionLocal
Tests.</para>
+
+ <figure float="0">
+ <title>Test Information</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/testng/testng_13.png"
scale="70"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Select a result on the left-hand pane and its details will be
displayed on the
+ right-hand one.</para>
+
+ <figure float="0">
+ <title>ActionLocal Test Details</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/testng/testng_14.png"></imagedata>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Thus with Seam tooling you can easily take advantage of TestNG
framework. As you can
+ see, it generates its own TestNG project as a separate module within which
you can
+ easily monitor the tests execution and their output.</para>
+
+ <para>In conclusion, the main goal of this document is to get you know with
a full featureset
+ that <property moreinfo="none">JBoss Tools</property>
provides to support Seam development. Thus if you have
+ some questions, comments or suggestions on the topic, please fell free to ask
in the <ulink
url="http://www.jboss.com/index.html?module=bb&op=viewforum&...
+ Tools Forum</ulink>. You can also influence on how you want to see
JBoss Tools docs in
+ future leaving your vote on our page <ulink
url="http://wiki.jboss.org/wiki/JBossToolsDocsFuture">here&l...;.
</para>
+
+ <para>A set of movies on Seam tooling is available <ulink
url="http://docs.jboss.org/tools/movies">here</ulink>....
+ </section>
+</chapter>
+
+ <!-- TODO: drools used in this section is not available for eclipse .3.3
&business_application; -->
+
+</book>