Author: ochikvina
Date: 2008-03-25 09:56:19 -0400 (Tue, 25 Mar 2008)
New Revision: 7106
Added:
trunk/jsf/docs/jsf_tools_ref_guide/
trunk/jsf/docs/jsf_tools_ref_guide/en/
trunk/jsf/docs/jsf_tools_ref_guide/en/images/
trunk/jsf/docs/jsf_tools_ref_guide/en/master.xml
trunk/jsf/docs/jsf_tools_ref_guide/en/modules/
trunk/jsf/docs/jsf_tools_ref_guide/en/modules/introduction.xml
trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_project_verification.xml
trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_tools.xml
trunk/jsf/docs/jsf_tools_ref_guide/pom.xml
Log:
http://jira.jboss.com/jira/browse/JBDS-261 - new "JSF Tools Ref Guide" is created now from the "JSF support" chapter in Visual Web Tools guide
Added: trunk/jsf/docs/jsf_tools_ref_guide/en/master.xml
===================================================================
--- trunk/jsf/docs/jsf_tools_ref_guide/en/master.xml (rev 0)
+++ trunk/jsf/docs/jsf_tools_ref_guide/en/master.xml 2008-03-25 13:56:19 UTC (rev 7106)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"../../resources/support/docbook-dtd/docbookx.dtd"
+
+[
+<!ENTITY intoduction SYSTEM "modules/introduction.xml">
+<!ENTITY jsf_tools SYSTEM "modules/jsf_tools.xml">
+<!ENTITY jsf_project_verification SYSTEM "modules/jsf_project_verification.xml">
+]>
+<book>
+ <bookinfo>
+ <title>JSF Tools Reference Guide</title>
+ <copyright>
+ <year>2008</year>
+ <holder>Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ <para>Version: 2.0.0.GA</para>
+ </releaseinfo>
+ </bookinfo>
+
+ <toc/>
+
+ &introduction;
+ &jsf_tools;
+ &jsf_project_verification;
+</book>
\ No newline at end of file
Added: trunk/jsf/docs/jsf_tools_ref_guide/en/modules/introduction.xml
===================================================================
--- trunk/jsf/docs/jsf_tools_ref_guide/en/modules/introduction.xml (rev 0)
+++ trunk/jsf/docs/jsf_tools_ref_guide/en/modules/introduction.xml 2008-03-25 13:56:19 UTC (rev 7106)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="introduction">
+ <?dbhtml filename="introduction.html"?>
+
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>JSF Tools</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Introduction</title>
+
+ <para>This guide provides information on JSF tooling in JBoss Developer Studio
+ which allows you to develop JSF applications much faster and with far fewer
+ errors so sparing your time.</para>
+</chapter>
Added: trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_project_verification.xml
===================================================================
--- trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_project_verification.xml (rev 0)
+++ trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_project_verification.xml 2008-03-25 13:56:19 UTC (rev 7106)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="jsf_project_verification">
+ <?dbhtml filename="struts_project_verification.html"?>
+
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>JSF Tools</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>JSF Project Verification</title>
+
+ <para>JBoss Developer Studio checks for many different rules for a JSF
+ project that can be configured by selecting <emphasis>
+ <property>Window > Preferences</property>
+ </emphasis> from the menu bar, selecting <emphasis>
+ <property>JBoss Tools > Web > Verification</property>
+ </emphasis> from the Preferences dialog box and then expanding the
+ JSF Rules node.</para>
+ <figure>
+ <title>JSF Rules</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_1.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Suppose you are working in the Source viewer for a JSF configuration
+ file as shown below:</para>
+ <figure>
+ <title>Faces-config.xml File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_2.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>While typing a class name, you might make a minor typo (like <emphasis
+ role="italic">
+ <property>"jsfHello.PersonBean9"</property>
+ </emphasis> instead of <emphasis role="italic">
+ <property>"jsfHello.PersonBean"</property>
+ </emphasis>). After saving the file, verification checks to make
+ sure everything is correct and finds the error below:</para>
+ <figure>
+ <title>Error in Source View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_3.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Notice that the Package Explorer View shows a marked folder and a
+ marked file where the error is.</para>
+ <para>You can place the cursor over the line with an error message and get a
+ detailed error message:</para>
+ <figure>
+ <title>Error Message</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_4.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Verification also checks navigation rules:</para>
+ <figure>
+ <title>Checking Navigation Rules</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_5.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>If you provide a page name that does not exist, verification will let
+ you know about that:</para>
+ <figure>
+ <title>Page Name Verification</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_6.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>You can always call up verification explicitly by right-clicking any
+ element in the tree and selecting Verify from the context menu. This
+ works from both the Tree and Diagram viewers for the JSF
+ configuration file editor. You can also invoke verification from the
+ Web Projects view. Below we are checking all of the elements in the
+ configuration file.</para>
+ <figure>
+ <title>Verify Command</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/verif_valid/verif_valid_7.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+</chapter>
\ No newline at end of file
Added: trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_tools.xml
===================================================================
--- trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_tools.xml (rev 0)
+++ trunk/jsf/docs/jsf_tools_ref_guide/en/modules/jsf_tools.xml 2008-03-25 13:56:19 UTC (rev 7106)
@@ -0,0 +1,1673 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="jsf_tools">
+ <?dbhtml filename="jsf_tools.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>Eclipse</keyword>
+ <keyword>JSF Tools</keyword>
+ <keyword>Java</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>JavaServer Faces Support</title>
+
+ <para>JBoss Developer Studio is especially designed for supporting JSF and
+ JSF-related technologies. JBDS provides extensible and exemplary tools for
+ building JSF-based applications as well as adding JSF capabilities to
+ existing web projects, importing JSF projects (created outside JBDS) and
+ choosing any JSF implementation while developing JSF application.</para>
+
+ <section id="SupportForJSFEnvironmentsJSF_RIMyFacesFaceletsShaleOrAnyCustom442">
+ <title>Support for JSF Environments: JSF-RI, MyFaces, Facelets or any Custom</title>
+ <para>With Developer Studio, we don't lock you into any one
+ <property>JavaServer Faces</property> implementation. Select
+ the one you want to use for your project.</para>
+ <para>When you:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Create a new <property>JSF project</property></para>
+ </listitem>
+ <listitem>
+ <para>Add <property>JSF capability</property> to any
+ existing Eclipse project</para>
+ </listitem>
+ <listitem>
+ <para>Add <property>JSF capability</property> to any
+ existing project (created outside JBDS)</para>
+ </listitem>
+ </itemizedlist>
+ <para>You can always select which JSF implementation to use.</para>
+
+ <para>You can also create your own custom JSF environments.</para>
+ <figure>
+ <title>Choosing JSF Environment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>JBoss Developer Studio will add all the required libraries for the
+ selected version to your project.</para>
+ </section>
+
+ <!--
+<section id="AddingSupportForTheOracleADFComponentsLibraryOrAnyOtherSupport64">
+<?dbhtml filename="AddingSupportForTheOracleADFComponentsLibraryOrAnyOtherSupport.html"?>
+<title>Adding Support for the Oracle ADF Components Library or Any Other Support</title>
+
+<para>JBoss Developer Studio is set up to work with the <property>ADF Faces Component Library</property>, but still requires a few extra
+ steps to complete the support. First, you will need to download the 2 jar files for the library from the
+ Oracle site down to your system. Then, you just need to follow these steps to add ADF Faces support to your projects:</para>
+
+<itemizedlist>
+ <listitem><para>Select <emphasis><property>Window > Preferences > Red Hat > Library Sets</property></emphasis> from the menu bar.</para></listitem>
+ <listitem><para>Select <emphasis><property>OracleADF</property></emphasis> in the upper pane.</para></listitem>
+ <listitem>Then, click <emphasis><property>Add</property></emphasis> in the lower pane and browse to the location where you have both ADF jar files:
+<itemizedlist>
+ <listitem><para>adf-faces-api-eaXX.jar</para></listitem>
+ <listitem><para>adf-faces-impl-eaXX.jar</para></listitem>
+ </itemizedlist></listitem>
+ <listitem>In Preferences, select <emphasis><property>Custom Capability</property></emphasis>. Notice that Custom Capability ADF has the OracleADF
+ library set to which we just added the required Jar libraries. We don't need to do anything here.</listitem>
+ <listitem><para>Click <emphasis><property>OK</property></emphasis> and then click <emphasis><property>OK</property></emphasis> again.</para></listitem>
+<listitem>After this is done, you can always add in the library files to a project by just right-clicking
+ your project and selecting <emphasis><property>JBoss Developer Studio > Add Custom Capability...</property></emphasis> from the context menu and select a needed capability.</listitem>
+</itemizedlist>
+
+<para>You can add any custom capability (support) to your project using Library Sets in the same fashion. </para>
+</section>
+-->
+
+ <section id="FaceletsSupport865">
+
+ <title>Facelets Support</title>
+ <para>This section will perform you all concepts that JBDS involves to use
+ the Facelets.</para>
+
+ <para>The Facelets extends JavaServer Faces by providing a lightweight
+ framework that radically simplifies the design of presentation pages
+ for JSF. JBoss Developer Studio provides support for Facelets in a
+ variety of ways:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>The New JSF Project wizard contains templates for
+ creating Facelets projects based on version 1.2 of
+ the JSF Reference Implementation. Select the <emphasis>
+ <property>JSF 1.2 with Facelets</property>
+ </emphasis> in JSF Environment section.</para>
+ </listitem>
+ </itemizedlist>
+
+
+ <figure>
+ <title>Choosing Facelets Environment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_2.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Once you select the environment, you can specify the one of three
+ available templates:</para>
+
+ <figure>
+ <title>Choosing Facelets Template</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_3.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The following table lists possible Facelets templates for any JSF
+ project and gives a proper description for each one.</para>
+ <table>
+ <title>Facelets Templates</title>
+ <tgroup cols="2">
+ <colspec colnum="1" colwidth="2*"/>
+ <colspec colnum="2" colwidth="3*"/>
+
+
+ <thead>
+ <row>
+ <entry align="center">
+ <para>Template</para>
+ </entry>
+
+ <entry align="center">
+ <para>Description</para>
+ </entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>FaceletsBlankWithoutLibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>Some servers already provide
+ jsf libs and you take risk
+ of getting conflicting
+ libraries while deploying
+ your project. To avoid such
+ conflicts, use a template
+ without libs if you have a
+ server with its own jsf
+ libraries</para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>FaceletsKickStartWithRILibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>a sample application with
+ Facelets that is ready to
+ run</para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>FaceletsKickStartWithoutLibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>a sample application without
+ libraries</para>
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+
+ <itemizedlist>
+ <listitem>
+ <para>The <link linkend="palette">JBoss Tools Palette</link>
+ comes with the Facelets components ready to use. A
+ useful tip appears when you hover the mouse cursor
+ over the tag, the tip includes a detailed
+ description of the tag component, the syntax and
+ available attributes.</para>
+ </listitem>
+ </itemizedlist>
+
+
+
+ <!-- JBoss Developer Studio does not provide templates for MyFaces right out of the box, but you can easily do it
+ yourself with the "Save As Template" feature (available on the File submenu). Just create a small project
+ with MyFaces and Facelets and then save it as a template for future use.
+
+ How can I add Facelets support to an existing project?</para>
+ <para>A: Right-click on the folder of existing project and select <emphasis>JBoss Tools > Add Custom Capabilities.. > Facelets</emphasis>. </para>
+ -->
+ <figure>
+ <title>Facelets Components</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_4.png"
+ scale="85"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>Code assist (Ctrl + Space) for <property>Facelets
+ tags</property> is available when editing <emphasis>
+ <property>.xhtml</property>
+ </emphasis> files.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>XHTML File Code Assist</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_5.png"
+ scale="70"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>What's more, code assist is also available for <emphasis
+ role="italic">
+ <property>"jsfc"</property>
+ </emphasis> attribute in any HTML tag.</para>
+
+ <figure>
+ <title>Code Assist for Jsfc Attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_6.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After selecting <emphasis role="italic">
+ <property>"jsfc"</property>
+ </emphasis> you get the code assist for JSF components available on
+ a page.</para>
+
+ <figure>
+ <title>Code Assist for JSF Components</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_7.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>When a component is chosen you will see all available attributes for
+ it.</para>
+
+ <figure>
+ <title>Available Attributes for the Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_8.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>JBDS provides Eclipse's <emphasis>
+ <property>OpenOn</property>
+ </emphasis> feature for editing Facelets files.
+ Using this feature, you can easily navigate between
+ the <property>Facelets templates</property> and
+ other parts of your projects. Just by holding down
+ the Control key while hovering the mouse cursor over
+ a reference to a template, the reference becomes a
+ hyperlink to open that template.</para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Template Hyperlink</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_9.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <!-- <para>Additionally, when hovering the mouse cursor over <emphasis role="italic"><property>"Facelets tag"</property></emphasis> attributes, JBoss Developer Studio provides a pop-up help tip:</para>
+ <figure>
+<title>Pop-up Help Tip for Facelets Tag Attributes</title>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsf_support/defaultImage.png"/>
+ </imageobject>
+</mediaobject>
+ </figure>
+
+ -->
+ <!-- <para>See <link linkend="faq_facelets">FAQ</link> concerning Facelets
+ support.</para>
+ -->
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>Necessary information and support for Facelets find out <ulink
+ url="https://facelets.dev.java.net/"
+ >here</ulink>.</para>
+ </section>
+ </section>
+ <section id="WorkingWithProjects7844">
+
+ <title>Working with Projects</title>
+ <para>To take an advantage of JSF support in <property>JBoss Developer
+ Studio</property> firstly you should perform one of the next
+ steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Create new JSF projects</para>
+ </listitem>
+ <listitem>
+ <para>Import (open) existing JSF projects</para>
+ </listitem>
+ <listitem>
+ <para>Add JSF capability to any existing Eclipse
+ project</para>
+ </listitem>
+ <listitem>
+ <para>Import and add JSF capability to any existing project
+ created outside Eclipse.</para>
+ </listitem>
+ </itemizedlist>
+ <para>In this section we're going to stop on each of them in
+ detail.</para>
+ <section id="CreatingANewJSFProject96">
+
+ <title>Creating a New JSF Project</title>
+
+ <para>If you want your project has already contained all JSF
+ libraries, tag libraries and JSF configuration file, just
+ organize a new brand JSF project. <property>JBoss Developer
+ Studio</property> allows to do this easily with the
+ help of the special wizard. To get it, select<emphasis>
+ <property> File > New > Project
+ > JBoos Tools Web > JSF
+ > JSF Project</property>
+ </emphasis> and click <emphasis>
+ <property>Next</property>.</emphasis></para>
+
+ <figure>
+ <title>Choosing a JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_10.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the next form you'll be prompted to enter
+ <property>Project Name</property> and select a
+ location for the project or just leave a default path.</para>
+ <para>Here, JSF Version also allows you to select which JSF
+ implementation to use.</para>
+ <figure>
+ <title>Creating a New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para><property>JBoss Developer Studio</property> comes with a
+ number of predefined project templates that are flexible and
+ easily customizable. Thus you can pick a different template
+ on which the project should be based to. Almost all
+ templates come in two variations: with jsf libraries and
+ without ones.</para>
+ <figure>
+ <title>Choosing JSF Templates</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_12.png "
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The table below provides description for each possible JSF
+ template.</para>
+ <table>
+ <title>JSF Project Templates</title>
+ <tgroup cols="2">
+ <colspec colnum="1" colwidth="1*"/>
+ <colspec colnum="2" colwidth="3*"/>
+
+
+ <thead>
+ <row>
+ <entry align="center">
+ <para>Template</para>
+ </entry>
+
+ <entry align="center">
+ <para>Description</para>
+ </entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>JSFBlankWithLibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>This template will
+ create a standard
+ Web project
+ structure with all
+ JSF
+ capabilities</para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>JSFKickStartWithLibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>This template will
+ create a standard
+ Web project
+ structure but will
+ also include a
+ sample application
+ that is ready to
+ run</para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ <emphasis>
+ <property>JSFKickStartWithoutLibs</property>
+ </emphasis>
+ </para>
+ </entry>
+
+ <entry>
+ <para>Some servers already
+ provide jsf libs and
+ you take risk of
+ getting conflicting
+ libraries while
+ deploying your
+ project. To avoid
+ such conflicts, use
+ a template without
+ libs if you have a
+ server with its own
+ jsf libraries</para>
+ </entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <!-- <para>You can of course create your own custom templates. More information
+ on templates creation could be found in <link
+ linkend="CreatingCustomJSPTemplates">Chapter 5</link>.</para>
+ -->
+
+ <para>On the next screen select what <emphasis>
+ <property>Servlet version</property>
+ </emphasis> to use and whether to register this application
+ with JBoss AS (or other server) for running and testing of
+ your application.</para>
+
+ <para>The <emphasis>
+ <property>Context Path</property>
+ </emphasis> is the name under which the application will be
+ deployed.</para>
+
+ <para>The <emphasis>
+ <property>Runtime</property>
+ </emphasis> value tells Eclipse where to find Web libraries
+ in order to build (compile) the project. It is not possible
+ to finish project creation without selecting Runtime. If you
+ don't have any values, select <emphasis>
+ <property>New...</property>
+ </emphasis> to add new Runtime.</para>
+
+ <para>The <emphasis>
+ <property>Target Server</property>
+ </emphasis> allows you specifying whether to deploy the
+ application. The Target Server corresponds to the Runtime
+ value selected above. If you don't want to deploy
+ the application, uncheck this value.</para>
+ <figure>
+ <title>Registering the Project on Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_14.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>When you are all done, you should have the project that has
+ been appeared in the Package Explorer view:</para>
+ <figure>
+ <title>A New Project in the Package Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_15.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>At this point you can open <emphasis>
+ <property>faces-config.xml</property>
+ </emphasis> and start working on your application.
+ <property>JBDS</property> provides a lot of features
+ to develop JSF applications. We will describe the features
+ further.</para>
+ </section>
+
+ <section id="ImportingExsJSFProjWithAnyStr74447">
+
+ <title>Importing Existing JSF Projects with Any Structure</title>
+
+ <para>For detailed information on migration projects to JBoss
+ Developer Studio see <ulink
+ url="../../../Exadel-migration/en/html_single/index.html"
+ >Migration Guide</ulink>. </para>
+
+ </section>
+ <section id="AddingJSFCapabilityToAnyExistingEclipseProject">
+
+ <title>Adding JSF Capability to Any Existing Eclipse Project</title>
+
+ <para>With <property>JBoss Developer Studio</property> it's
+ also possible to add <property>JSF capability</property>
+ (JSF libraries, tag libraries) to any existing Eclipse
+ project in your workspace. After that you'll be
+ able to make use of such <property>JBoss Developer
+ Studio</property> editors as JSF configuration editor, JBoss
+ Tools JSP editor and any others.</para>
+ <para>Right click the project and select <emphasis>
+ <property>JBoss Tools > Add JSF
+ Capabilities</property>. </emphasis> This will start
+ the process of adding all necessary libraries, files to make
+ this a Web JSF project.</para>
+ <figure>
+ <title>Adding JSF Capabilities</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_16.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The wizard will first ask you to show the <emphasis>
+ <property>web.xml</property>
+ </emphasis> file location and the project name.</para>
+ <figure>
+ <title>Project Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_17.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>On the last form you can set the different folders for your
+ project as well as register this application with a servlet
+ container.</para>
+
+ <para>Make sure to select <emphasis>
+ <property>Add Libraries</property>
+ </emphasis> for <property>JBoss Developer Studio</property>
+ to add all required JSF related libraries to this project.</para>
+
+ <para>The <emphasis>
+ <property>Context Path</property>
+ </emphasis> is the name under which the application will be
+ deployed.</para>
+
+ <para>The <emphasis>
+ <property>Runtime</property>
+ </emphasis> value tells Eclipse where to find Web libraries
+ in order to build (compile) the project. It is not possible
+ to finish project import without selecting Runtime. If you
+ don't have any values, select <emphasis>
+ <property>New...</property>
+ </emphasis> to add new Runtime.</para>
+
+ <para>The <emphasis>
+ <property>Target Server</property>
+ </emphasis> allows you to specify whether to deploy the
+ application. The Target Server corresponds to the Runtime
+ value selected above. If you don't want to deploy
+ the application, uncheck this value.</para>
+ <figure>
+ <title>Project Folders</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_18.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Once your project is imported you can see that JSF related
+ libraries have been added to your project: <emphasis>
+ <property>jsf-api.jar</property>
+ </emphasis> and <emphasis>
+ <property>jsf-impl.jar</property>
+ </emphasis>.</para>
+ <note>
+ <title>Note:</title>
+ <para>Some application servers provide their own jsf
+ implementation libraries. So, to avoid conflicts you
+ should not add jsf libraries while adding jsf
+ capabilities.</para>
+ </note>
+ <para>You are now ready to work with JSF by creating a new JSF
+ configuration file:</para>
+
+
+ <figure>
+ <title>Creating a New JSF Configuration File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_19.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Once the file have been created, it should be open in a
+ special <link
+ linkend="GraphicalEditorAndViewingForJSFConfigurationFiles76331"
+ >Faces Config Editor</link>.</para>
+ </section>
+ <section id="AddingYourOwnProjectTemplates853">
+
+ <title>Adding Your Own Project Templates</title>
+ <para>Template is a set of files that serve as a basis to facilitate
+ the creation of a new project. Project templates provide
+ content and structure for a project.</para>
+ <para><property>JBoss Developer Studio</property> has a powerful
+ templating capability for creating new and importing
+ existing Struts and JSF projects. This templating facility
+ has a variety of aspects to consider. But, let's
+ start with the most straightforward case and consider the
+ process of creating a template from your existing JSF
+ project.</para>
+
+ <para>Let's say you have a project that you want to use as
+ the basis for a new <property>template</property>. Follow
+ these steps to make a template out of it:</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the Web Projects view, right-click the
+ project and select <emphasis>
+ <property>JBoss Tools JSF > Save As
+ Template</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Saving Your Project as Template</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_20.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the first dialog box, you can choose a name
+ for the template (defaults to the project
+ name) and confirm what run-time
+ implementation of the project's
+ technology will be used</para>
+ </listitem>
+
+ </itemizedlist>
+ <figure>
+ <title>Define Template Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_20_1.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Next</property>
+ </emphasis> and you will be sent to a dialog
+ box with your project structure displayed
+ with check boxes. Here you can check only
+ those parts and files in your project
+ directory that should be part of the
+ template</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Define Template Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_20_2.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>At this point, unless you want to designate
+ some extra files as having Velocity template
+ coding inside them, you should click <emphasis>
+ <property>Finish</property>
+ </emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ <para>That's it. Now, you can use this template with any
+ new or imported project that uses the same run-time
+ implementation as the project you turned into a
+ template.</para>
+ </section>
+
+ <para>At this point, you have a fully configured project and now you can
+ bring some new logic to it starting from JSF configuration
+ file.</para>
+ </section>
+ <section id="GraphicalEditorAndViewingForJSFConfigurationFiles76331">
+
+ <title>Graphical Editor and Viewing for JSF Configuration Files</title>
+
+ <para>First, we should mention that JSF configuration file (<emphasis>
+ <property>faces-config.xml</property>
+ </emphasis>) is intended for registering JSF application resources
+ such as Converters, Validators, Managed Beans and page-to-page
+ navigation rules.</para>
+ <para>Now, let's look at how you can easily configure this file by
+ means of a special graphical editor. The editor has three main
+ viewers (modes):</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Diagram</para>
+ </listitem>
+ <listitem>
+ <para>Tree</para>
+ </listitem>
+ <listitem>
+ <para>Source</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>The modes can be selected via the tabs at the bottom of the editor.</para>
+
+ <para>The JSF configuration editor also comes with a very useful <link
+ linkend="OpenOnSelection4Hyperlinknavigation">OpenOn</link>
+ selection feature.</para>
+
+ <section id="Diagram9553">
+
+ <title>Diagram</title>
+ <para>The Diagram view displays the navigation rules in the JSF
+ configuration file:</para>
+ <figure>
+ <title>Diagram View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_21.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="CreatingNewViewPage85">
+
+ <title>Creating New View (Page)</title>
+
+ <para>To create a new page (view), you can click the page icon on
+ this toolbar and then click anywhere on the diagram. A New
+ Page Wizard will appear.</para>
+
+ <para>To create a transition (rule) connecting pages:</para>
+
+
+ <itemizedlist>
+ <listitem>
+ <para>Select the transition icon from the toolbar
+ (2nd from the bottom).</para>
+ </listitem>
+ <listitem>
+ <para>Click the source page.</para>
+ </listitem>
+ <listitem>
+ <para>Click the target page.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>A transition will appear between the two pages:</para>
+ <figure>
+ <title>Transition Between JSP Pages</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_22.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>It is also possible to create a new page with context menu by
+ right-clicking anywhere on the diagram and selecting <emphasis>
+ <property>New View</property>. </emphasis></para>
+ <figure>
+ <title>Creating a New View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_23.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>To edit an existing transition, first select the transition
+ line. Then, place the mouse cursor over the last black dot
+ (on the target page). The mouse cursor will change to a big
+ +. At this point, drag the line to a new target page:</para>
+ <figure>
+ <title>Editing Transition Between Views</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_24.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="TreeView11123">
+
+ <title>Tree View</title>
+
+ <para>The Tree mode for the editor displays all JSF application
+ artifacts referenced in the configuration file in a tree
+ format. By selecting any node you can see and edit its
+ properties which will appear in the right-hand area. For
+ example, a Managed Bean:</para>
+ <figure>
+ <title>Tree View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_25.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>To edit some artifact, right-click any node and select one of
+ the available actions in the context menu. You can also edit
+ in the properties window to the right:</para>
+ <figure>
+ <title>Editing in Tree View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_26.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The same way you can create a new artifact:</para>
+ <figure>
+ <title>Creating a New Artifact in Tree View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_59.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="SourceView4643">
+
+ <title>Source View</title>
+
+ <para>The Source mode for the editor displays a text view of the JSF
+ configuration file. All three viewers are always
+ synchronized, so any changes made in one of the viewers will
+ immediately appear in the others:</para>
+ <figure>
+ <title>Source View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_27.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="ContentAssist976">
+
+ <title>Code Assist</title>
+ <para>Code Assist provides pop-up tip to help you complete your code
+ statements. It allows you to write your code faster and with
+ more accuracy.</para>
+ <para>Code assist is always available in the Source mode:</para>
+ <figure>
+ <title>Code Assist in Source View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_28.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="ErrorReporting3324">
+
+ <title>Error Reporting</title>
+ <para>When you are developing your project, JBoss Developer Studio
+ constantly provides error checking. This greatly reduces
+ your development time as it allows you to catch many of the
+ errors during development.</para>
+ <para>Errors will be reported by JBoss Developer Studio's
+ <link linkend="verif_valid"> verification</link>
+ facility:</para>
+ <figure>
+ <title>Error Reporting in Source View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_29.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Other errors are also reported.</para>
+ <figure>
+ <title>Other Errors Reporting</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_30.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can also work in the Source editor with the help of the <emphasis>
+ <property>Outline view</property>.</emphasis> The
+ Outline views show a tree structure of the JSF configuration
+ file. Simply select any element in the Outline view, and it
+ will jump to the same place in the Source editor, so you can
+ navigate through the source code with Outline view.</para>
+ <figure>
+ <title>Outline View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_31.png"
+ scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If your diagram is large, within Outline view you can switch
+ to a <emphasis>
+ <property>Diagram Navigator</property>
+ </emphasis> mode by selecting the middle icon at the top of
+ the view window. It allows you to easily move around the
+ diagram. Just move the blue area in any direction, and the
+ diagram on the left will also move:</para>
+ <figure>
+ <title>Outline View for Diagram</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_32.png"
+ scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>You can also edit the properties of the selected element in
+ the <property>Tree</property> mode with the help of the
+ Properties view as shown below:</para>
+ <figure>
+ <title>Properties View </title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_33.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section id="ManagedBeans96453">
+
+ <title>Managed Beans</title>
+
+ <para>JBoss Developer Studio gives you lots of power to work with
+ <property>managed beans</property>.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Add and generate code for new managed beans</para>
+ <itemizedlist>
+ <listitem>
+ <para>Generate code for attributes and
+ getter/setter methods</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>Add existing managed beans to JSF configuration
+ file</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Thus, in this section we will guides you through all this possibilities.</para>
+
+ <section id="CodeGenerationForManagedBeans421">
+
+ <title>Code Generation for Managed Beans</title>
+
+ <para>To start, create a new managed bean in JSF configuration file
+ editor, in the Tree view.</para>
+ <figure>
+ <title>Creation of New Managed Bean</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_34.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <note>
+ <title>Note:</title>
+ <para>When you define a new managed bean, make sure that <emphasis>
+ <property>Generate Source Code</property>
+ </emphasis> is checked as shown in the figure
+ below.</para>
+ </note>
+ <figure>
+ <title>New Managed Bean</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_35.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>After the <emphasis role="italic">
+ <property>"Java"</property>
+ </emphasis> class has been generated you can open it for
+ additional editing. There are two ways to open the <emphasis
+ role="italic">
+ <property>"Java"</property>
+ </emphasis> class:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>click on <emphasis>
+ <property>Managed-Bean-Class</property>
+ </emphasis> link in the editor</para>
+ </listitem>
+ </itemizedlist>
+ <para>or</para>
+ <itemizedlist>
+ <listitem>
+ <para>right click the <emphasis>
+ <property>managed bean</property>
+ </emphasis> and select <emphasis>
+ <property>Open Source</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+
+ <figure>
+ <title>Opening of Created Managed Bean</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_36.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The generated Java source:</para>
+
+ <figure>
+ <title>Java Source Code</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_37.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>You can also generate source code for properties, also
+ includes <emphasis role="italic">
+ <property>"getter"</property>
+ </emphasis> and <emphasis role="italic">
+ <property>"setter"</property>
+ </emphasis> methods. Right click on the bean and select <emphasis>
+ <property>New > Property</property>
+ </emphasis>. You will see <property>Add Property</property>
+ dialog.</para>
+ <figure>
+ <title>Generation of Source Code for Properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_38.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>When the form is open make sure that all the check boxes are
+ selected:</para>
+ <itemizedlist>
+ <listitem>Add Java property</listitem>
+ <listitem>Generate Getter</listitem>
+ <listitem>Generate Setter</listitem>
+ </itemizedlist>
+ <para/>
+ <figure>
+ <title>"Add Property" Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_39.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Once the generation is complete, you can open the file and see
+ the added property with <emphasis role="italic">
+ <property>"getter"</property>
+ </emphasis> and <emphasis role="italic">
+ <property>"setter"</property>
+ </emphasis> methods:</para>
+ <figure>
+ <title>Generated Java Source Code for Property</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_40.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Thus, we've discussed everything which comes to
+ creating a new Managed Bean. Further we will show you how to
+ add an existing Bean into a JSF configuration file.</para>
+ </section>
+ <section id="AddExistingJavaBeansToAJSFConfigurationFile74332">
+
+ <title>Add Existing Java Beans to a JSF Configuration File</title>
+ <para>If you already have a Java bean you can easily add it to a
+ <property>JSF configuration file</property>.</para>
+ <para>You should start the same way you create a new managed bean.
+ Use the <emphasis>
+ <property>Browse...</property>
+ </emphasis> button to add your existing Java class.</para>
+ <figure>
+ <title>New Managed Bean Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_42.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Once the class is set, it's <emphasis>
+ <property>Name</property>
+ </emphasis> will be set as well. But you can easily
+ substitute it for the other one. Notice that <emphasis>
+ <property>Generate Source Code</property>
+ </emphasis> option is not available as the <emphasis
+ role="italic">
+ <property>"Java"</property>
+ </emphasis> class already exists. </para>
+ <para>After adding your class <emphasis>
+ <property>Next</property>
+ </emphasis> button will be activated. Pressing it
+ you'll get <emphasis>
+ <property>Managed Properties</property>
+ </emphasis> dialog where all corresponding properties are
+ displayed. Check the necessary ones to add them into your
+ <property>JSF Configuration File</property>.</para>
+
+ <figure>
+ <title>Selection of Bean's Properties.</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_43.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>If you don't want to add any, just click <emphasis>
+ <property>Finish</property>. </emphasis></para>
+ </section>
+ <para>Above-listed steps have demonstrated specifying an existing Bean in
+ the JSF configuration file, i.e. <emphasis>
+ <property>faces-config.xml</property>. </emphasis> In the
+ next section you'll know how to organize and register a
+ custom Converter to specify your own converting rules.</para>
+ </section>
+
+ <section id="CreateAndRegisterACustomConverter94230">
+
+ <title>Create and Register a Custom Converter</title>
+
+ <para>To create and register a custom converter it's necessary to
+ go through the following steps:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the Project Explorer view open <emphasis>
+ <property>faces-config.xml</property>
+ </emphasis> and select <emphasis>
+ <property>Tree</property>
+ </emphasis> tab.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Converters</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_44.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Converters</property>
+ </emphasis> and click on<emphasis>
+ <property> Add</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the form type the name of your converter in the <emphasis>
+ <property>Converter-id</property>
+ </emphasis> field and name of the class for
+ converters. After clicking <emphasis>
+ <property>Finish</property>
+ </emphasis> button your custom converter is
+ registered under the entered name.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Add Converter Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_45.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Now you can create <emphasis role="italic">
+ <property>"converter"</property>
+ </emphasis> class. In the Converter section you
+ should see your <emphasis>
+ <property>Converter-id</property>
+ </emphasis> and
+ <emphasis><property>Converter-class</property>.</emphasis>
+ Click on <emphasis>
+ <property>Converter-class</property>
+ </emphasis> to generate the source code.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Generation of Source Code for Converter Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_46.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <itemizedlist>
+ <listitem>
+ <para>A usual wizard for creating a Java class will appear.
+ All needed fields here will be adjusted
+ automatically. Just leave everything without changes
+ and click <emphasis>
+ <property>Finish</property>.
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>New Java Class Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_47.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>To open a converter class click again on <emphasis>
+ <property>Converter-class</property>
+ </emphasis> link in the Converter section. Now you
+ are able to add a business logic of converter in the
+ Java editor.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Converter Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_48.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="CreateAndRegisterACustomValidator5632">
+
+ <title>Create and Register a Custom Validator</title>
+
+ <para>With the help of JBDS it's also quite easy to develop your
+ own custom Validators. You should perform the actions similar to
+ previous. Go through the following steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the Project Explorer view open<emphasis>
+ <property> faces-config.xml</property>
+ </emphasis> and select <emphasis>
+ <property>Tree </property>
+ </emphasis>tab.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Validator in Faces Config Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_49.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Validators</property>
+ </emphasis> and click on <emphasis>
+ <property>Add </property>
+ </emphasis>button.</para>
+ </listitem>
+ <listitem>
+ <para>Type the name of your validator in the <emphasis>
+ <property>Validator-id</property>
+ </emphasis> field and name of the class for
+ validators. After clicking <emphasis>
+ <property>Finish</property>
+ </emphasis> button your custom validator is
+ registered under the entered name.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Adding Validator</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_50.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now you can create the "validator" class. </para>
+ <itemizedlist>
+ <listitem>
+ <para>In the Validator section you can see your <emphasis>
+ <property>Validator-id</property>
+ </emphasis> and <emphasis>
+ <property>Validator-class</property>
+ </emphasis>. To generate the source code click on <emphasis>
+ <property>Validator-class</property>.
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Creating Validator Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_51.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Java class will be created automatically. Leave
+ everything without changes and click <emphasis>
+ <property>Finish</property>.
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>New Java Class Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_52.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>To open validator class click again on <emphasis>
+ <property>Validator-Class</property>
+ </emphasis> link in the Validator section. Now you
+ are able to write a business logic of validator in
+ the Java editor.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Converter Class Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_53.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreateAndRegisterReferencedBeans64322">
+
+ <title>Create and Register Referenced Beans</title>
+
+ <para>Creation of Referenced Beans is similar to creation of Custom
+ Validator.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>In the Project Explorer view open<emphasis>
+ <property> faces-config.xml</property>
+ </emphasis> and select <emphasis>
+ <property>Tree </property>
+ </emphasis>tab.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Referenced Beans in Faces Config Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_54.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Referenced Beans</property>
+ </emphasis> and click on <emphasis>
+ <property>Add</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>Type in the name of your Referenced Bean and type in
+ or select <emphasis>
+ <property>Referenced-Bean-Class</property>
+ </emphasis> by using <emphasis>
+ <property>Browse</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Add Referenced Bean</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_55.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>In the Referenced Bean section you should see your <emphasis>
+ <property>Referenced-Bean-Name</property>
+ </emphasis> and
+ <emphasis><property>Referenced-Bean-Class</property>.</emphasis>
+ Click on the link to open the Java creation
+ wizard.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create Referenced Bean Class</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_56.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Java class will be created automatically. Leave
+ everything without changes and click <emphasis>
+ <property>Finish</property>.
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>New Java Class Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_57.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>To open Referenced Bean class click again on <emphasis>
+ <property>Referenced-Bean-Class</property>
+ </emphasis> in the Referenced Bean section. Now you
+ are able to write business logic of Referenced Bean
+ in the Java editor.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Referenced Bean Class Editing</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsf_support/jsf_support_58.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section>
+ <title>Relevant Resources Links</title>
+ <para>If you don't familiar with <ulink
+ url="http://java.sun.com/javaee/javaserverfaces/">JSF
+ technology</ulink>, we suggest that you walk through the
+ information on the topic.</para>
+ </section>
+ </chapter>
\ No newline at end of file
Added: trunk/jsf/docs/jsf_tools_ref_guide/pom.xml
===================================================================
--- trunk/jsf/docs/jsf_tools_ref_guide/pom.xml (rev 0)
+++ trunk/jsf/docs/jsf_tools_ref_guide/pom.xml 2008-03-25 13:56:19 UTC (rev 7106)
@@ -0,0 +1,104 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>jsf-tools-reference-guide-${translation}</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jdocbook</packaging>
+ <name>JSF_Tools_Reference_Guide_(${translation})</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.0.0</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.0.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.docs</groupId>
+ <artifactId>highlight</artifactId>
+ <version>3.1.4.GA</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <imageResource>
+ <directory>${pom.basedir}/en</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+ <!--<cssResource>
+ <directory>src/main/css</directory>
+ </cssResource>-->
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-pdf.xsl</stylesheetResource>
+ <finalName>${pom.name}.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/nochunk-html.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/main-eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
+ <!-- could also locate the docbook dependency and inspect its version... -->
+ <docbookVersion>1.72.0</docbookVersion>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <!-- Copy the dist to the local checkout of the JBoss maven2 repo ${maven.repository.root} -->
+ <!-- It is anticipated that ${maven.repository.root} be set in user's settings.xml -->
+ <!-- todo : replace this with direct svn access once the svnkit providers are available -->
+ <id>repository.jboss.org</id>
+ <url>file://${maven.repository.root}</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>dav:https://snapshots.jboss.org/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <properties>
+ <translation>en-US</translation>
+ </properties>
+
+
+</project>