JBoss Rich Faces SVN: r16151 - root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-12-16 10:46:54 -0500 (Wed, 16 Dec 2009)
New Revision: 16151
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/ArrayUtils.java
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/Pair.java
Log:
https://jira.jboss.org/jira/browse/RF-7732
Fixed NPE in CDK
Fixed CheckStyle errors in CDK
Added: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/ArrayUtils.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/ArrayUtils.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/ArrayUtils.java 2009-12-16 15:46:54 UTC (rev 16151)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.cdk.util;
+
+/**
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+public final class ArrayUtils {
+
+ private ArrayUtils() {
+ //utility class ctor
+ }
+
+ public static boolean isEmpty(Object[] array) {
+ return array == null || array.length == 0;
+ }
+}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/Pair.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/Pair.java 2009-12-16 15:01:41 UTC (rev 16150)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/util/Pair.java 2009-12-16 15:46:54 UTC (rev 16151)
@@ -31,13 +31,9 @@
public class Pair<A,B> {
private final A first;
-
+
private final B second;
- public static <X,Y> Pair<X,Y> of( X first, Y second){
- return new Pair<X, Y>(first,second);
- }
-
/**
* <p class="changed_added_4_0"></p>
* @param first
@@ -48,6 +44,10 @@
this.second = second;
}
+ public static <X,Y> Pair<X,Y> of( X first, Y second){
+ return new Pair<X, Y>(first,second);
+ }
+
/**
* <p class="changed_added_4_0"></p>
* @return the first
14 years, 5 months
JBoss Rich Faces SVN: r16150 - branches/community/3.3.X/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable.
by richfaces-svn-commits@lists.jboss.org
Author: amarkhel
Date: 2009-12-16 10:01:41 -0500 (Wed, 16 Dec 2009)
New Revision: 16150
Modified:
branches/community/3.3.X/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableSelection.js
Log:
Fix RF-8212
Modified: branches/community/3.3.X/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableSelection.js
===================================================================
--- branches/community/3.3.X/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableSelection.js 2009-12-16 14:23:05 UTC (rev 16149)
+++ branches/community/3.3.X/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableSelection.js 2009-12-16 15:01:41 UTC (rev 16150)
@@ -392,7 +392,9 @@
},
removeListeners: function(){
- Event.stopObserving(document, "keydown", this.eventKeyPress);
+ if(this.eventKeyPress) { // added if to ensure that all keydown event listeners are not removed
+ Event.stopObserving(document, "keydown", this.eventKeyPress);
+ }
if (document.selection) {
Event.stopObserving(this.gridElement, "click", this.eventResetSelection);
}
14 years, 5 months
JBoss Rich Faces SVN: r16149 - in branches/community/3.3.X/test-applications/regression-test: src/main/webapp/images and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: ppitonak(a)redhat.com
Date: 2009-12-16 09:23:05 -0500 (Wed, 16 Dec 2009)
New Revision: 16149
Added:
branches/community/3.3.X/test-applications/regression-test/src/main/webapp/images/rf7975/
branches/community/3.3.X/test-applications/regression-test/src/main/webapp/images/rf7975/getflash.png
branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7975.xhtml
Removed:
branches/community/3.3.X/test-applications/regression-test/src/test/java/org/
Modified:
branches/community/3.3.X/test-applications/regression-test/pom.xml
branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/index.xhtml
branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7994.xhtml
Log:
https://jira.jboss.org/jira/browse/RFPL-302
* pom refactored
* added a test case for file upload (RF-7975)
Modified: branches/community/3.3.X/test-applications/regression-test/pom.xml
===================================================================
--- branches/community/3.3.X/test-applications/regression-test/pom.xml 2009-12-16 13:51:42 UTC (rev 16148)
+++ branches/community/3.3.X/test-applications/regression-test/pom.xml 2009-12-16 14:23:05 UTC (rev 16149)
@@ -48,9 +48,20 @@
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-ui</artifactId>
- <version>3.3.2.SR1</version>
+ <version>3.3.3-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>richfaces-impl</artifactId>
+ <groupId>org.richfaces.framework</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
+ <groupId>org.richfaces.framework</groupId>
+ <artifactId>richfaces-impl</artifactId>
+ <version>3.3.3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>com.sun.facelets</groupId>
<artifactId>jsf-facelets</artifactId>
<version>1.1.15.B1</version>
Added: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/images/rf7975/getflash.png
===================================================================
(Binary files differ)
Property changes on: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/images/rf7975/getflash.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/index.xhtml
===================================================================
--- branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/index.xhtml 2009-12-16 13:51:42 UTC (rev 16148)
+++ branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/index.xhtml 2009-12-16 14:23:05 UTC (rev 16149)
@@ -17,6 +17,10 @@
<h:form>
<table>
<tr>
+ <td style="width: 150px;"><a id="rf7975-tc" href="/regression-test/pages/rf7975.jsf">File Upload</a></td>
+ <td><a id="rf7975-jira" href="https://jira.jboss.org/jira/browse/RF-7975">https://jira.jboss.org/jira/browse/RF-7975</a></td>
+ </tr>
+ <tr>
<td style="width: 150px;"><a id="rf7994-tc" href="/regression-test/pages/rf7994.jsf">Menu Item</a></td>
<td><a id="rf7994-jira" href="https://jira.jboss.org/jira/browse/RF-7994">https://jira.jboss.org/jira/browse/RF-7994</a></td>
</tr>
Added: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7975.xhtml
===================================================================
--- branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7975.xhtml (rev 0)
+++ branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7975.xhtml 2009-12-16 14:23:05 UTC (rev 16149)
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:rich="http://richfaces.org/rich"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="title">Menu Item - RF-7975</ui:define>
+
+ <ui:define name="body">
+ <h1>Menu Item</h1>
+ <h3><a href="https://jira.jboss.org/jira/browse/RF-7975">https://jira.jboss.org/jira/browse/RF-7975</a></h3>
+
+ <h:form>
+ <a id="back1" href="#{facesContext.externalContext.requestContextPath}">Back to main page</a>
+ <h:panelGrid columns="3" class="bug-table">
+ <h:outputText value="Component"/>
+ <h:outputText value="WRONG" style="color: red;"/>
+ <h:outputText value="Description"/>
+
+ <rich:fileUpload allowFlash="true" maxFilesQuantity="3"/>
+ <h:graphicImage value="/images/rf7975/getflash.png"/>
+ <h:panelGroup>
+ <ol>
+ <li>Verify that there is no "Get Adobe Flash player" image (ensure flash works in your browser).</li>
+ <li>verify that it is possible to choose one file.</li>
+ <li>Verify that it is possible to choose three files.</li>
+ </ol>
+ </h:panelGroup>
+
+
+ </h:panelGrid>
+ <a id="back2" href="#{facesContext.externalContext.requestContextPath}">Back to main page</a>
+ </h:form>
+
+ </ui:define>
+
+</ui:composition>
+</body>
+</html>
Property changes on: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7975.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7994.xhtml
===================================================================
--- branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7994.xhtml 2009-12-16 13:51:42 UTC (rev 16148)
+++ branches/community/3.3.X/test-applications/regression-test/src/main/webapp/pages/rf7994.xhtml 2009-12-16 14:23:05 UTC (rev 16149)
@@ -16,7 +16,7 @@
<h3><a href="https://jira.jboss.org/jira/browse/RF-7994">https://jira.jboss.org/jira/browse/RF-7994</a></h3>
<h:form>
- <h:commandLink id="back1" action="index" value="Back to main page"/>
+ <a id="back1" href="#{facesContext.externalContext.requestContextPath}">Back to main page</a>
<h:panelGrid columns="3" class="bug-table">
<h:outputText value="Component"/>
<h:outputText value="WRONG" style="color: red;"/>
@@ -85,7 +85,7 @@
</h:panelGroup>
</h:panelGrid>
- <h:commandLink id="back2" action="index" value="Back to main page"/>
+ <a id="back2" href="#{facesContext.externalContext.requestContextPath}">Back to main page</a>
</h:form>
</ui:define>
14 years, 5 months
JBoss Rich Faces SVN: r16148 - branches/community/3.3.X/samples/richfaces-demo/functional-test.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2009-12-16 08:51:42 -0500 (Wed, 16 Dec 2009)
New Revision: 16148
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/pom.xml
Log:
- rf-demo ftest - added property demo.classifier to select richfaces-demo.war with one of the following classifiers {,jee5,tomcat6} - restructuralized to properly use with demo.location - backward compatible
Modified: branches/community/3.3.X/samples/richfaces-demo/functional-test/pom.xml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/functional-test/pom.xml 2009-12-16 11:41:21 UTC (rev 16147)
+++ branches/community/3.3.X/samples/richfaces-demo/functional-test/pom.xml 2009-12-16 13:51:42 UTC (rev 16148)
@@ -61,6 +61,7 @@
<properties>
<demo.artifactId.suffix />
<demo.version>${project.version}</demo.version>
+ <demo.classifier></demo.classifier>
<demo.location></demo.location>
<resources.dir>${project.build.directory}/test-classes</resources.dir>
<extensions.dir>${resources.dir}/user-extensions</extensions.dir>
@@ -73,6 +74,9 @@
<selenium.debug>false</selenium.debug>
<selenium.maximize>false</selenium.maximize>
<firefoxProfileTemplate></firefoxProfileTemplate>
+ <demo.deployable>${demo.deployable.directory}/${demo.deployable.file}</demo.deployable>
+ <demo.deployable.directory>${project.build.directory}</demo.deployable.directory>
+ <demo.deployable.file>richfaces-demo.war</demo.deployable.file>
</properties>
<build>
<finalName>${project.artifactId}</finalName>
@@ -251,15 +255,6 @@
<name>containerId</name>
</property>
</activation>
- <dependencies>
- <dependency>
- <groupId>org.richfaces.samples</groupId>
- <artifactId>richfaces-demo${demo.artifactId.suffix}</artifactId>
- <version>${demo.version}</version>
- <type>war</type>
- <scope>provided</scope>
- </dependency>
- </dependencies>
<build>
<plugins>
<plugin>
@@ -303,10 +298,8 @@
<type>installed</type>
<deployables>
<deployable>
- <groupId>org.richfaces.samples</groupId>
- <artifactId>richfaces-demo${demo.artifactId.suffix}</artifactId>
<type>war</type>
- <location>${demo.location}</location>
+ <location>${demo.deployable}</location>
<properties>
<context>${context.path}</context>
</properties>
@@ -318,6 +311,90 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>container-demoapp-deployable-dependency</id>
+ <activation>
+ <file>
+ <missing>${demo.location}</missing>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-richfaces-demo-war-dependency</id>
+ <phase>package</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.richfaces.samples</groupId>
+ <artifactId>richfaces-demo</artifactId>
+ <version>${demo.version}</version>
+ <classifier>${demo.classifier}</classifier>
+ <type>war</type>
+ <overWrite>true</overWrite>
+ <outputDirectory>${demo.deployable.directory}</outputDirectory>
+ <destFileName>${demo.deployable.file}</destFileName>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>delete-richfaces-demo-war</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <delete file="${demo.location}" tofile="${demo.deployable}" verbose="true" />
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>container-demoapp-deployable-location</id>
+ <activation>
+ <file>
+ <exists>${demo.location}</exists>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-richfaces-demo-war-from-location</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <copy file="${demo.location}" tofile="${project.build.directory}/richfaces-demo.war" verbose="true" />
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
<!-- Container: JBoss AS 5.X -->
<profile>
<id>container-jboss5x</id>
14 years, 5 months
JBoss Rich Faces SVN: r16147 - branches/community/3.3.X/samples/richfaces-demo/functional-test.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2009-12-16 06:41:21 -0500 (Wed, 16 Dec 2009)
New Revision: 16147
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
Log:
- rf-demo-ftest - moved zip-installer for JBAS 5.1.0.GA to hudson dir to be accessible on Windows hosts
Modified: branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 11:18:03 UTC (rev 16146)
+++ branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 11:41:21 UTC (rev 16147)
@@ -141,7 +141,7 @@
<id>container-installation-jsf2</id>
<properties>
<jboss5x.version>5.1.0.GA</jboss5x.version>
- <jboss5x.installer.url.unix>file:/qa/home/lfryc/jboss-jsf2/jboss-5.1.0.GA.zip</jboss5x.installer.url.unix>
+ <jboss5x.installer.url.unix>file:/qa/home/hudson/lfryc/jboss-jsf2/jboss-5.1.0.GA.zip</jboss5x.installer.url.unix>
<jboss5x.installer.url.windows>file:h:\hudson\lfryc\jboss-jsf2\jboss-5.1.0.GA.zip</jboss5x.installer.url.windows>
</properties>
</profile>
14 years, 5 months
JBoss Rich Faces SVN: r16146 - branches/community/3.3.X/samples/richfaces-demo/functional-test.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2009-12-16 06:18:03 -0500 (Wed, 16 Dec 2009)
New Revision: 16146
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
Log:
- rf-demo-ftest - moved zip-installer for JBAS 5.1.0.GA to hudson dir to be accessible on Windows hosts
Modified: branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 08:24:26 UTC (rev 16145)
+++ branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 11:18:03 UTC (rev 16146)
@@ -142,7 +142,7 @@
<properties>
<jboss5x.version>5.1.0.GA</jboss5x.version>
<jboss5x.installer.url.unix>file:/qa/home/lfryc/jboss-jsf2/jboss-5.1.0.GA.zip</jboss5x.installer.url.unix>
- <jboss5x.installer.url.windows>file:h:\lfryc\jboss-jsf2\jboss-5.1.0.GA.zip</jboss5x.installer.url.windows>
+ <jboss5x.installer.url.windows>file:h:\hudson\lfryc\jboss-jsf2\jboss-5.1.0.GA.zip</jboss5x.installer.url.windows>
</properties>
</profile>
<profile>
14 years, 5 months
JBoss Rich Faces SVN: r16145 - branches/community/3.3.X/samples/richfaces-demo/functional-test.
by richfaces-svn-commits@lists.jboss.org
Author: lfryc(a)redhat.com
Date: 2009-12-16 03:24:26 -0500 (Wed, 16 Dec 2009)
New Revision: 16145
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
Log:
rf-demo ftest - JSF2 profile reverted to test with JBoss AS 5.1.0.GA with injected JSF2 libs (RF-8190)
Modified: branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml
===================================================================
--- branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 07:02:00 UTC (rev 16144)
+++ branches/community/3.3.X/samples/richfaces-demo/functional-test/profiles.jboss-qa.xml 2009-12-16 08:24:26 UTC (rev 16145)
@@ -140,9 +140,9 @@
<profile>
<id>container-installation-jsf2</id>
<properties>
- <jboss5x.version>6.0.0.M1</jboss5x.version>
- <jboss5x.installer.url.unix>file:/qa/home/lfryc/jboss-jsf2/jboss-6.0.0.M1.zip</jboss5x.installer.url.unix>
- <jboss5x.installer.url.windows>file:h:\lfryc\jboss-jsf2\jboss-6.0.0.M1.zip</jboss5x.installer.url.windows>
+ <jboss5x.version>5.1.0.GA</jboss5x.version>
+ <jboss5x.installer.url.unix>file:/qa/home/lfryc/jboss-jsf2/jboss-5.1.0.GA.zip</jboss5x.installer.url.unix>
+ <jboss5x.installer.url.windows>file:h:\lfryc\jboss-jsf2\jboss-5.1.0.GA.zip</jboss5x.installer.url.windows>
</properties>
</profile>
<profile>
14 years, 5 months
JBoss Rich Faces SVN: r16144 - in root/docs/trunk: Component_Reference/en-US and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: SeanRogers
Date: 2009-12-16 02:02:00 -0500 (Wed, 16 Dec 2009)
New Revision: 16144
Modified:
root/docs/trunk/Component_Development_Kit_Guide/en-US/Book_Info.xml
root/docs/trunk/Component_Reference/en-US/Book_Info.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Common_Ajax_attributes.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Containers.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Introduction.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Output_and_messages.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Panels_and_containers.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Rich_inputs.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Tables_and_grids.xml
root/docs/trunk/Developer_Guide/en-US/Book_Info.xml
root/docs/trunk/Migration_Guide/en-US/Book_Info.xml
root/docs/trunk/Migration_Guide/en-US/Changes_and_new_features.xml
root/docs/trunk/Migration_Guide/en-US/Upgrading.xml
Log:
Standardized tag usage
Modified: root/docs/trunk/Component_Development_Kit_Guide/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Component_Development_Kit_Guide/en-US/Book_Info.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Development_Kit_Guide/en-US/Book_Info.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -10,8 +10,8 @@
projects</subtitle>
<productname>RichFaces</productname>
<productnumber>4.0</productnumber>
- <edition>0.1</edition>
- <pubsnumber>0</pubsnumber>
+ <edition>0</edition>
+ <pubsnumber>1</pubsnumber>
<abstract>
<para>This book details how to use the RichFaces Component Development
Kit to create custom components for use with the RichFaces &VERSION;
Modified: root/docs/trunk/Component_Reference/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/Book_Info.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/Book_Info.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -10,8 +10,8 @@
framework</subtitle>
<productname>RichFaces</productname>
<productnumber>4.0</productnumber>
- <edition>0.1</edition>
- <pubsnumber>0</pubsnumber>
+ <edition>0</edition>
+ <pubsnumber>1</pubsnumber>
<abstract>
<para>This book details each component in the RichFaces &VERSION;
framework, including examples of their use in applications.</para></abstract>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -12,30 +12,30 @@
<section id="sect-Component_Reference-Actions-a4jactionParam">
<title>a4j:actionParam</title>
<para>
- The <classname><a4j:actionParam></classname> behavior combines the functionality of the JavaServer Faces (<acronym>JSF</acronym>) components <classname><f:param></classname> and <classname><f:actionListener></classname>.
+ The <sgmltag><a4j:actionParam></sgmltag> behavior combines the functionality of the JavaServer Faces (<acronym>JSF</acronym>) components <sgmltag><f:param></sgmltag> and <sgmltag><f:actionListener></sgmltag>.
</para>
<para>
- Basic usage of the <classname><a4j:actionParam></classname> requires three main attributes:
+ Basic usage of the <sgmltag><a4j:actionParam></sgmltag> requires three main attributes:
</para>
<itemizedlist>
<listitem>
<para>
- <code>name</code>, for the name of the parameter;
+ <varname>name</varname>, for the name of the parameter;
</para>
</listitem>
<listitem>
<para>
- <code>value</code>, for the initial value of the parameter; and
+ <varname>value</varname>, for the initial value of the parameter; and
</para>
</listitem>
<listitem>
<para>
- <code>assignTo</code>, for defining the bean property. The property will be updated if the parent command component performs an action event during the <emphasis>Process Request</emphasis> phase.
+ <varname>assignTo</varname>, for defining the bean property. The property will be updated if the parent command component performs an action event during the <emphasis>Process Request</emphasis> phase.
</para>
</listitem>
</itemizedlist>
<para>
- <xref linkend="exam-Component_Reference-a4jactionParam-a4jactionParam_example" /> shows a simple implementation along with the accompanying managed bean. When the <guibutton>Set name to Alex</guibutton> button is pressed, the application sets the <code>name</code> parameter of the bean to <literal>Alex</literal>, and displays the name in the output field.
+ <xref linkend="exam-Component_Reference-a4jactionParam-a4jactionParam_example" /> shows a simple implementation along with the accompanying managed bean. When the <guibutton>Set name to Alex</guibutton> button is pressed, the application sets the <varname>name</varname> parameter of the bean to <literal>Alex</literal>, and displays the name in the output field.
</para>
<example id="exam-Component_Reference-a4jactionParam-a4jactionParam_example">
<title><a4j:actionParam> example</title>
@@ -47,10 +47,10 @@
</programlisting>
</example>
<para>
- The <classname><a4j:actionParam></classname> behavior can be used with non-Ajax components in addition to Ajax components. In this way, data model values can be updated without an JavaScript code on the server side.
+ The <sgmltag><a4j:actionParam></sgmltag> behavior can be used with non-Ajax components in addition to Ajax components. In this way, data model values can be updated without an JavaScript code on the server side.
</para>
<para>
- The <code>converter</code> attribute can be used to specify how to convert the value before it is submitted to the data model. The property is assigned the new value during the <emphasis>Update Model</emphasis> phase.
+ The <varname>converter</varname> attribute can be used to specify how to convert the value before it is submitted to the data model. The property is assigned the new value during the <emphasis>Update Model</emphasis> phase.
</para>
<note>
<title>Note</title>
@@ -59,19 +59,19 @@
</para>
</note>
<para>
- Variables from JavaScript functions can be used for the <code>value</code> attribute. In such an implementation, the <code>noEscape</code> attribute should be set to <literal>true</literal>. Using <code>noEscape="true"</code>, the <code>value</code> attribute can contain any JavaScript expression or JavaScript function invocation, and the result will be sent to the server as the <code>value</code> attribute.
+ Variables from JavaScript functions can be used for the <varname>value</varname> attribute. In such an implementation, the <varname>noEscape</varname> attribute should be set to <literal>true</literal>. Using <code>noEscape="true"</code>, the <varname>value</varname> attribute can contain any JavaScript expression or JavaScript function invocation, and the result will be sent to the server as the <varname>value</varname> attribute.
</para>
</section>
<section id="sect-Component_Reference-Actions-a4jajax">
<title>a4j:ajax</title>
<para>
- The <classname><a4j:ajax></classname> component allows Ajax capability to be added to any non-Ajax component. It is placed as a direct child to the component that requires Ajax support. The <classname><a4j:ajax></classname> component uses the common attributes listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
+ The <sgmltag><a4j:ajax></sgmltag> component allows Ajax capability to be added to any non-Ajax component. It is placed as a direct child to the component that requires Ajax support. The <sgmltag><a4j:ajax></sgmltag> component uses the common attributes listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
</para>
<note>
<title>Note</title>
<para>
- When attaching the <classname><a4j:ajax></classname> component to non-Ajax JavaServer Faces command components, such as <classname><h:commandButton></classname> and <classname><h:commandLink></classname>, it is important to set <code>disabledDefault="true"</code>. If this attribute is not set, a non-Ajax request is sent after the Ajax request and the page is refreshed unexpectedly.
+ When attaching the <sgmltag><a4j:ajax></sgmltag> component to non-Ajax JavaServer Faces command components, such as <sgmltag><h:commandButton></sgmltag> and <sgmltag><h:commandLink></sgmltag>, it is important to set <code>disabledDefault="true"</code>. If this attribute is not set, a non-Ajax request is sent after the Ajax request and the page is refreshed unexpectedly.
</para>
</note>
</section>
@@ -79,13 +79,13 @@
<section id="sect-Component_Reference-Actions-a4jajaxListener">
<title>a4j:ajaxListener</title>
<para>
- The <classname><a4j:ajaxListener></classname> component adds an action listener to a parent component. It works similar to the JavaServer Faces <classname><f:actionListener></classname> or <classname><f:valueChangeListener></classname> components, except that the invocation of <classname><a4j:ajaxListener></classname> is not canceled if validation of the <emphasis>Update Model</emphasis> phase fails. The <classname><a4j:ajaxListener></classname> component is guaranteed to be invoked with each Ajax response.
+ The <sgmltag><a4j:ajaxListener></sgmltag> component adds an action listener to a parent component. It works similar to the JavaServer Faces <sgmltag><f:actionListener></sgmltag> or <sgmltag><f:valueChangeListener></sgmltag> components, except that the invocation of <sgmltag><a4j:ajaxListener></sgmltag> is not canceled if validation of the <emphasis>Update Model</emphasis> phase fails. The <sgmltag><a4j:ajaxListener></sgmltag> component is guaranteed to be invoked with each Ajax response.
</para>
<para>
- Baasic usage requires only the <code>type</code> attribute, which defines the fully-qualified Java class name for the listener. This Java class should implement the <classname>org.ajax4jsf.event.AjaxListener</classname> interface, which is a base listener for all listeners and is capable of receiving Ajax events. The object from which the event originated could be accessed using the <methodname>java.util.EventObject.getSource()</methodname> method.
+ Baasic usage requires only the <varname>type</varname> attribute, which defines the fully-qualified Java class name for the listener. This Java class should implement the <classname>org.ajax4jsf.event.AjaxListener</classname> interface, which is a base listener for all listeners and is capable of receiving Ajax events. The object from which the event originated could be accessed using the <methodname>java.util.EventObject.getSource()</methodname> method.
</para>
<para>
- The <classname><a4j:ajaxListener></classname> component is not invoked for non-Ajax requests, or when the RichFaces works in the <emphasis>Ajax request generates non-Ajax response</emphasis> mode, so the <classname><a4j:ajaxListener></classname> invocation is a good indicator that an Ajax response is going to be processed.
+ The <sgmltag><a4j:ajaxListener></sgmltag> component is not invoked for non-Ajax requests, or when the RichFaces works in the <emphasis>Ajax request generates non-Ajax response</emphasis> mode, so the <sgmltag><a4j:ajaxListener></sgmltag> invocation is a good indicator that an Ajax response is going to be processed.
</para>
</section>
@@ -114,15 +114,15 @@
</listitem>
</itemizedlist>
<para>
- The <classname><a4j:commandButton></classname> is similar to the JavaServer Faces (<acronym>JSF</acronym>) component <classname><h:commandButton></classname>, but additionally includes Ajax support. When the command button is clicked it generates an Ajax form submit, and when a response is received the command button can be dynamically rendered.
+ The <sgmltag><a4j:commandButton></sgmltag> is similar to the JavaServer Faces (<acronym>JSF</acronym>) component <sgmltag><h:commandButton></sgmltag>, but additionally includes Ajax support. When the command button is clicked it generates an Ajax form submit, and when a response is received the command button can be dynamically rendered.
</para>
<para>
- The <classname><a4j:commandButton></classname> requires only the <code>value</code> and <code>render</code> attributes to function. The <code>value</code> attribute specifies the text of the button and the <code>render</code> attribute specifies which areas are to be updated. The <classname><a4j:commandButton></classname> uses the <code>onclick</code> event instead of the <code>onsubmit</code> event, but otherwise uses all common Ajax attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
+ The <sgmltag><a4j:commandButton></sgmltag> requires only the <varname>value</varname> and <varname>render</varname> attributes to function. The <varname>value</varname> attribute specifies the text of the button and the <varname>render</varname> attribute specifies which areas are to be updated. The <sgmltag><a4j:commandButton></sgmltag> uses the <varname>onclick</varname> event instead of the <varname>onsubmit</varname> event, but otherwise uses all common Ajax attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
</para>
<note>
<title>Note</title>
<para>
- When attaching a JavaScript function to a <classname><a4j:commandButton></classname> with the help of a <classname><rich:componentControl></classname>, do not use the <code>attachTo</code> attribute of <classname><rich:componentControl></classname>. The attribute adds event handlers using <classname>Event.observe</classname> but <classname><a4j:commandButton></classname> does not include this event.
+ When attaching a JavaScript function to a <sgmltag><a4j:commandButton></sgmltag> with the help of a <sgmltag><rich:componentControl></sgmltag>, do not use the <varname>attachTo</varname> attribute of <sgmltag><rich:componentControl></sgmltag>. The attribute adds event handlers using <classname>Event.observe</classname> but <sgmltag><a4j:commandButton></sgmltag> does not include this event.
</para>
</note>
</section>
@@ -152,10 +152,10 @@
</listitem>
</itemizedlist>
<para>
- The <classname><a4j:commandLink></classname> is similar to the JavaServer Faces (<acronym>JSF</acronym>) component <classname><h:commandLink></classname>, but additionally includes Ajax support. When the command link is clicked it generates an Ajax form submit, and when a response is received the command link can be dynamically rendered.
+ The <sgmltag><a4j:commandLink></sgmltag> is similar to the JavaServer Faces (<acronym>JSF</acronym>) component <sgmltag><h:commandLink></sgmltag>, but additionally includes Ajax support. When the command link is clicked it generates an Ajax form submit, and when a response is received the command link can be dynamically rendered.
</para>
<para>
- The <classname><a4j:commandLink></classname> requires only the <code>value</code> and <code>render</code> attributes to function. The <code>value</code> attribute specifies the text of the link and the <code>render</code> attribute specifies which areas are to be updated. The <classname><a4j:commandLink></classname> uses the <code>onclick</code> event instead of the <code>onsubmit</code> event, but otherwise uses all common Ajax attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
+ The <sgmltag><a4j:commandLink></sgmltag> requires only the <varname>value</varname> and <varname>render</varname> attributes to function. The <varname>value</varname> attribute specifies the text of the link and the <varname>render</varname> attribute specifies which areas are to be updated. The <sgmltag><a4j:commandLink></sgmltag> uses the <varname>onclick</varname> event instead of the <varname>onsubmit</varname> event, but otherwise uses all common Ajax attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />.
</para>
</section>
@@ -191,10 +191,10 @@
<section id="sect-Component_Reference-Actions-a4jjsFunction">
<title><a4j:jsFunction></title>
<para>
- The <classname><a4j:jsFunction></classname> component allows Ajax requests to be performed directly from JavaScript code, and server-side data to be invoked and returned in JavaScript Object Notation (<acronym>JSON</acronym>) format to use in client-side JavaScript calls.
+ The <sgmltag><a4j:jsFunction></sgmltag> component allows Ajax requests to be performed directly from JavaScript code, and server-side data to be invoked and returned in JavaScript Object Notation (<acronym>JSON</acronym>) format to use in client-side JavaScript calls.
</para>
<para>
- The <classname><a4j:jsFunction></classname> component has all the common Ajax action attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />; the <code>action</code> and <code>actionListener</code> attributes can be invoked and parts of the page can be re-rendered after a successful call to the JavaScript function. <xref linkend="exam-Component_Reference-a4jjsFunction-a4jjsFunction_example" /> shows how an Ajax request can be initiated from the JavaScript and a partial page update performed. The JavaScript function can be invoked with the data returned by the Ajax response.
+ The <sgmltag><a4j:jsFunction></sgmltag> component has all the common Ajax action attributes as listed in <xref linkend="chap-Component_Reference-Common_Ajax_attributes" />; the <varname>action</varname> and <varname>actionListener</varname> attributes can be invoked and parts of the page can be re-rendered after a successful call to the JavaScript function. <xref linkend="exam-Component_Reference-a4jjsFunction-a4jjsFunction_example" /> shows how an Ajax request can be initiated from the JavaScript and a partial page update performed. The JavaScript function can be invoked with the data returned by the Ajax response.
</para>
<example id="exam-Component_Reference-a4jjsFunction-a4jjsFunction_example">
<title><a4j:jsFunction> example</title>
@@ -204,20 +204,20 @@
</programlisting>
</example>
<para>
- The <classname><a4j:jsFunction></classname> component allows the use of the <classname><a4j:actionParam></classname> component or the JavaServer Faces <classname><f:param></classname> component to pass any number of parameters for the JavaScript function.
+ The <sgmltag><a4j:jsFunction></sgmltag> component allows the use of the <sgmltag><a4j:actionParam></sgmltag> component or the JavaServer Faces <sgmltag><f:param></sgmltag> component to pass any number of parameters for the JavaScript function.
</para>
<para>
- The <classname><a4j:jsFunction></classname> component is similar to the <classname><a4j:commandButton></classname> component, but it can be activated from the JavaScript code. This allows some server-side functionality to be invoked and the returned data to subsequently be used in a JavaScript function invoked by the <code>oncomplete</code> event attribute. In this way, the <classname><a4j:jsFunction></classname> component can be used instead of the <classname><a4j:commandButton></classname> component.
+ The <sgmltag><a4j:jsFunction></sgmltag> component is similar to the <sgmltag><a4j:commandButton></sgmltag> component, but it can be activated from the JavaScript code. This allows some server-side functionality to be invoked and the returned data to subsequently be used in a JavaScript function invoked by the <varname>oncomplete</varname> event attribute. In this way, the <sgmltag><a4j:jsFunction></sgmltag> component can be used instead of the <sgmltag><a4j:commandButton></sgmltag> component.
</para>
</section>
<section id="sect-Component_Reference-Actions-a4jpoll">
<title><a4j:poll></title>
<para>
- The <classname><a4j:poll></classname> component allows periodical sending of Ajax requests to the server. It is used for repeatedly updating a page at specific time intervals.
+ The <sgmltag><a4j:poll></sgmltag> component allows periodical sending of Ajax requests to the server. It is used for repeatedly updating a page at specific time intervals.
</para>
<para>
- The <code>interval</code> attribute specifies the time in milliseconds to between requests. The default for this value is 1000 ms (1 second).
+ The <varname>interval</varname> attribute specifies the time in milliseconds to between requests. The default for this value is 1000 ms (1 second).
</para>
</section>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Common_Ajax_attributes.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Common_Ajax_attributes.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Common_Ajax_attributes.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -15,9 +15,9 @@
<section id="sect-Component_Reference-Common_Ajax_attributes-Rendering">
<title>Rendering</title>
<section id="sect-Component_Reference-Rendering-render">
- <title><code>render</code></title>
+ <title><varname>render</varname></title>
<para>
- The <code>render</code> attribute provides a reference to one or more areas on the page that need updating after an Ajax interaction. It uses the <code>UIComponent.findComponent()</code> algorithm to find the components in the component tree using their <code>id</code> attributes as a reference. Components can be referenced by their <code>id</code> attribute alone, or by a hierarchy of components' <code>id</code> attributes to make locating components more efficient. <xref linkend="exam-Component_Reference-render-render_example" /> shows both ways of referencing components. Each command button will correctly render the referenced panel grids, but the second button locates the references more efficiently with explicit hierarchy paths.
+ The <varname>render</varname> attribute provides a reference to one or more areas on the page that need updating after an Ajax interaction. It uses the <methodname>UIComponent.findComponent()</methodname> algorithm to find the components in the component tree using their <varname>id</varname> attributes as a reference. Components can be referenced by their <varname>id</varname> attribute alone, or by a hierarchy of components' <varname>id</varname> attributes to make locating components more efficient. <xref linkend="exam-Component_Reference-render-render_example" /> shows both ways of referencing components. Each command button will correctly render the referenced panel grids, but the second button locates the references more efficiently with explicit hierarchy paths.
</para>
<example id="exam-Component_Reference-render-render_example">
<title>render example</title>
@@ -40,15 +40,15 @@
</programlisting>
</example>
<para>
- The value of the <code>render</code> attribute can also be an expression written using JavaServer Faces' Expression Language (<acronym>EL</acronym>); this can either be a <type>Set</type>, <type>Collection</type>, <type>Array</type>, or <type>String</type>.
+ The value of the <varname>render</varname> attribute can also be an expression written using JavaServer Faces' Expression Language (<acronym>EL</acronym>); this can either be a <type>Set</type>, <type>Collection</type>, <type>Array</type>, or <type>String</type>.
</para>
<important>
<title>Important</title>
<para>
- A common problem with using <code>render</code> occurs when the referenced component has a <code>rendered</code> attribute. <acronym>JSF</acronym> does not mark the place in the browser's Document Object Model (<acronym>DOM</acronym>) where the rendered component would be placed in case the <code>rendered</code> attribute returns <literal>false</literal>. As such, when RichFaces sends the render code to the client, the page does not update as the place for the update is not known.
+ A common problem with using <varname>render</varname> occurs when the referenced component has a <varname>rendered</varname> attribute. <acronym>JSF</acronym> does not mark the place in the browser's Document Object Model (<acronym>DOM</acronym>) where the rendered component would be placed in case the <varname>rendered</varname> attribute returns <literal>false</literal>. As such, when RichFaces sends the render code to the client, the page does not update as the place for the update is not known.
</para>
<para>
- To work around this issue, wrap the component to be rendered in an <classname><a4j:outputPanel></classname> with <code>layout="none"</code>. The <classname><a4j:outputPanel></classname> will receive the update and render the component as required.
+ To work around this issue, wrap the component to be rendered in an <sgmltag><a4j:outputPanel></sgmltag> with <code>layout="none"</code>. The <sgmltag><a4j:outputPanel></sgmltag> will receive the update and render the component as required.
</para>
</important>
</section>
@@ -56,7 +56,7 @@
<section id="sect-Component_Reference-Rendering-ajaxRendered">
<title>ajaxRendered</title>
<para>
- A component with <code>ajaxRendered="true"</code> will be re-rendered with <emphasis>every</emphasis> Ajax request, even when not referenced by the requesting component's <code>render</code> attribute. This can be useful for updating a status display or error message without explicitly requesting it.
+ A component with <code>ajaxRendered="true"</code> will be re-rendered with <emphasis>every</emphasis> Ajax request, even when not referenced by the requesting component's <varname>render</varname> attribute. This can be useful for updating a status display or error message without explicitly requesting it.
</para>
<para>
Rendering of components in this way can be repressed by adding <code>limitRender="true"</code> to the requesting component, as described in <xref linkend="sect-Component_Reference-Rendering-limitRender" />.
@@ -66,10 +66,10 @@
<section id="sect-Component_Reference-Rendering-limitRender">
<title>limitRender</title>
<para>
- A component with <code>limitRender="true"</code> specified will <emphasis>not</emphasis> cause components with <code>ajaxRendered="true"</code> to re-render, and only those components listed in the <code>render</code> attribute will be updated. This essentially overrides the <code>ajaxRendered</code> attribute in other components.
+ A component with <code>limitRender="true"</code> specified will <emphasis>not</emphasis> cause components with <code>ajaxRendered="true"</code> to re-render, and only those components listed in the <varname>render</varname> attribute will be updated. This essentially overrides the <varname>ajaxRendered</varname> attribute in other components.
</para>
<para>
- <xref linkend="exam-Component_Reference-data-Data_reference_example" /> describes two command buttons, a panel grid rendered by the buttons, and an output panel showing error messages. When the first button is clicked, the output panel is rendered even though it is not explicitly referenced with the <code>render</code> attribute. The second button, however, uses <code>limitRender="true"</code> to override the output panel's rendering and only render the panel grid.
+ <xref linkend="exam-Component_Reference-data-Data_reference_example" /> describes two command buttons, a panel grid rendered by the buttons, and an output panel showing error messages. When the first button is clicked, the output panel is rendered even though it is not explicitly referenced with the <varname>render</varname> attribute. The second button, however, uses <code>limitRender="true"</code> to override the output panel's rendering and only render the panel grid.
</para>
<example id="exam-Component_Reference-limitRender-Rendering_example">
<title>Rendering example</title>
@@ -98,24 +98,24 @@
<section id="sect-Component_Reference-Queuing_and_traffic_control-queue">
<title>queue</title>
<para>
- The <code>queue</code> attribute defines the name of the queue that will be used to schedule upcoming Ajax requests. Typically RichFaces does not queue Ajax requests, so if events are produced simultaneously they will arrive at the server simultaneously. This can potentially lead to unpredictable results when the responses are returned. The <code>queue</code> attribute ensures that the requests are responded to in a set order.
+ The <varname>queue</varname> attribute defines the name of the queue that will be used to schedule upcoming Ajax requests. Typically RichFaces does not queue Ajax requests, so if events are produced simultaneously they will arrive at the server simultaneously. This can potentially lead to unpredictable results when the responses are returned. The <varname>queue</varname> attribute ensures that the requests are responded to in a set order.
</para>
<para>
- A queue name is specified with the <code>queue</code> attribute, and each request added to the named queue is completed one at a time in the order they were sent. In addition, RichFaces intelligently removes similar requests produced by the same event from a queue to improve performance, protecting against unnecessary traffic flooding and
+ A queue name is specified with the <varname>queue</varname> attribute, and each request added to the named queue is completed one at a time in the order they were sent. In addition, RichFaces intelligently removes similar requests produced by the same event from a queue to improve performance, protecting against unnecessary traffic flooding and
</para>
</section>
<section id="sect-Component_Reference-Queuing_and_traffic_control-requestDelay">
<title>requestDelay</title>
<para>
- The <code>requestDelay</code> attribute specifies an amount of time in milliseconds for the request to wait in the queue before being sent to the server. If a similar request is added to the queue before the delay is over, the original request is removed from the queue and not sent.
+ The <varname>requestDelay</varname> attribute specifies an amount of time in milliseconds for the request to wait in the queue before being sent to the server. If a similar request is added to the queue before the delay is over, the original request is removed from the queue and not sent.
</para>
</section>
<section id="sect-Component_Reference-Queuing_and_traffic_control-ignoreDupResponses">
<title>ignoreDupResponses</title>
<para>
- When set to <literal>true</literal>, the <code>ignoreDupResponses</code> attribute causes responses from the server for the request to be ignored if there is another similar request in the queue. This avoids unnecessary updates on the client when another update is expected. The request is still processed on the server, but if another similar request has been queued then no updates are made on the client.
+ When set to <literal>true</literal>, the <varname>ignoreDupResponses</varname> attribute causes responses from the server for the request to be ignored if there is another similar request in the queue. This avoids unnecessary updates on the client when another update is expected. The request is still processed on the server, but if another similar request has been queued then no updates are made on the client.
</para>
</section>
@@ -129,21 +129,21 @@
<section id="sect-Component_Reference-Data_processing-process">
<title>process</title>
<para>
- The <code>process</code> attribute allows <acronym>JSF</acronym> processing to be limited to defined components. To only process the requesting component, <code>process="@this"</code> can be used.
+ The <varname>process</varname> attribute allows <acronym>JSF</acronym> processing to be limited to defined components. To only process the requesting component, <code>process="@this"</code> can be used.
</para>
</section>
<section id="sect-Component_Reference-Data_processing-immediate">
<title>immediate</title>
<para>
- If the <code>immediate</code> attribute is set to <literal>true</literal>, the default ActionListener is executed immediately during the Apply Request Values phase of the request processing lifecycle, rather than waitingfor the Invoke Application phase. This allows some data model values to be updated regardless of whether the Validation phase is successful or not.
+ If the <varname>immediate</varname> attribute is set to <literal>true</literal>, the default ActionListener is executed immediately during the Apply Request Values phase of the request processing lifecycle, rather than waitingfor the Invoke Application phase. This allows some data model values to be updated regardless of whether the Validation phase is successful or not.
</para>
</section>
<section id="sect-Component_Reference-Data_processing-bypassUpdates">
<title>bypassUpdates</title>
<para>
- If the <code>bypassUpdates</code> attribute is set to <literal>true</literal>, the Update Model phase of the request processing lifecycle is bypassed. This is useful if user input needs to be validated but the model does not need to be updated.
+ If the <varname>bypassUpdates</varname> attribute is set to <literal>true</literal>, the Update Model phase of the request processing lifecycle is bypassed. This is useful if user input needs to be validated but the model does not need to be updated.
</para>
</section>
@@ -152,22 +152,22 @@
<section id="sect-Component_Reference-Common_Ajax_attributes-Action_and_navigation">
<title>Action and navigation</title>
<para>
- The <code>action</code> and <code>actionListener</code> attributes can be used to invoke action methods and define action events.
+ The <varname>action</varname> and <varname>actionListener</varname> attributes can be used to invoke action methods and define action events.
</para>
<section id="sect-Component_Reference-Action_and_navigation-action">
<title>action</title>
<para>
- The <code>action</code> attribute is a method binding that points to the application action to be invoked. The method can be activated during the Apply Request Values phase or the Invoke Application phase of the request processing lifecycle.
+ The <varname>action</varname> attribute is a method binding that points to the application action to be invoked. The method can be activated during the Apply Request Values phase or the Invoke Application phase of the request processing lifecycle.
</para>
<para>
- The method specified in the <code>action</code> attribute must return <literal>null</literal> for an Ajax response with a partial page update.
+ The method specified in the <varname>action</varname> attribute must return <literal>null</literal> for an Ajax response with a partial page update.
</para>
</section>
<section id="sect-Component_Reference-Action_and_navigation-actionListener">
<title>actionListener</title>
<para>
- The <code>actionListener</code> attribute is a method binding for <classname>ActionEvent</classname> methods with a return type of <literal>void</literal>.
+ The <varname>actionListener</varname> attribute is a method binding for <classname>ActionEvent</classname> methods with a return type of <literal>void</literal>.
</para>
</section>
@@ -181,21 +181,21 @@
<section id="sect-Component_Reference-Events_and_JavaScript_interactions-onsubmit">
<title>onsubmit</title>
<para>
- The <code>onsubmit</code> attribute will invoke the JavaScript code before the Ajax request is sent. The request is canceled if the JavaScript code defined for <code>onsubmit</code> returns <literal>false</literal>.
+ The <varname>onsubmit</varname> attribute will invoke the JavaScript code before the Ajax request is sent. The request is canceled if the JavaScript code defined for <varname>onsubmit</varname> returns <literal>false</literal>.
</para>
</section>
<section id="sect-Component_Reference-Events_and_JavaScript_interactions-onclick">
<title>onclick</title>
<para>
- The <code>onclick</code> attribute functions similarly to the <code>onsubmit</code> attribute for those components that can be clicked, such as <classname><a4j:commandButton></classname> and <classname><a4j:commandLink></classname>. It invokes the defined JavaScript before the Ajax request, and the request will be canceled if the defined code returns <literal>false</literal>.
+ The <varname>onclick</varname> attribute functions similarly to the <varname>onsubmit</varname> attribute for those components that can be clicked, such as <sgmltag><a4j:commandButton></sgmltag> and <sgmltag><a4j:commandLink></sgmltag>. It invokes the defined JavaScript before the Ajax request, and the request will be canceled if the defined code returns <literal>false</literal>.
</para>
</section>
<section id="sect-Component_Reference-Events_and_JavaScript_interactions-oncomplete">
<title>oncomplete</title>
<para>
- The <code>oncomplete</code> attribute invokes the JavaScript code after the Ajax response has been returned and the <acronym>DOM</acronym> tree of the browser has been updated. The code is registered for further invocation of the <acronym>XMLHTTP</acronym> request object before an Ajax request is sent. As such, using <acronym>JSF</acronym> Expression Language (<acronym>EL</acronym>) value binding means the code will not be changed during processing of the request on the server. Additionally the <code>oncomplete</code> attribute cannot use the <literal>this</literal> keyword as it will not point to the component from which the Ajax request was initiated.
+ The <varname>oncomplete</varname> attribute invokes the JavaScript code after the Ajax response has been returned and the <acronym>DOM</acronym> tree of the browser has been updated. The code is registered for further invocation of the <acronym>XMLHTTP</acronym> request object before an Ajax request is sent. As such, using <acronym>JSF</acronym> Expression Language (<acronym>EL</acronym>) value binding means the code will not be changed during processing of the request on the server. Additionally the <varname>oncomplete</varname> attribute cannot use the <literal>this</literal> keyword as it will not point to the component from which the Ajax request was initiated.
</para>
</section>
@@ -223,7 +223,7 @@
<section id="sect-Component_Reference-Events_and_JavaScript_interactions-data">
<title>data</title>
<para>
- The <code>data</code> attribute allows the use of additional data during an Ajax call. <acronym>JSF</acronym> Expression Language (<acronym>EL</acronym>) can be used to reference the property of the managed bean, and its value will be serialized in JavaScript Object Notation (<acronym>JSON</acronym>) and returned to the client side. The property can then be referenced through the <code>data</code> variable in the event attribute definitions. Both primitive types and complex types such as arrays and collections can be serialized and used with <code>data</code>.
+ The <varname>data</varname> attribute allows the use of additional data during an Ajax call. <acronym>JSF</acronym> Expression Language (<acronym>EL</acronym>) can be used to reference the property of the managed bean, and its value will be serialized in JavaScript Object Notation (<acronym>JSON</acronym>) and returned to the client side. The property can then be referenced through the <varname>data</varname> variable in the event attribute definitions. Both primitive types and complex types such as arrays and collections can be serialized and used with <varname>data</varname>.
</para>
<example id="exam-Component_Reference-data-Data_reference_example">
<title>Data reference example</title>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Containers.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Containers.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Containers.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -12,24 +12,24 @@
<section id="sect-Component_Reference-Containers-a4jform">
<title><a4j:form></title>
<para>
- The <classname><a4j:form></classname> builds on the functionality of the JavaServer Faces (<acronym>JSF</acronym>) component <classname><h:form></classname>, adding Ajax capabilities to the form.
+ The <sgmltag><a4j:form></sgmltag> builds on the functionality of the JavaServer Faces (<acronym>JSF</acronym>) component <sgmltag><h:form></sgmltag>, adding Ajax capabilities to the form.
</para>
<note>
<title>Note</title>
<para>
- The <acronym>JSF</acronym> component <classname><h:form></classname>, on which the <classname><a4j:form></classname> component is based, had an issue whereby the <classname><h:commandLink></classname> component could not be re-rendered without re-rendering the entire form. <classname><a4j:form></classname> and <classname><a4j:commandLink></classname> fix this issue.
+ The <acronym>JSF</acronym> component <sgmltag><h:form></sgmltag>, on which the <sgmltag><a4j:form></sgmltag> component is based, had an issue whereby the <sgmltag><h:commandLink></sgmltag> component could not be re-rendered without re-rendering the entire form. <sgmltag><a4j:form></sgmltag> and <sgmltag><a4j:commandLink></sgmltag> fix this issue.
</para>
</note>
<para>
- The <classname><a4j:form></classname> component can add indirect Ajax support to non-Ajax components on the form by setting <code>ajaxSubmit="true"</code>. It then uses the standard Ajax component attributes and updates components specified with the <code>render</code> attribute.
+ The <sgmltag><a4j:form></sgmltag> component can add indirect Ajax support to non-Ajax components on the form by setting <code>ajaxSubmit="true"</code>. It then uses the standard Ajax component attributes and updates components specified with the <varname>render</varname> attribute.
</para>
<important>
<title>Important</title>
<para>
- <classname><a4j:form></classname> should not use <code>ajaxSubmit="true"</code> if it contains other Ajax-capable components.
+ <sgmltag><a4j:form></sgmltag> should not use <code>ajaxSubmit="true"</code> if it contains other Ajax-capable components.
</para>
<para>
- Additionally, due to security reasons the file upload form element cannot be indirectly made Ajax-capable with <classname><a4j:form></classname>.
+ Additionally, due to security reasons the file upload form element cannot be indirectly made Ajax-capable with <sgmltag><a4j:form></sgmltag>.
</para>
</important>
</section>
@@ -44,37 +44,37 @@
<section id="sect-Component_Reference-Containers-a4joutputPanel">
<title><a4j:outputPanel></title>
<para>
- The <classname><a4j:outputPanel></classname> component is used to group together components in to update them as a whole, rather than having to specify the components individually.
+ The <sgmltag><a4j:outputPanel></sgmltag> component is used to group together components in to update them as a whole, rather than having to specify the components individually.
</para>
<para>
- The <code>layout</code> attribute can be used to determine how the component is rendered in <acronym>HTML</acronym>:
+ The <varname>layout</varname> attribute can be used to determine how the component is rendered in <acronym>HTML</acronym>:
</para>
<itemizedlist>
<listitem>
<para>
- <code>layout="inline"</code> is the default behavior, which will render the component as a pair of <code><span></code> tags containing the child components.
+ <code>layout="inline"</code> is the default behavior, which will render the component as a pair of <sgmltag><span></sgmltag> tags containing the child components.
</para>
</listitem>
<listitem>
<para>
- <code>layout="block"</code> will render the component as a pair of <code><div></code> tags containing the child components, which will use any defined <code><div></code> element styles.
+ <code>layout="block"</code> will render the component as a pair of <sgmltag><div></sgmltag> tags containing the child components, which will use any defined <sgmltag><div></sgmltag> element styles.
</para>
</listitem>
<listitem>
<para>
- <code>layout="none"</code> will render the component as a pair of <code><span></code> tags with an identifier equal to that of a child component. If the child component is rendered then the <code><span></code> are not included, leaving no markup representing the <classname><a4j:outputPanel></classname> in <acronym>HTML</acronym>.
+ <code>layout="none"</code> will render the component as a pair of <sgmltag><span></sgmltag> tags with an identifier equal to that of a child component. If the child component is rendered then the <sgmltag><span></sgmltag> are not included, leaving no markup representing the <sgmltag><a4j:outputPanel></sgmltag> in <acronym>HTML</acronym>.
</para>
</listitem>
</itemizedlist>
<para>
- Setting <code>ajaxRendered="true"</code> will cause the <classname><a4j:outputPanel></classname> to be updated with each Ajax response for the page, even when not listed explicitly by the requesting component. This can in turn be overridden by specific attributes on any requesting components.
+ Setting <code>ajaxRendered="true"</code> will cause the <sgmltag><a4j:outputPanel></sgmltag> to be updated with each Ajax response for the page, even when not listed explicitly by the requesting component. This can in turn be overridden by specific attributes on any requesting components.
</para>
</section>
<section id="sect-Component_Reference-Containers-a4jregion">
<title><a4j:region></title>
<para>
- The <classname><a4j:region></classname> component specifies a part of the document object model (<acronym>DOM</acronym>) tree to be processed on the server. The processing includes data handling during decoding, conversion, validation, and model updating. When not using <classname><a4j:region></classname>, the entire view functions as a region.
+ The <sgmltag><a4j:region></sgmltag> component specifies a part of the document object model (<acronym>DOM</acronym>) tree to be processed on the server. The processing includes data handling during decoding, conversion, validation, and model updating. When not using <sgmltag><a4j:region></sgmltag>, the entire view functions as a region.
</para>
<para>
The whole form is still submitted to the server, but only the specified region is processed. Regions can be nested, in which case only the immediate region of the component initiating the request will be processed.
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Introduction.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Introduction.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Introduction.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -20,7 +20,7 @@
<note>
<title>Note</title>
<para>
- All components in the <classname>a4j</classname> library feature built-in Ajax support, so it is unnecessary to add the <classname><a4j:ajax></classname> behavior.
+ All components in the <classname>a4j</classname> library feature built-in Ajax support, so it is unnecessary to add the <sgmltag><a4j:ajax></sgmltag> behavior.
</para>
</note>
</section>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Output_and_messages.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Output_and_messages.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Output_and_messages.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -33,7 +33,7 @@
<section id="sect-Component_Reference-Output_and_messages-richprogressBar">
<title>rich:progressBar</title>
<para>
- The <classname><rich:progressBar></classname> component displays a progress bar to indicate the status of a process to the user. It can update either through Ajax or on the client side, and the look and feel can be fully customized.
+ The <sgmltag><rich:progressBar></sgmltag> component displays a progress bar to indicate the status of a process to the user. It can update either through Ajax or on the client side, and the look and feel can be fully customized.
</para>
</section>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Panels_and_containers.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Panels_and_containers.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Panels_and_containers.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -12,12 +12,12 @@
<section id="sect-Component_Reference-Panels_and_containers-richmodalPanel">
<title><rich:modalPanel></title>
<para>
- The <classname><rich:modalPanel></classname> component provides a modal panel or window that blocks interaction with the rest of the application while active. It can be easily positioned on the screen, dragged to a new position by the user, and re-sized.
+ The <sgmltag><rich:modalPanel></sgmltag> component provides a modal panel or window that blocks interaction with the rest of the application while active. It can be easily positioned on the screen, dragged to a new position by the user, and re-sized.
</para>
<important>
<title>Important</title>
<para>
- The <classname><rich:modalPanel></classname> component should always be placed outside the original <classname><h:form></classname>, and must include its own <classname><h:form></classname> if performing submissions.
+ The <sgmltag><rich:modalPanel></sgmltag> component should always be placed outside the original <sgmltag><h:form></sgmltag>, and must include its own <sgmltag><h:form></sgmltag> if performing submissions.
</para>
</important>
<para>
@@ -43,7 +43,7 @@
<section id="sect-Component_Reference-Panels_and_containers-richpanel">
<title><rich:panel></title>
<para>
- The <classname><rich:panel></classname> component is a bordered panel with an optional header.
+ The <sgmltag><rich:panel></sgmltag> component is a bordered panel with an optional header.
</para>
<para>
No attributes need to be listed for basic usage. To add a header to the panel, use the <code>header</code> attribute to specify the text to appear in the header. Alternatively the header can be constructed using a header facet.
@@ -53,21 +53,21 @@
<section id="sect-Component_Reference-Panels_and_containers-richpanelBar">
<title><rich:panelBar></title>
<para>
- The <classname><rich:panelBar></classname> is a series of panels stacked on top of each other, each collapsed such that only the header of the panel is showing. When the header of a panel is clicked, it is expanded to show the content of the panel. Clicking on a different header will collapse the previous panel and epand the selected one. Another name for the component is "accordion". Each panel in contained in a <classname><rich:panelBar></classname> component is a <classname><rich:panelBarItem></classname> component.
+ The <sgmltag><rich:panelBar></sgmltag> is a series of panels stacked on top of each other, each collapsed such that only the header of the panel is showing. When the header of a panel is clicked, it is expanded to show the content of the panel. Clicking on a different header will collapse the previous panel and epand the selected one. Another name for the component is "accordion". Each panel in contained in a <sgmltag><rich:panelBar></sgmltag> component is a <sgmltag><rich:panelBarItem></sgmltag> component.
</para>
</section>
<section id="sect-Component_Reference-Panels_and_containers-richpanelBarItem">
<title><rich:panelBarItem></title>
<para>
- The <classname><rich:panelBarItem></classname> component is a panel for use with the <classname><rich:panelBar></classname> component.
+ The <sgmltag><rich:panelBarItem></sgmltag> component is a panel for use with the <sgmltag><rich:panelBar></sgmltag> component.
</para>
</section>
<section id="sect-Component_Reference-Panels_and_containers-richsimpleTogglePanel">
<title><rich:simpleTogglePanel></title>
<para>
- The <classname><rich:simpleTogglePanel></classname> component is a collapsible panel that shows or hides content when the header bar is activated. It is a simplified version of <classname><rich:togglePanel></classname> component.
+ The <sgmltag><rich:simpleTogglePanel></sgmltag> component is a collapsible panel that shows or hides content when the header bar is activated. It is a simplified version of <sgmltag><rich:togglePanel></sgmltag> component.
</para>
<para>
Basic usage requires only the <code>label</code> attribute to be specified, which provides the title for the header element.
@@ -78,22 +78,22 @@
<itemizedlist>
<listitem>
<para>
- <literal>server</literal>, the default setting, which causes the <classname><rich:simpleTogglePanel></classname> component to perform a common submission, completely re-rendering the page. Only one panel at a time is uploaded to the client side.
+ <literal>server</literal>, the default setting, which causes the <sgmltag><rich:simpleTogglePanel></sgmltag> component to perform a common submission, completely re-rendering the page. Only one panel at a time is uploaded to the client side.
</para>
</listitem>
<listitem>
<para>
- <literal>ajax</literal>, which causes the <classname><rich:simpleTogglePanel></classname> component to perform an Ajax form submission, and the content of the panel is rendered. Only one panel at a time is uploaded to the client side.
+ <literal>ajax</literal>, which causes the <sgmltag><rich:simpleTogglePanel></sgmltag> component to perform an Ajax form submission, and the content of the panel is rendered. Only one panel at a time is uploaded to the client side.
</para>
</listitem>
<listitem>
<para>
- <literal>client</literal>, which causes <classname><rich:simpleTogglePanel></classname> components to update on the client side, re-rendering themselves and any additional components listed with the <code>render</code> attribute.
+ <literal>client</literal>, which causes <sgmltag><rich:simpleTogglePanel></sgmltag> components to update on the client side, re-rendering themselves and any additional components listed with the <code>render</code> attribute.
</para>
</listitem>
</itemizedlist>
<para>
- If the <classname><rich:simpleTogglePanel></classname> component uses <code>opened="true"</code>, the panel is open and expanded, otherwise it is closed and collapsed.
+ If the <sgmltag><rich:simpleTogglePanel></sgmltag> component uses <code>opened="true"</code>, the panel is open and expanded, otherwise it is closed and collapsed.
</para>
<para>
The <code>openMarker</code> and <code>closeMarker</code> attributes can be used to define custom icons for the expanding header.
@@ -103,12 +103,12 @@
<section id="sect-Component_Reference-Panels_and_containers-richtabPanel">
<title><rich:tabPanel></title>
<para>
- The <classname><rich:tabPanel></classname> component provides a set of tabbed panels for displaying one panel of content at a time. The tabs can be highly customized and themed.
+ The <sgmltag><rich:tabPanel></sgmltag> component provides a set of tabbed panels for displaying one panel of content at a time. The tabs can be highly customized and themed.
</para>
<note>
<title>Note</title>
<para>
- All <classname><rich:tabPanel></classname> components should be wrapped in a form element so that content is correctly submitted.
+ All <sgmltag><rich:tabPanel></sgmltag> components should be wrapped in a form element so that content is correctly submitted.
</para>
</note>
<para>
@@ -117,17 +117,17 @@
<itemizedlist>
<listitem>
<para>
- <literal>server</literal>, the default setting, which causes the <classname><rich:tabPanel></classname> component to perform a common submission, completely re-rendering the page. Only one panel at a time is uploaded to the client side.
+ <literal>server</literal>, the default setting, which causes the <sgmltag><rich:tabPanel></sgmltag> component to perform a common submission, completely re-rendering the page. Only one panel at a time is uploaded to the client side.
</para>
</listitem>
<listitem>
<para>
- <literal>ajax</literal>, which causes the <classname><rich:tabPanel></classname> component to perform an Ajax form submission, and the content of the panel is rendered. Only one panel at a time is uploaded to the client side.
+ <literal>ajax</literal>, which causes the <sgmltag><rich:tabPanel></sgmltag> component to perform an Ajax form submission, and the content of the panel is rendered. Only one panel at a time is uploaded to the client side.
</para>
</listitem>
<listitem>
<para>
- <literal>client</literal>, which causes <classname><rich:tabPanel></classname> components to update on the client side, re-rendering themselves and any additional components listed with the <code>render</code> attribute.
+ <literal>client</literal>, which causes <sgmltag><rich:tabPanel></sgmltag> components to update on the client side, re-rendering themselves and any additional components listed with the <code>render</code> attribute.
</para>
</listitem>
</itemizedlist>
@@ -142,26 +142,26 @@
<section id="sect-Component_Reference-Panels_and_containers-richtab">
<title><rich:tab></title>
<para>
- The <classname><rich:tab></classname> component represents an individual tab inside a <classname><rich:tabPanel></classname> component, including the tab's content. Clicking on the tab header will bring its corresponding content to the front of other tabs.
+ The <sgmltag><rich:tab></sgmltag> component represents an individual tab inside a <sgmltag><rich:tabPanel></sgmltag> component, including the tab's content. Clicking on the tab header will bring its corresponding content to the front of other tabs.
</para>
<para>
- Basic usage of the <classname><rich:tab></classname> component requires the <code>label</code> attribute, which provides the text on the tab header. The content of the tab is then detailed inside the <classname><rich:tab></classname> tags.
+ Basic usage of the <sgmltag><rich:tab></sgmltag> component requires the <code>label</code> attribute, which provides the text on the tab header. The content of the tab is then detailed inside the <sgmltag><rich:tab></sgmltag> tags.
</para>
<para>
An individual tab can be disabled by setting <code>disabled="true"</code>. Disabled tabs cannot be activated or switched to.
</para>
<para>
- The switching mode for performing submissions can be inherited from <code>switchMode</code> attribute of the parent <classname><rich:tabPanel></classname> component, or set individually for each <classname><rich:tab></classname> component. Refer to <xref linkend="sect-Component_Reference-Panels_and_containers-richtabPanel" /> for details on the <code>switchMode</code> attribute.
+ The switching mode for performing submissions can be inherited from <code>switchMode</code> attribute of the parent <sgmltag><rich:tabPanel></sgmltag> component, or set individually for each <sgmltag><rich:tab></sgmltag> component. Refer to <xref linkend="sect-Component_Reference-Panels_and_containers-richtabPanel" /> for details on the <code>switchMode</code> attribute.
</para>
<para>
- There are two event handlers that are unique to the <classname><rich:tab></classname> component. The <code>ontabenter</code> attribute points to the function to perform when the mouse enters the tab, while the <code>ontableave</code> attribute points to the function to perform when the mouse leaves the tab.
+ There are two event handlers that are unique to the <sgmltag><rich:tab></sgmltag> component. The <code>ontabenter</code> attribute points to the function to perform when the mouse enters the tab, while the <code>ontableave</code> attribute points to the function to perform when the mouse leaves the tab.
</para>
</section>
<section id="sect-Component_Reference-Panels_and_containers-richtogglePanel">
<title><rich:togglePanel></title>
<para>
- The <classname><rich:togglePanel></classname> component is a wrapper component with named facets. Each facet is displayed after activating a corresponding <classname><rich:toggleControl></classname> component.
+ The <sgmltag><rich:togglePanel></sgmltag> component is a wrapper component with named facets. Each facet is displayed after activating a corresponding <sgmltag><rich:toggleControl></sgmltag> component.
</para>
<para>
The initial state of the component can be configured using the <code>initialState</code> attribute, which points to a facet name to display. Alternatively, setting <code>initialState="empty"</code>, the initial state will be blank until the user selects an option.
@@ -192,13 +192,13 @@
<section id="sect-Component_Reference-Panels_and_containers-richtoggleControl">
<title><rich:toggleControl></title>
<para>
- The <classname><rich:toggleControl></classname> component works with a <classname><rich:togglePanel></classname> component to switch between panel states. It can be located either inside or outside the <classname><rich:togglePanel></classname> component, and can be used to switch to a specific state or cycle through a set of states.
+ The <sgmltag><rich:toggleControl></sgmltag> component works with a <sgmltag><rich:togglePanel></sgmltag> component to switch between panel states. It can be located either inside or outside the <sgmltag><rich:togglePanel></sgmltag> component, and can be used to switch to a specific state or cycle through a set of states.
</para>
<para>
- Basic usage for the <classname><rich:toggleControl></classname> requires the <code>for</code> attribute, which points to the <code>id</code> attribute of the <classname><rich:togglePanel></classname> that it controls. The <code>value</code> attribute specifies the label of the toggle button.
+ Basic usage for the <sgmltag><rich:toggleControl></sgmltag> requires the <code>for</code> attribute, which points to the <code>id</code> attribute of the <sgmltag><rich:togglePanel></sgmltag> that it controls. The <code>value</code> attribute specifies the label of the toggle button.
</para>
<para>
- The <code>switchToState</code> attribute can be used to explicitly set a target panel for the toggle to activate. If no <code>switchToState</code> attribute is defined, the toggle will switch to the next panel listed in the <code>switchOrder</code> attribute of the <classname><rich:toggleControl></classname> component. <xref linkend="exam-Component_Reference-richtoggleControl-Switching_panel_states" /> shows the use of the <code>switchToState</code> attribute.
+ The <code>switchToState</code> attribute can be used to explicitly set a target panel for the toggle to activate. If no <code>switchToState</code> attribute is defined, the toggle will switch to the next panel listed in the <code>switchOrder</code> attribute of the <sgmltag><rich:toggleControl></sgmltag> component. <xref linkend="exam-Component_Reference-richtoggleControl-Switching_panel_states" /> shows the use of the <code>switchToState</code> attribute.
</para>
<example id="exam-Component_Reference-richtoggleControl-Switching_panel_states">
<title>Switching panel states</title>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Rich_inputs.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Rich_inputs.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Rich_inputs.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -12,19 +12,19 @@
<section id="sect-Component_Reference-Rich_inputs-richCalendar">
<title><rich:Calendar></title>
<para>
- The <classname><rich:calendar></classname> component allows the user to enter a date and time through an in-line or pop-up calendar. The pop-up calendar can navigate through months and years, and its look and feel can be highly customized.
+ The <sgmltag><rich:calendar></sgmltag> component allows the user to enter a date and time through an in-line or pop-up calendar. The pop-up calendar can navigate through months and years, and its look and feel can be highly customized.
</para>
<para>
- The <classname><rich:calendar></classname> component supports two different ways of loading data through defining the <code>mode</code> attribute. When not specified, the component uses <literal>client</literal> mode, which loads an initial portion of data within a set date range. The range can be defined by using the <code>preloadDateRangeBegin</code> and <code>preloadDateRangeEnd</code> attributes. Additional data requests are not sent. Alternatively, with <code>mode="ajax"</code> the <classname><rich:calendar></classname> requests portions of data for rendering from a special data model. The data model can be defined through the <code>dataModel</code> attribute, which points to an object that implements the <classname>CalendarDataModel</classname> interface. If the <code>dataModel</code> attribute is not defined or has a value of <literal>null</literal>, the <literal>ajax</literal> mode functions the same as the <literal>client</literal> mode.
+ The <sgmltag><rich:calendar></sgmltag> component supports two different ways of loading data through defining the <varname>mode</varname> attribute. When not specified, the component uses <literal>client</literal> mode, which loads an initial portion of data within a set date range. The range can be defined by using the <varname>preloadDateRangeBegin</varname> and <varname>preloadDateRangeEnd</varname> attributes. Additional data requests are not sent. Alternatively, with <code>mode="ajax"</code> the <sgmltag><rich:calendar></sgmltag> requests portions of data for rendering from a special data model. The data model can be defined through the <varname>dataModel</varname> attribute, which points to an object that implements the <classname>CalendarDataModel</classname> interface. If the <varname>dataModel</varname> attribute is not defined or has a value of <literal>null</literal>, the <literal>ajax</literal> mode functions the same as the <literal>client</liter!
al> mode.
</para>
<para>
- The <classname><rich:calendar></classname> component is presented as a pop-up by default, appearing as a text field with a button to expand the full pop-up calendar. Specifying <code>popup="false</code> will render the calendar in-line on the page instead, which displays the full calendar without the text field or display button. The appearance of the display button can be altered from the standard calendar icon by defining the <code>buttonIcon</code> and <code>buttonIconDisabled</code> attributes to replace the icon with a specified file, or by defining the <code>buttonLabel</code> attribute to display text on the button without an icon. If <code>buttonLabel</code> is specified then both <code>buttonIcon</code> and <code>buttonIconDisabled</code> attributes are ignored. The text field box can also be hidden by setting <code>showInput="false"</code>.
+ The <sgmltag><rich:calendar></sgmltag> component is presented as a pop-up by default, appearing as a text field with a button to expand the full pop-up calendar. Specifying <code>popup="false</code> will render the calendar in-line on the page instead, which displays the full calendar without the text field or display button. The appearance of the display button can be altered from the standard calendar icon by defining the <varname>buttonIcon</varname> and <varname>buttonIconDisabled</varname> attributes to replace the icon with a specified file, or by defining the <varname>buttonLabel</varname> attribute to display text on the button without an icon. If <varname>buttonLabel</varname> is specified then both <varname>buttonIcon</varname> and <varname>buttonIconDisabled</varname> attributes are ignored. The text field box can also be hidden by setting <code>showInput="false"</code>.
</para>
<para>
- The position at which the pop-up calendar displays relative to the text field and button can be configured using the <code>jointPoint</code> and <code>direction</code> attributes. The <code>jointPoint</code> attribute refers to the corner of the text field and button with which the calendar will be aligned and the <code>direction</code> specifies which direction the pop-up calendar will span relative to the joint point. The default settings are <code>jointPoint="bottom-left"</code> and <code>direction="bottom-right"</code>, causing the pop-up calendar to align with the bottom-left corner of the text field and span to the bottom-right, underneath the text field and button. The diagram shows the joint points and directions that can be used. Alternatively, both <code>jointPoint</code> and <code>direction</code> can be set to <literal>auto</literal> to allow smart pop-up positioning.
+ The position at which the pop-up calendar displays relative to the text field and button can be configured using the <varname>jointPoint</varname> and <varname>direction</varname> attributes. The <varname>jointPoint</varname> attribute refers to the corner of the text field and button with which the calendar will be aligned and the <varname>direction</varname> specifies which direction the pop-up calendar will span relative to the joint point. The default settings are <code>jointPoint="bottom-left"</code> and <code>direction="bottom-right"</code>, causing the pop-up calendar to align with the bottom-left corner of the text field and span to the bottom-right, underneath the text field and button. The diagram shows the joint points and directions that can be used. Alternatively, both <varname>jointPoint</varname> and <varname>direction</varname> can be set to <literal>auto</literal> to allow smart pop-up positioning.
</para>
<para>
- The calendar features a <guibutton>Today</guibutton> button for locating today's date on the calendar. This can be set to three different values using the <code>todayControlMode</code> attribute:
+ The calendar features a <guibutton>Today</guibutton> button for locating today's date on the calendar. This can be set to three different values using the <varname>todayControlMode</varname> attribute:
</para>
<itemizedlist>
<listitem>
@@ -44,40 +44,40 @@
</listitem>
</itemizedlist>
<para>
- The <classname><rich:calendar></classname> component can additionally allow a time of day to be specified with the date. After selecting a date the option to set a time becomes available. The default time can be set with the <code>defaultTime</code> attribute. If the time is altered and a new date is selected, it will not reset unless <code>resetTimeOnDateSelect="true"</code> is specified.
+ The <sgmltag><rich:calendar></sgmltag> component can additionally allow a time of day to be specified with the date. After selecting a date the option to set a time becomes available. The default time can be set with the <varname>defaultTime</varname> attribute. If the time is altered and a new date is selected, it will not reset unless <code>resetTimeOnDateSelect="true"</code> is specified.
</para>
<para>
- There are several event handlers that are unique to the <classname><rich:calendar></classname> component.
+ There are several event handlers that are unique to the <sgmltag><rich:calendar></sgmltag> component.
</para>
<itemizedlist>
<listitem>
<para>
- <code>ondateselect</code> is triggered when the date is selected by the user, before the update request is sent.
+ <varname>ondateselect</varname> is triggered when the date is selected by the user, before the update request is sent.
</para>
</listitem>
<listitem>
<para>
- <code>ondateselected</code> is triggered after the date is selected by the user.
+ <varname>ondateselected</varname> is triggered after the date is selected by the user.
</para>
</listitem>
<listitem>
<para>
- <code>oncurrentdateselect</code> is triggered when any of the year- or month-changing buttons are pressed, before the update request is sent.
+ <varname>oncurrentdateselect</varname> is triggered when any of the year- or month-changing buttons are pressed, before the update request is sent.
</para>
</listitem>
<listitem>
<para>
- <code>oncurrentdateselected</code> is triggered after any of the year- or month-changing buttons are pressed.
+ <varname>oncurrentdateselected</varname> is triggered after any of the year- or month-changing buttons are pressed.
</para>
</listitem>
<listitem>
<para>
- <code>ontimeselect</code> is triggered when the time is set by the user, before the update request is sent.
+ <varname>ontimeselect</varname> is triggered when the time is set by the user, before the update request is sent.
</para>
</listitem>
<listitem>
<para>
- <code>ontimeselected</code> is triggered after the time has been set by the user.
+ <varname>ontimeselected</varname> is triggered after the time has been set by the user.
</para>
</listitem>
</itemizedlist>
@@ -89,31 +89,31 @@
<section id="sect-Component_Reference-Rich_inputs-richcolorPicker">
<title><rich:colorPicker></title>
<para>
- The <classname><rich:colorPicker></classname> component allows the selection of a color, either by picking the color from the spectrum, defining it through decimal or hexadecimal <acronym>RGB</acronym> (red-green-blue) values, or defining it through <acronym>HSB</acronym> (hue-saturation-brightness) values. The <classname><rich:colorPicker></classname> component can appear either in-line with a pop-up or flat, and the look and feel can be highly customized.
+ The <sgmltag><rich:colorPicker></sgmltag> component allows the selection of a color, either by picking the color from the spectrum, defining it through decimal or hexadecimal <acronym>RGB</acronym> (red-green-blue) values, or defining it through <acronym>HSB</acronym> (hue-saturation-brightness) values. The <sgmltag><rich:colorPicker></sgmltag> component can appear either in-line with a pop-up or flat, and the look and feel can be highly customized.
</para>
<para>
- The <code>value</code> attribute stores the currently selected color. The <code>colorMode</code> attribute defines whether the <code>value</code> is saved as <literal>hex</literal> (hexadecimal) or <literal>rgb</literal> (red-green-blue).
+ The <varname>value</varname> attribute stores the currently selected color. The <varname>colorMode</varname> attribute defines whether the <varname>value</varname> is saved as <literal>hex</literal> (hexadecimal) or <literal>rgb</literal> (red-green-blue).
</para>
<para>
- The <classname><rich:colorPicker></classname> appears in-line by default, where the color picker spectrum is only shown once the component is clicked on. The component can appear "flat", where the whole color picker is shown, by setting <code>flat="true"</code>.
+ The <sgmltag><rich:colorPicker></sgmltag> appears in-line by default, where the color picker spectrum is only shown once the component is clicked on. The component can appear "flat", where the whole color picker is shown, by setting <code>flat="true"</code>.
</para>
<para>
- The <classname><rich:colorPicker></classname> component has the unique event handler <code>onbeforeshow</code>, which is triggered immediately before the color picker is opened. The <code>showEvent</code> attribute can be used to bind the opening of the color picker to a specific event; it is bound to the <code>onclick</code> event by default.
+ The <sgmltag><rich:colorPicker></sgmltag> component has the unique event handler <varname>onbeforeshow</varname>, which is triggered immediately before the color picker is opened. The <varname>showEvent</varname> attribute can be used to bind the opening of the color picker to a specific event; it is bound to the <varname>onclick</varname> event by default.
</para>
</section>
<section id="sect-Component_Reference-Rich_inputs-richcomboBox">
<title><rich:comboBox></title>
<para>
- The <classname><rich:comboBox></classname> component is a typical combo-box with built-in Ajax capabilities. It supports client-side suggestions, browser-like selection, Seam entity converter support, and customization of the look and feel.
+ The <sgmltag><rich:comboBox></sgmltag> component is a typical combo-box with built-in Ajax capabilities. It supports client-side suggestions, browser-like selection, Seam entity converter support, and customization of the look and feel.
</para>
<para>
- The <code>value</code> attribute stores the selected value for the combo-box. Suggestions shown in the drop-down list for the combo-box can be specified in one of two ways:
+ The <varname>value</varname> attribute stores the selected value for the combo-box. Suggestions shown in the drop-down list for the combo-box can be specified in one of two ways:
</para>
<itemizedlist>
<listitem>
<para>
- Using the <code>suggestionValues</code> attribute, and defining a collection of suggestions:
+ Using the <varname>suggestionValues</varname> attribute, and defining a collection of suggestions:
</para>
<example id="exam-Component_Reference-richcomboBox-Defining_suggestion_values">
<title>Defining suggestion values</title>
@@ -125,7 +125,7 @@
</listitem>
<listitem>
<para>
- Using the JSF components <classname><f:selectItem /></classname> and <classname><f:selectItems /></classname> to define a list of items:
+ Using the JSF components <sgmltag><f:selectItem></sgmltag> and <sgmltag><f:selectItems></sgmltag> to define a list of items:
</para>
<example id="exam-Component_Reference-richcomboBox-Defining_list_items_for_richinplaceSelect">
<title>Defining list items for <rich:inplaceSelect></title>
@@ -146,17 +146,17 @@
Users can type into the combo-box's text field to enter a value, which also searches through the suggestion items in the drop-down box. By default, the first suggestion item is selected as the user types. This behavior can be deactivated by setting <code>selectFirstOnUpdate="false"</code>. Setting <code>directInputSuggestions="true"</code> causes the combo-box to fill the text field box with a matching suggestion as the user types. Alternatively, the text field can be disabled by setting <code>enableManualInput="false"</code>, which forces the users to pick from items in the drop-down box.
</para>
<para>
- The <classname><rich:comboBox></classname> component has two unique event handlers:
+ The <sgmltag><rich:comboBox></sgmltag> component has two unique event handlers:
</para>
<itemizedlist>
<listitem>
<para>
- <code>onlistcall</code> triggers before the drop-down list is shown, allowing the operation to be canceled.
+ <varname>onlistcall</varname> triggers before the drop-down list is shown, allowing the operation to be canceled.
</para>
</listitem>
<listitem>
<para>
- <code>onselect</code> triggers when a suggestion is selected from the drop-down list, before the update request is sent.
+ <varname>onselect</varname> triggers when a suggestion is selected from the drop-down list, before the update request is sent.
</para>
</listitem>
</itemizedlist>
@@ -165,20 +165,20 @@
<section id="sect-Component_Reference-Rich_inputs-richeditor">
<title><rich:editor></title>
<para>
- The <classname><rich:editor></classname> component provides a fully-featured word processor. It features manageable global configurations, and support for Seam text, custom plug-ins, and a customized look and feel. The editor is fully based on the TinyMCE JavaScript editor control, supporting all TinyMCE's parameters, and is adapted for the <acronym>JSF</acronym> environment with some additional capabilities.
+ The <sgmltag><rich:editor></sgmltag> component provides a fully-featured word processor. It features manageable global configurations, and support for Seam text, custom plug-ins, and a customized look and feel. The editor is fully based on the TinyMCE JavaScript editor control, supporting all TinyMCE's parameters, and is adapted for the <acronym>JSF</acronym> environment with some additional capabilities.
</para>
</section>
<section id="sect-Component_Reference-Rich_inputs-richfileUpload">
<title><rich:fileUpload></title>
<para>
- The <classname><rich:fileUpload></classname> component allows the user to upload files to a server. It features multiple uploads, automatic uploads, progress bars, restrictions on file types and sizes to be uploaded, and an embedded flash module.
+ The <sgmltag><rich:fileUpload></sgmltag> component allows the user to upload files to a server. It features multiple uploads, automatic uploads, progress bars, restrictions on file types and sizes to be uploaded, and an embedded flash module.
</para>
<para>
- Files are uploaded to either the temporary folder (different for each operating system) or to <acronym>RAM</acronym> (random-access memory), depending on the value of the <code>createTempFile</code> parameter of the Ajax4jsf Filter section in the <filename>web.xml</filename> for the project.
+ Files are uploaded to either the temporary folder (different for each operating system) or to <acronym>RAM</acronym> (random-access memory), depending on the value of the <parameter>createTempFile</parameter> parameter of the Ajax4jsf Filter section in the <filename>web.xml</filename> for the project.
</para>
<para>
- Basic usage requires the <code>uploadData</code> attribute, pointing to the collection of uploaded files.
+ Basic usage requires the <varname>uploadData</varname> attribute, pointing to the collection of uploaded files.
</para>
<example id="exam-Component_Reference-richfileUpload-Basic_usage_of_richfileUpload">
<title>Basic usage of <rich:fileUpload></title>
@@ -188,49 +188,49 @@
</programlisting>
</example>
<para>
- The <code>fileUploadListener</code> attribute can be used to call a function on the server side after each file is uploaded.
+ The <varname>fileUploadListener</varname> attribute can be used to call a function on the server side after each file is uploaded.
</para>
<para>
- The <code>immediateUpload</code> attribute can be set to <literal>true</literal> to upload files as soon as they are added to the list, rather than waiting for the user to press the <guibutton>Upload</guibutton>. The <code>autoclear</code> attribute can be set to <code>true</code> to automatically remove files from the list once they have been successfully uploaded.
+ The <varname>immediateUpload</varname> attribute can be set to <literal>true</literal> to upload files as soon as they are added to the list, rather than waiting for the user to press the <guibutton>Upload</guibutton>. The <varname>autoclear</varname> attribute can be set to <literal>true</literal> to automatically remove files from the list once they have been successfully uploaded.
</para>
<para>
- The <classname><rich:fileUpload></classname> component can place restrictions on the files that can be uploaded. The <code>acceptedTypes</code> attribute restricts the file types to just those listed. The <code>maxFilesQuantity</code> attribute restricts the maximum number of files that can be uploaded. Size restrictions can be placed on individual files by setting the <code>maxRequestSize</code> parameter of the Ajax4jsf Filter section in the <filename>web.xml</filename> file for the project.
+ The <sgmltag><rich:fileUpload></sgmltag> component can place restrictions on the files that can be uploaded. The <varname>acceptedTypes</varname> attribute restricts the file types to just those listed. The <varname>maxFilesQuantity</varname> attribute restricts the maximum number of files that can be uploaded. Size restrictions can be placed on individual files by setting the <parameter>maxRequestSize</parameter> parameter of the Ajax4jsf Filter section in the <filename>web.xml</filename> file for the project.
</para>
<para>
- There are a number of event handlers specifc to the <classname><rich:fileUpload></classname> component:
+ There are a number of event handlers specifc to the <sgmltag><rich:fileUpload></sgmltag> component:
</para>
<itemizedlist>
<listitem>
<para>
- <code>onadd</code> is triggered before a file is added to the list.
+ <varname>onadd</varname> is triggered before a file is added to the list.
</para>
</listitem>
<listitem>
<para>
- <code>onupload</code> is triggered before a file is uploaded.
+ <varname>onupload</varname> is triggered before a file is uploaded.
</para>
</listitem>
<listitem>
<para>
- <code>onuploadcomplete</code> is triggered after all files in the list have finished uploading.
+ <varname>onuploadcomplete</varname> is triggered after all files in the list have finished uploading.
</para>
</listitem>
<listitem>
<para>
- <code>onuploadcanceled</code> is triggered after an upload has been canceled.
+ <varname>onuploadcanceled</varname> is triggered after an upload has been canceled.
</para>
</listitem>
<listitem>
<para>
- <code>onerror</code> is triggered when an error occurs during the upload process.
+ <varname>onerror</varname> is triggered when an error occurs during the upload process.
</para>
</listitem>
</itemizedlist>
<para>
- The <classname><rich:fileUpload></classname> component has an embedded Flash module that adds extra functionality. To enable the Flash module, set <code>allowFlash="true"</code>. The Flash module adds additional features to file selection, such as the ability to choose multiple files at once and the filtering of files by their type. Additionally, the Flash module provides a smoother animation of the progress bar during the upload process, as the progress polling is performed by Flash rather than Ajax.
+ The <sgmltag><rich:fileUpload></sgmltag> component has an embedded Flash module that adds extra functionality. To enable the Flash module, set <code>allowFlash="true"</code>. The Flash module adds additional features to file selection, such as the ability to choose multiple files at once and the filtering of files by their type. Additionally, the Flash module provides a smoother animation of the progress bar during the upload process, as the progress polling is performed by Flash rather than Ajax.
</para>
<para>
- The text labels used in the component can be completely customized. Labels for the various controls of the component can be set using <code>addControlLabel</code>, <code>clearAllControlLabel</code>, <code>clearControlLabel</code>, <code>stopEntryControlLabel</code>, and <code>uploadControlLabel</code>. The status label for the upload can be set using the <code>label</code> attribute and the following wildcards:
+ The text labels used in the component can be completely customized. Labels for the various controls of the component can be set using <varname>addControlLabel</varname>, <varname>clearAllControlLabel</varname>, <varname>clearControlLabel</varname>, <varname>stopEntryControlLabel</varname>, and <varname>uploadControlLabel</varname>. The status label for the upload can be set using the <varname>label</varname> attribute and the following wildcards:
</para>
<itemizedlist>
<listitem>
@@ -254,42 +254,42 @@
<section id="sect-Component_Reference-Rich_inputs-richinplaceInput">
<title><rich:inplaceInput></title>
<para>
- The <classname><rich:inplaceInput></classname> component allows information to be entered in-line in blocks of text, improving readability of the text. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can input text; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
+ The <sgmltag><rich:inplaceInput></sgmltag> component allows information to be entered in-line in blocks of text, improving readability of the text. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can input text; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
</para>
<para>
- When in the initial "view" state, the starting label can be set using the <code>defaultLabel</code> attribute, such as <code>defaultLabel="click to edit"</code>.
+ When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code>defaultLabel="click to edit"</code>.
</para>
<para>
- Basic usage requires the <code>value</code> attribute to point to the expression for the current value of the component.
+ Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component.
</para>
<para>
- By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <code>editEvent</code> attribute to specify a different event. When switching to "edit" mode, the existing text can be automatically highlighted to make editing easier by setting <code>selectOnEdit="true"</code>.
+ By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the existing text can be automatically highlighted to make editing easier by setting <code>selectOnEdit="true"</code>.
</para>
<para>
- The user can confirm and save their input by pressing the <keycap>Enter</keycap> key or cancel by pressing the <keycap>Esc</keycap> key. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <code>controlsHorizontalPosition</code> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <code>controlsVerticalPosition</code> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <code>saveControlIcon</code> and <code>cancelControlIcon</code>. Further customization is possible through the use of facets.
+ The user can confirm and save their input by pressing the <keycap>Enter</keycap> key or cancel by pressing the <keycap>Esc</keycap> key. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
</para>
<para>
- There are several event handlers that are specific to the <classname><rich:inplaceInput></classname> component:
+ There are several event handlers that are specific to the <sgmltag><rich:inplaceInput></sgmltag> component:
</para>
<itemizedlist>
<listitem>
<para>
- <code>oneditactivation</code> is triggered before the "edit" state is activated.
+ <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>oneditactivated</code> is triggered after the "edit" state is activated.
+ <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>onviewactivation</code> is triggered before the "view" or "changed" state is activated.
+ <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>onviewactivated</code> is triggered after the "view" or "changed" state is activated.
+ <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
</para>
</listitem>
</itemizedlist>
@@ -298,13 +298,13 @@
<section id="sect-Component_Reference-Rich_inputs-richinplaceSelect">
<title><rich:inplaceSelect></title>
<para>
- The <classname><rich:inplaceSelect></classname> component is similar to the <classname><rich:inplaceInput></classname> component, but the uses a drop-down selection box to enter text instead of a regular text field. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can select a value from a drop-down list; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
+ The <sgmltag><rich:inplaceSelect></sgmltag> component is similar to the <sgmltag><rich:inplaceInput></sgmltag> component, but the uses a drop-down selection box to enter text instead of a regular text field. Changes can be rendered either in-line or for the whole block, and inputs can be focused with keyboard navigation. The component has three functional states: the "view" state, where the component displays its initial setting, such as "click to edit"; the "edit" state, where the user can select a value from a drop-down list; and the "changed" state, where the new value for the component has been confirmed but can be edited again if required.
</para>
<para>
- When in the initial "view" state, the starting label can be set using the <code>defaultLabel</code> attribute, such as <code>defaultLabel="click to edit"</code>.
+ When in the initial "view" state, the starting label can be set using the <varname>defaultLabel</varname> attribute, such as <code>defaultLabel="click to edit"</code>.
</para>
<para>
- Basic usage requires the <code>value</code> attribute to point to the expression for the current value of the component and a list of items. The list of items can be defined using the JSF components <classname><f:selectItem/></classname> and <classname><f:selectItems/></classname>.
+ Basic usage requires the <varname>value</varname> attribute to point to the expression for the current value of the component and a list of items. The list of items can be defined using the JSF components <sgmltag><f:selectItem/></sgmltag> and <sgmltag><f:selectItems/></sgmltag>.
</para>
<example id="exam-Component_Reference-richinplaceSelect-Defining_list_items_for_richinplaceSelect">
<title>Defining list items for <rich:inplaceSelect></title>
@@ -320,33 +320,33 @@
</programlisting>
</example>
<para>
- By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <code>editEvent</code> attribute to specify a different event. When switching to "edit" mode, the drop-down list of possible values will automatically be displayed; this can be deactivated by setting <code>openOnEdit="false"</code>.
+ By default, the event to switch the component to the "edit" state is a single mouse click. This can be changed using the <varname>editEvent</varname> attribute to specify a different event. When switching to "edit" mode, the drop-down list of possible values will automatically be displayed; this can be deactivated by setting <code>openOnEdit="false"</code>.
</para>
<para>
- Once the user selects an option from the drop-down list, the item becomes the new value for the component and the state is switched to the "changed" state. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <code>controlsHorizontalPosition</code> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <code>controlsVerticalPosition</code> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <code>saveControlIcon</code> and <code>cancelControlIcon</code>. Further customization is possible through the use of facets.
+ Once the user selects an option from the drop-down list, the item becomes the new value for the component and the state is switched to the "changed" state. Alternatively, buttons for confirming or canceling can be added to the component by setting <code>showControls="true"</code>. These buttons can be positioned using the <varname>controlsHorizontalPosition</varname> attribute with settings of <literal>left</literal>, <literal>right</literal>, or <literal>center</literal>, and the <varname>controlsVerticalPosition</varname> attribute with settings <literal>bottom</literal>, <literal>center</literal>, or <literal>top</literal>. The confirmation control icons can be altered using the <varname>saveControlIcon</varname> and <varname>cancelControlIcon</varname>. Further customization is possible through the use of facets.
</para>
<para>
- There are several event handlers that are specific to the <classname><rich:inplaceSelect></classname> component:
+ There are several event handlers that are specific to the <sgmltag><rich:inplaceSelect></sgmltag> component:
</para>
<itemizedlist>
<listitem>
<para>
- <code>oneditactivation</code> is triggered before the "edit" state is activated.
+ <varname>oneditactivation</varname> is triggered before the "edit" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>oneditactivated</code> is triggered after the "edit" state is activated.
+ <varname>oneditactivated</varname> is triggered after the "edit" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>onviewactivation</code> is triggered before the "view" or "changed" state is activated.
+ <varname>onviewactivation</varname> is triggered before the "view" or "changed" state is activated.
</para>
</listitem>
<listitem>
<para>
- <code>onviewactivated</code> is triggered after the "view" or "changed" state is activated.
+ <varname>onviewactivated</varname> is triggered after the "view" or "changed" state is activated.
</para>
</listitem>
</itemizedlist>
@@ -355,23 +355,23 @@
<section id="sect-Component_Reference-Rich_inputs-richinputNumberSlider">
<title><rich:inputNumberSlider></title>
<para>
- The <classname><rich:inputNumberSlider></classname> component provides a slider for changing numerical values. Optional features include a tool-tip to display the value while sliding, and a text field for typing the numerical value which can then be validated against the slider's range.
+ The <sgmltag><rich:inputNumberSlider></sgmltag> component provides a slider for changing numerical values. Optional features include a tool-tip to display the value while sliding, and a text field for typing the numerical value which can then be validated against the slider's range.
</para>
<para>
- Basic use of the component with no attributes specified will render a slider with a minimum value of 0, a maximum of 100, and a gradient step of 1, together with a text field for typing the desired numerical value. The text field can be removed by setting <code>showInput="false"</code>, and the properties of the slider can be set with the attributes <code>minValue</code>, <code>maxValue</code>, and <code>step</code>. The slider is labeled with the minimum and maximum boundary values, and a tool-tip showing the current value is shown while sliding the slider; these items can be turned off by setting <code>showBoundaryValues="false"</code> and <code>showToolTip="false"</code> respectively.
+ Basic use of the component with no attributes specified will render a slider with a minimum value of 0, a maximum of 100, and a gradient step of 1, together with a text field for typing the desired numerical value. The text field can be removed by setting <code>showInput="false"</code>, and the properties of the slider can be set with the attributes <varname>minValue</varname>, <varname>maxValue</varname>, and <varname>step</varname>. The slider is labeled with the minimum and maximum boundary values, and a tool-tip showing the current value is shown while sliding the slider; these items can be turned off by setting <code>showBoundaryValues="false"</code> and <code>showToolTip="false"</code> respectively.
</para>
<para>
- Arrow controls can be added to either side of the slider to adjust the value incrementally by setting <code>showArrows="true"</code>. Clicking the arrows move the slider indicator in that direction by the gradient step, and clicking and holding the arrows moves the indicator continuously. The time delay for each step when updating continuously can be defined using the <code>delay</code> attribute.
+ Arrow controls can be added to either side of the slider to adjust the value incrementally by setting <code>showArrows="true"</code>. Clicking the arrows move the slider indicator in that direction by the gradient step, and clicking and holding the arrows moves the indicator continuously. The time delay for each step when updating continuously can be defined using the <varname>delay</varname> attribute.
</para>
</section>
<section id="sect-Component_Reference-Rich_inputs-richinputNumberSpinner">
<title><rich:inputNumberSpinner></title>
<para>
- The <classname><rich:inputNumberSpinner></classname> component is a single-line input field with buttons to increase and decrease a numerical value. The value can be changed using the corresponding directional keys on a keyboard, or by typing into the field.
+ The <sgmltag><rich:inputNumberSpinner></sgmltag> component is a single-line input field with buttons to increase and decrease a numerical value. The value can be changed using the corresponding directional keys on a keyboard, or by typing into the field.
</para>
<para>
- Basic use of the component with no attributes specified will render a number spinner with a minimum value of 1, a maximum value of 100, and a gradient step of 1. These default properties can be re-defined with the attributes <code>minValue</code>, <code>maxValue</code>, and <code>step</code> respectively. The starting value of the spinner is the minimum value unless otherwise specified with the <code>value</code> attribute.
+ Basic use of the component with no attributes specified will render a number spinner with a minimum value of 1, a maximum value of 100, and a gradient step of 1. These default properties can be re-defined with the attributes <varname>minValue</varname>, <varname>maxValue</varname>, and <varname>step</varname> respectively. The starting value of the spinner is the minimum value unless otherwise specified with the <varname>value</varname> attribute.
</para>
<para>
When changing the value using the buttons, raising the value above the maximum or cause the spinner to restart at the minimum value. Likewise, when lowering below the minimum value the spinner will reset to the maximum value. This behavior can be deactivated by setting <code>cycled="false"</code>, which will cause the buttons to stop responding when the reach the maximum or minimum value.
@@ -384,22 +384,22 @@
<section id="sect-Component_Reference-Rich_inputs-richsuggestionBox">
<title><rich:suggestionBox></title>
<para>
- The <classname><rich:suggestionBox></classname> component adds a feature-rich drop-down list of suggestions to any text input component.
+ The <sgmltag><rich:suggestionBox></sgmltag> component adds a feature-rich drop-down list of suggestions to any text input component.
</para>
<para>
- The <classname><rich:suggestionBox></classname> component needs the attributes defined for basic use: <code>for</code>, which identifies the component to attach the suggestion box to; <code>suggestionAction</code>, which defines the method for getting the collection of suggestion data; and <code>var</code>, which defines a collection name for access to the currently highlighted row. Typically the suggestions are presented as a list with one or more columns of suggestion data; the layout of these columns is defined inside the <classname><rich:suggestionBox></classname> tags using <classname><h:column></classname> and other <acronym>JSF</acronym> components.
+ The <sgmltag><rich:suggestionBox></sgmltag> component needs the attributes defined for basic use: <varname>for</varname>, which identifies the component to attach the suggestion box to; <varname>suggestionAction</varname>, which defines the method for getting the collection of suggestion data; and <varname>var</varname>, which defines a collection name for access to the currently highlighted row. Typically the suggestions are presented as a list with one or more columns of suggestion data; the layout of these columns is defined inside the <sgmltag><rich:suggestionBox></sgmltag> tags using <sgmltag><h:column></sgmltag> and other <acronym>JSF</acronym> components.
</para>
<para>
- For suggestion lists with multiple columns, the <code>fetchValue</code> attribute can be used to specify which column is used when selecting the value for the input component.
+ For suggestion lists with multiple columns, the <varname>fetchValue</varname> attribute can be used to specify which column is used when selecting the value for the input component.
</para>
<para>
- The <code>tokens</code> attribute can be used to define separator characters, which are used when multiple values need to be entered and a new suggestion made for each value. For example, <code>tokens=","</code> (a comma) will begin a new suggestion query each time a comma is typed. Multiple separators can be defined with spaces in between (<code>tokens=", . ; [ ]"</code>) or linking to a bean property that holds the collection of separator tokens.
+ The <varname>tokens</varname> attribute can be used to define separator characters, which are used when multiple values need to be entered and a new suggestion made for each value. For example, <code>tokens=","</code> (a comma) will begin a new suggestion query each time a comma is typed. Multiple separators can be defined with spaces in between (<code>tokens=", . ; [ ]"</code>) or linking to a bean property that holds the collection of separator tokens.
</para>
<para>
- The <code>minChars</code> attribute can be used to limit sending the Ajax request until a certain amount of characters has been entered. If the query returns no results, an appropriate message to display can be set with the <code>nothingLabel</code> attribute.
+ The <varname>minChars</varname> attribute can be used to limit sending the Ajax request until a certain amount of characters has been entered. If the query returns no results, an appropriate message to display can be set with the <varname>nothingLabel</varname> attribute.
</para>
<para>
- Instead of returning just one value from an object, the entire object can be returned to the client and handled appropriately. This is done by specifying <code>usingSuggestObjects="true"</code> and setting the <code>onobjectchange</code> attribute to a JavaScript method to handle the object, passing the <literal>suggestion</literal> object as a parameter.
+ Instead of returning just one value from an object, the entire object can be returned to the client and handled appropriately. This is done by specifying <code>usingSuggestObjects="true"</code> and setting the <varname>onobjectchange</varname> attribute to a JavaScript method to handle the object, passing the <literal>suggestion</literal> object as a parameter.
</para>
</section>
Modified: root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Tables_and_grids.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Tables_and_grids.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Tables_and_grids.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -12,10 +12,10 @@
<section id="sect-Component_Reference-Tables_and_grids-richcolumn">
<title>rich:column</title>
<para>
- The <classname><rich:column></classname> component facilitates columns in a table or other <classname>UIData</classname> component. It supports merging columns and rows, sorting, filtering, and customized skinning.
+ The <sgmltag><rich:column></sgmltag> component facilitates columns in a table or other <classname>UIData</classname> component. It supports merging columns and rows, sorting, filtering, and customized skinning.
</para>
<para>
- In general usage, the the <classname><rich:column></classname> component is used in the same was as the JavaServer Faces (<acronym>JSF</acronym>) <classname><h:column></classname> component. It requires no extra attributes for basic usage, as shown in <xref linkend="exam-Component_Reference-richcolumn-Basic_column_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumn-Basic_column_example" />.
+ In general usage, the the <sgmltag><rich:column></sgmltag> component is used in the same was as the JavaServer Faces (<acronym>JSF</acronym>) <sgmltag><h:column></sgmltag> component. It requires no extra attributes for basic usage, as shown in <xref linkend="exam-Component_Reference-richcolumn-Basic_column_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumn-Basic_column_example" />.
</para>
<example id="exam-Component_Reference-richcolumn-Basic_column_example">
<title>Basic column example</title>
@@ -50,7 +50,7 @@
</mediaobject>
</figure>
<para>
- Columns can be merged by using the <code>colspan</code> attribute to specify how many normal columns to span. The <code>colspan</code> attribute is used in conjunction with the <code>breakBefore</code> attribute on the next column to determine how the merged columns are laid out. <xref linkend="exam-Component_Reference-richcolumn-Column_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumn-Column_spanning_example" /> show the first column spanning a width of three columns, with the others broken on to the following line.
+ Columns can be merged by using the <varname>colspan</varname> attribute to specify how many normal columns to span. The <varname>colspan</varname> attribute is used in conjunction with the <varname>breakBefore</varname> attribute on the next column to determine how the merged columns are laid out. <xref linkend="exam-Component_Reference-richcolumn-Column_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumn-Column_spanning_example" /> show the first column spanning a width of three columns, with the others broken on to the following line.
</para>
<example id="exam-Component_Reference-richcolumn-Column_spanning_example">
<title>Column spanning example</title>
@@ -81,7 +81,7 @@
</mediaobject>
</figure>
<para>
- Similarly, the <code>rowspan</code> attribute can be used to merge and span rows. Again the <code>breakBefore</code> attribute needs to be used on related <classname><rich:column></classname> components to define the layout. <xref linkend="exam-Component_Reference-richcolumn-Row_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> show the first column of the table spanning three rows.
+ Similarly, the <varname>rowspan</varname> attribute can be used to merge and span rows. Again the <varname>breakBefore</varname> attribute needs to be used on related <sgmltag><rich:column></sgmltag> components to define the layout. <xref linkend="exam-Component_Reference-richcolumn-Row_spanning_example" /> and the resulting <xref linkend="figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> show the first column of the table spanning three rows.
</para>
<example id="exam-Component_Reference-richcolumn-Row_spanning_example">
<title>Row spanning example</title>
@@ -121,10 +121,10 @@
<section id="sect-Component_Reference-Tables_and_grids-richcolumnGroup">
<title>rich:columnGroup</title>
<para>
- The <classname><rich:columnGroup></classname> component combines multiple columns in a single row to organize complex parts of a table. The resulting effect is similar to using the <code>breakBefore</code> attribute of the <classname><rich:column></classname> component, but is clearer and easier to follow in the source code.
+ The <sgmltag><rich:columnGroup></sgmltag> component combines multiple columns in a single row to organize complex parts of a table. The resulting effect is similar to using the <varname>breakBefore</varname> attribute of the <sgmltag><rich:column></sgmltag> component, but is clearer and easier to follow in the source code.
</para>
<para>
- The <classname><rich:columnGroup></classname> can also be used to create complex headers in a table. <xref linkend="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> and the resulting <xref linkend="figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> demonstrate how complex headers can be achieved.
+ The <sgmltag><rich:columnGroup></sgmltag> can also be used to create complex headers in a table. <xref linkend="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> and the resulting <xref linkend="figu-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups" /> demonstrate how complex headers can be achieved.
</para>
<example id="exam-Component_Reference-richcolumnGroup-Complex_headers_using_column_groups">
<title>Complex headers using column groups</title>
@@ -178,10 +178,10 @@
<section id="sect-Component_Reference-Tables_and_grids-richcolumns">
<title>rich:columns</title>
<para>
- The <classname><rich:columns></classname> component allows for dynamic sets of columns for tables. Columns and rows can be merged, and the look and feel can be highly customized. The component gets a list from a data model and creates a corresponding set of columns in a <classname><rich:dataTable></classname> component. The <classname><rich:columns></classname> component also supports header and footer facets.
+ The <sgmltag><rich:columns></sgmltag> component allows for dynamic sets of columns for tables. Columns and rows can be merged, and the look and feel can be highly customized. The component gets a list from a data model and creates a corresponding set of columns in a <sgmltag><rich:dataTable></sgmltag> component. The <sgmltag><rich:columns></sgmltag> component also supports header and footer facets.
</para>
<para>
- Basic usage of the <classname><rich:columns></classname> component requires the <code>value</code> attribute, which points to the data model; the <code>var</code> attribute, which holds the current variable for the collection of data; and the <code>index</code> attribute, which holds the current counter. The <code>id</code> attribute is used for when the individuals rows require identifiers for Ajax events.
+ Basic usage of the <sgmltag><rich:columns></sgmltag> component requires the <varname>value</varname> attribute, which points to the data model; the <varname>var</varname> attribute, which holds the current variable for the collection of data; and the <varname>index</varname> attribute, which holds the current counter. The <varname>id</varname> attribute is used for when the individuals rows require identifiers for Ajax events.
</para>
<example id="exam-Component_Reference-richcolumns-Basic_columns_example">
<title>Basic columns example</title>
@@ -200,7 +200,7 @@
</programlisting>
</example>
<para>
- The <code>columns</code> attribute
+ The <varname>columns</varname> attribute
</para>
<para>
For details on filtering and sorting columns, refer to <xref linkend="sect-Component_Reference-Tables_and_grids-Table_filtering" /> and <xref linkend="sect-Component_Reference-Tables_and_grids-Table_sorting" />.
@@ -210,7 +210,7 @@
<section id="sect-Component_Reference-Tables_and_grids-richdataFilterSlider">
<title>rich:dataFilterSlider</title>
<para>
- The <classname><rich:dataFilterSlider></classname> components is a slider control that can be used for filtering data in a table.
+ The <sgmltag><rich:dataFilterSlider></sgmltag> components is a slider control that can be used for filtering data in a table.
</para>
</section>
Modified: root/docs/trunk/Developer_Guide/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Developer_Guide/en-US/Book_Info.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Developer_Guide/en-US/Book_Info.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -10,8 +10,8 @@
</subtitle>
<productname>RichFaces</productname>
<productnumber>4.0</productnumber>
- <edition>0.1</edition>
- <pubsnumber>0</pubsnumber>
+ <edition>0</edition>
+ <pubsnumber>1</pubsnumber>
<abstract>
<para>This book is a comprehensive reference for getting started and
working with RichFaces &VERSION;. It includes details of the
Modified: root/docs/trunk/Migration_Guide/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Book_Info.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Migration_Guide/en-US/Book_Info.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -10,7 +10,7 @@
<productname>RichFaces</productname>
<productnumber>4.0</productnumber>
<edition>0</edition>
- <pubsnumber>0</pubsnumber>
+ <pubsnumber>1</pubsnumber>
<abstract>
<para>
This book details how to take an existing RichFaces project and
Modified: root/docs/trunk/Migration_Guide/en-US/Changes_and_new_features.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Changes_and_new_features.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Migration_Guide/en-US/Changes_and_new_features.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -34,10 +34,10 @@
Attribute details
</entry>
<entry>
- Affected a4j components
+ Affected <classname>a4j</classname> components
</entry>
<entry>
- Affected rich components
+ Affected <classname>rich</classname> components
</entry>
</row>
</thead>
@@ -45,47 +45,47 @@
<row>
<entry>
<para>
- <code>process</code>
+ <varname>process</varname>
</para>
<para>
- Changed to <code>execute</code> in &VERSION;.
+ Changed to <varname>execute</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -94,72 +94,72 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toggleControl></classname>
+ <sgmltag><rich:toggleControl></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:treeNode></classname>
+ <sgmltag><rich:treeNode></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -168,47 +168,47 @@
<row>
<entry>
<para>
- <code>reRender</code>
+ <varname>reRender</varname>
</para>
<para>
- Changed to <code>render</code> in &VERSION;.
+ Changed to <varname>render</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -217,92 +217,92 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:ajaxValidator></classname>
+ <sgmltag><rich:ajaxValidator></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataTable></classname>
+ <sgmltag><rich:dataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dragSupport></classname>
+ <sgmltag><rich:dragSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:extendedDataTable></classname>
+ <sgmltag><rich:extendedDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:scrollableDataTable></classname>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:treeNode></classname>
+ <sgmltag><rich:treeNode></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -311,47 +311,47 @@
<row>
<entry>
<para>
- <code>eventsQueue</code>
+ <varname>eventsQueue</varname>
</para>
<para>
- Changed to <code>queue</code> in &VERSION;.
+ Changed to <varname>queue</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -360,82 +360,82 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:ajaxValidator></classname>
+ <sgmltag><rich:ajaxValidator></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dragSupport></classname>
+ <sgmltag><rich:dragSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:scrollableDataTable></classname>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toggleControl></classname>
+ <sgmltag><rich:toggleControl></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -444,47 +444,47 @@
<row>
<entry>
<para>
- <code>limitToList</code>
+ <varname>limitToList</varname>
</para>
<para>
- Changed to <code>limitRender</code> in &VERSION;.
+ Changed to <varname>limitRender</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -493,87 +493,87 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:ajaxValidator></classname>
+ <sgmltag><rich:ajaxValidator></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dragSupport></classname>
+ <sgmltag><rich:dragSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:scrollableDataTable></classname>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toggleControl></classname>
+ <sgmltag><rich:toggleControl></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:treeNode></classname>
+ <sgmltag><rich:treeNode></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -582,10 +582,10 @@
<row>
<entry>
<para>
- <code>onbeforedomupdate</code>
+ <varname>onbeforedomupdate</varname>
</para>
<para>
- Changed to <code>onsuccess</code> in &VERSION;.
+ Changed to <varname>onsuccess</varname> in &VERSION;.
</para>
</entry>
<entry>
@@ -629,52 +629,52 @@
<row>
<entry>
<para>
- <code>ignoreDupResponses</code>
+ <varname>ignoreDupResponses</varname>
</para>
<para>
- Deprecated. Functionality moved to <code>queue</code> in &VERSION;.
+ Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:queue></classname>
+ <sgmltag><a4j:queue></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -683,87 +683,87 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:ajaxValidator></classname>
+ <sgmltag><rich:ajaxValidator></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dragSupport></classname>
+ <sgmltag><rich:dragSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:scrollableDataTable></classname>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toggleControl></classname>
+ <sgmltag><rich:toggleControl></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:treeNode></classname>
+ <sgmltag><rich:treeNode></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -772,42 +772,42 @@
<row>
<entry>
<para>
- <code>requestDelay</code>
+ <varname>requestDelay</varname>
</para>
<para>
- Deprecated. Functionality moved to <code>queue</code> in &VERSION;.
+ Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
</para>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:queue></classname>
+ <sgmltag><a4j:queue></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -816,72 +816,72 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:ajaxValidator></classname>
+ <sgmltag><rich:ajaxValidator></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dragSupport></classname>
+ <sgmltag><rich:dragSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:scrollableDataTable></classname>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -890,7 +890,7 @@
<row>
<entry>
<para>
- <code>ajaxSingle</code>
+ <varname>ajaxSingle</varname>
</para>
<para>
Deprecated. Use <code>execute="@this"</code> in &VERSION; instead.
@@ -900,37 +900,37 @@
<itemizedlist>
<listitem>
<para>
- <classname><a4j:ajax></classname> (was <classname><a4j:support></classname>)
+ <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandButton></classname>
+ <sgmltag><a4j:commandButton></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:commandLink></classname>
+ <sgmltag><a4j:commandLink></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:form></classname>
+ <sgmltag><a4j:form></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:jsFunction></classname>
+ <sgmltag><a4j:jsFunction></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:poll></classname>
+ <sgmltag><a4j:poll></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:push></classname>
+ <sgmltag><a4j:push></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -939,82 +939,82 @@
<itemizedlist>
<listitem>
<para>
- <classname><rich:calendar></classname>
+ <sgmltag><rich:calendar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataFilterSlider></classname>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dataScroller></classname>
+ <sgmltag><rich:dataScroller></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:dropSupport></classname>
+ <sgmltag><rich:dropSupport></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:fileUpload></classname>
+ <sgmltag><rich:fileUpload></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:menuItem></classname>
+ <sgmltag><rich:menuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuGroup></classname>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:panelMenuItem></classname>
+ <sgmltag><rich:panelMenuItem></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:progressBar></classname>
+ <sgmltag><rich:progressBar></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:simpleTogglePanel></classname>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:suggestionBox></classname>
+ <sgmltag><rich:suggestionBox></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tab></classname>
+ <sgmltag><rich:tab></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toggleControl></classname>
+ <sgmltag><rich:toggleControl></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:toolTip></classname>
+ <sgmltag><rich:toolTip></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:tree></classname>
+ <sgmltag><rich:tree></sgmltag>
</para>
</listitem>
<listitem>
<para>
- <classname><rich:treeNode></classname>
+ <sgmltag><rich:treeNode></sgmltag>
</para>
</listitem>
</itemizedlist>
@@ -1086,7 +1086,7 @@
<section id="sect-Migration_Guide-Server_side_process_and_render_mechanisms-Regions">
<title>Regions</title>
<para>
- It is now possible to define zones for processing on the server-side without specifying <code>execute</code> definitions for every component. The <code>execute="@region"</code> property can be used to process regions defined on the server side.
+ It is now possible to define zones for processing on the server-side without specifying <varname>execute</varname> definitions for every component. The <code>execute="@region"</code> property can be used to process regions defined on the server side.
</para>
<important>
<title>Important</title>
@@ -1099,14 +1099,14 @@
<section id="sect-Migration_Guide-Server_side_process_and_render_mechanisms-execute">
<title>execute</title>
<para>
- The <code>execute</code> property has been extended to include the <literal>@region</literal> keyword, which facilitates the region rendering changes described in <xref linkend="sect-Migration_Guide-Server_side_process_and_render_mechanisms-Regions" />.
+ The <varname>execute</varname> property has been extended to include the <literal>@region</literal> keyword, which facilitates the region rendering changes described in <xref linkend="sect-Migration_Guide-Server_side_process_and_render_mechanisms-Regions" />.
</para>
</section>
<section id="sect-Migration_Guide-Server_side_process_and_render_mechanisms-render">
<title>render</title>
<para>
- The <code>render</code> property can also be defined from the server side, using actions and listeners.
+ The <varname>render</varname> property can also be defined from the server side, using actions and listeners.
</para>
</section>
@@ -1115,14 +1115,14 @@
<section id="sect-Migration_Guide-Feature_changes-onbegin_event_attribute">
<title>onbegin event attribute</title>
<para>
- The <code>onbegin</code> attribute has been added to support <acronym>JSF</acronym> events with the type <literal>begin</literal>.
+ The <varname>onbegin</varname> attribute has been added to support <acronym>JSF</acronym> events with the type <literal>begin</literal>.
</para>
</section>
<section id="sect-Migration_Guide-Feature_changes-a4jcommandButton_and_a4jcommandLink">
<title><a4j:commandButton> and <a4j:commandLink></title>
<para>
- Both the <classname><a4j:commandButton></classname> and <classname><a4j:commandLink></classname> use the <code>onclick</code> event attribute instead of the <code>onbegin</code> attribute.
+ Both the <sgmltag><a4j:commandButton></sgmltag> and <sgmltag><a4j:commandLink></sgmltag> use the <varname>onclick</varname> event attribute instead of the <varname>onbegin</varname> attribute.
</para>
</section>
@@ -1137,7 +1137,7 @@
<section id="sect-Migration_Guide-Feature_changes-a4jlog">
<title><a4j:log></title>
<para>
- The <classname><a4j:log></classname> behavior has had several features modified.
+ The <sgmltag><a4j:log></sgmltag> behavior has had several features modified.
</para>
<itemizedlist>
<listitem>
@@ -1161,24 +1161,24 @@
<section id="sect-Migration_Guide-Feature_changes-a4jmessage_and_a4jmessages">
<title><a4j:message> and <a4j:messages></title>
<para>
- Both the <classname><a4j:message></classname> and <classname><a4j:messages></classname> components can be automatically updated by any Ajax request, except those requests with <code>limitRender = true</code>. Attributes from previously-passed states are now cleared.
+ Both the <sgmltag><a4j:message></sgmltag> and <sgmltag><a4j:messages></sgmltag> components can be automatically updated by any Ajax request, except those requests with <code>limitRender = true</code>. Attributes from previously-passed states are now cleared.
</para>
</section>
<section id="sect-Migration_Guide-Feature_changes-a4joutputPanel">
<title><a4j:outputPanel></title>
<para>
- The <classname><a4j:outputPanel></classname> component has had several features modified.
+ The <sgmltag><a4j:outputPanel></sgmltag> component has had several features modified.
</para>
<itemizedlist>
<listitem>
<para>
- The default value for the <code>layout</code> attribute is now <literal>block</literal>.
+ The default value for the <varname>layout</varname> attribute is now <literal>block</literal>.
</para>
</listitem>
<listitem>
<para>
- The default value for the <code>ajaxRendered</code> attribute is now <literal>false</literal>.
+ The default value for the <varname>ajaxRendered</varname> attribute is now <literal>false</literal>.
</para>
</listitem>
<listitem>
@@ -1192,7 +1192,7 @@
<section id="sect-Migration_Guide-Feature_changes-a4jpush_and_a4jpoll">
<title><a4j:push> and <a4j:poll></title>
<para>
- Both the <classname><a4j:push></classname> and <classname><a4j:poll></classname> behaviors now raise a client-side event. For <classname><a4j:push></classname>, this is the <code>ondataavailable</code> event, while for <classname><a4j:poll></classname> it is the <code>ontimeevent</code>.
+ Both the <sgmltag><a4j:push></sgmltag> and <sgmltag><a4j:poll></sgmltag> behaviors now raise a client-side event. For <sgmltag><a4j:push></sgmltag>, this is the <varname>ondataavailable</varname> event, while for <sgmltag><a4j:poll></sgmltag> it is the <varname>ontimeevent</varname>.
</para>
</section>
@@ -1207,25 +1207,25 @@
<section id="sect-Migration_Guide-Feature_changes-a4jstatus">
<title><a4j:status></title>
<para>
- In RichFaces &VERSION;, <classname><a4j:status></classname> has been implemented as a component rather than a behavior, as it should have a representation in the Document Object Model (<acronym>DOM</acronym>) tree.
+ In RichFaces &VERSION;, <sgmltag><a4j:status></sgmltag> has been implemented as a component rather than a behavior, as it should have a representation in the Document Object Model (<acronym>DOM</acronym>) tree.
</para>
<para>
- The <classname><a4j:status></classname> component has had several other features modified.
+ The <sgmltag><a4j:status></sgmltag> component has had several other features modified.
</para>
<itemizedlist>
<listitem>
<para>
- <classname><a4j:status></classname> no longer needs to be associated with a <classname><a4j:region></classname>.
+ <sgmltag><a4j:status></sgmltag> no longer needs to be associated with a <sgmltag><a4j:region></sgmltag>.
</para>
</listitem>
<listitem>
<para>
- <classname><a4j:status></classname> can now report request errors. An additional <code>errorText</code> attribute and <literal>error</literal> facet have been added to show if an error was raised when a request completed.
+ <sgmltag><a4j:status></sgmltag> can now report request errors. An additional <varname>errorText</varname> attribute and <literal>error</literal> facet have been added to show if an error was raised when a request completed.
</para>
</listitem>
<listitem>
<para>
- The event attributes now include <code>onstart</code>, <code>onstop</code>, <code>onerror</code>, and <code>onsuccess</code>.
+ The event attributes now include <varname>onstart</varname>, <varname>onstop</varname>, <varname>onerror</varname>, and <varname>onsuccess</varname>.
</para>
</listitem>
<listitem>
@@ -1275,17 +1275,17 @@
<section id="sect-Migration_Guide-New_components_and_behaviors-a4jajax">
<title><a4j:ajax></title>
<para>
- The <classname><a4j:ajax></classname> behavior replaces the deprecated <classname><a4j:support></classname> behavior.
+ The <sgmltag><a4j:ajax></sgmltag> behavior replaces the deprecated <sgmltag><a4j:support></sgmltag> behavior.
</para>
<para>
- <classname><a4j:ajax></classname> uses <acronym>JSF 2</acronym>, and can be used to add Ajax capabilities to any non-Ajax <acronym>JSF</acronym> or RichFaces component.
+ <sgmltag><a4j:ajax></sgmltag> uses <acronym>JSF 2</acronym>, and can be used to add Ajax capabilities to any non-Ajax <acronym>JSF</acronym> or RichFaces component.
</para>
</section>
<section id="sect-Migration_Guide-New_components_and_behaviors-richbusyBehavior">
<title><rich:busyBehavior></title>
<para>
- <classname><rich:busyBehavior></classname> is used when heavy processing takes place to provide feedback to the user. It can be attached to a component's events to trigger appropriate messages.
+ <sgmltag><rich:busyBehavior></sgmltag> is used when heavy processing takes place to provide feedback to the user. It can be attached to a component's events to trigger appropriate messages.
</para>
</section>
@@ -1306,14 +1306,14 @@
<section id="sect-Migration_Guide-Deprecated_components_and_behaviors-a4jpage">
<title><a4j:page></title>
<para>
- RichFaces &VERSION; drops support for the <classname><a4j:page></classname> component. The component was previously used for solving incompatibility in the JavaServer Pages (<acronym>JSP</acronym>) environment with Apache MyFaces in early Ajax4jsf versions.
+ RichFaces &VERSION; drops support for the <sgmltag><a4j:page></sgmltag> component. The component was previously used for solving incompatibility in the JavaServer Pages (<acronym>JSP</acronym>) environment with Apache MyFaces in early Ajax4jsf versions.
</para>
</section>
<section id="sect-Migration_Guide-Deprecated_components_and_behaviors-a4jsupport">
<title><a4j:support></title>
<para>
- The <classname><a4j:support></classname> component had been deprecated and its functionality replaced by the <classname><a4j:ajax></classname> component. Refer to <xref linkend="sect-Migration_Guide-New_components_and_behaviors-a4jajax" /> for details.
+ The <sgmltag><a4j:support></sgmltag> component had been deprecated and its functionality replaced by the <sgmltag><a4j:ajax></sgmltag> component. Refer to <xref linkend="sect-Migration_Guide-New_components_and_behaviors-a4jajax" /> for details.
</para>
</section>
Modified: root/docs/trunk/Migration_Guide/en-US/Upgrading.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Upgrading.xml 2009-12-15 20:06:34 UTC (rev 16143)
+++ root/docs/trunk/Migration_Guide/en-US/Upgrading.xml 2009-12-16 07:02:00 UTC (rev 16144)
@@ -98,7 +98,7 @@
</ui:composition>
</programlisting>
<para>
- Also add the RichFaces libraries to the JSP pages using <code>taglib</code>.
+ Also add the RichFaces libraries to the JSP pages using <sgmltag>taglib</sgmltag>.
</para>
<programlisting role="XML">
14 years, 5 months
JBoss Rich Faces SVN: r16143 - branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-12-15 15:06:34 -0500 (Tue, 15 Dec 2009)
New Revision: 16143
Added:
branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockContextMap.java
Modified:
branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java
Log:
Fixed unit tests failure due to incorrect implementation of Map#entrySet() in Shale Mock
Added: branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockContextMap.java
===================================================================
--- branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockContextMap.java (rev 0)
+++ branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockContextMap.java 2009-12-15 20:06:34 UTC (rev 16143)
@@ -0,0 +1,174 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.ajax4jsf.tests;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author Nick Belaevski
+ * Fixes incorrectly implemented in Shale Mock Map#entrySet() method
+ */
+class MockContextMap implements Map {
+
+ private static final class MapEntry implements Map.Entry {
+
+ private Object key;
+
+ private Map originalMap;
+
+ public MapEntry(Object key, Map originalMap) {
+ super();
+ this.key = key;
+ this.originalMap = originalMap;
+ }
+
+ public Object getKey() {
+ return key;
+ }
+
+ public Object getValue() {
+ return originalMap.get(key);
+ }
+
+ public Object setValue(Object value) {
+ return originalMap.put(key, value);
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((key == null) ? 0 : key.hashCode());
+ result = prime * result
+ + ((originalMap == null) ? 0 : originalMap.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ MapEntry other = (MapEntry) obj;
+ if (key == null) {
+ if (other.key != null) {
+ return false;
+ }
+ } else if (!key.equals(other.key)) {
+ return false;
+ }
+ if (originalMap == null) {
+ if (other.originalMap != null) {
+ return false;
+ }
+ } else if (!originalMap.equals(other.originalMap)) {
+ return false;
+ }
+ return true;
+ }
+
+ }
+
+ private Map shaleMockMap;
+
+ public MockContextMap(Map shaleMockMap) {
+ super();
+ this.shaleMockMap = shaleMockMap;
+ }
+
+ public void clear() {
+ shaleMockMap.clear();
+ }
+
+ public boolean containsKey(Object key) {
+ return shaleMockMap.containsKey(key);
+ }
+
+ public boolean containsValue(Object value) {
+ return shaleMockMap.containsValue(value);
+ }
+
+ public Set entrySet() {
+ Set keySet = shaleMockMap.keySet();
+
+ Set entrySet = null;
+ if (keySet != null) {
+ entrySet = new HashSet();
+
+ for (Object key : keySet) {
+ entrySet.add(new MapEntry(key, shaleMockMap));
+ }
+ }
+
+ return entrySet;
+ }
+
+ public boolean equals(Object o) {
+ return shaleMockMap.equals(o);
+ }
+
+ public Object get(Object key) {
+ return shaleMockMap.get(key);
+ }
+
+ public int hashCode() {
+ return shaleMockMap.hashCode();
+ }
+
+ public boolean isEmpty() {
+ return shaleMockMap.isEmpty();
+ }
+
+ public Set keySet() {
+ return shaleMockMap.keySet();
+ }
+
+ public Object put(Object key, Object value) {
+ return shaleMockMap.put(key, value);
+ }
+
+ public void putAll(Map m) {
+ shaleMockMap.putAll(m);
+ }
+
+ public Object remove(Object key) {
+ return shaleMockMap.remove(key);
+ }
+
+ public int size() {
+ return shaleMockMap.size();
+ }
+
+ public Collection values() {
+ return shaleMockMap.values();
+ }
+
+}
Modified: branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java
===================================================================
--- branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java 2009-12-15 19:13:37 UTC (rev 16142)
+++ branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockExternalContext.java 2009-12-15 20:06:34 UTC (rev 16143)
@@ -61,6 +61,12 @@
private Iterator requestParameterNamesIterator = null;
private Set resourcePathsSet = null;
+ private Map requestMap;
+
+ private Map sessionMap;
+
+ private Map applicationMap;
+
public MockExternalContext(org.apache.shale.test.mock.MockExternalContext baseContext) {
super((ServletContext)baseContext.getContext(),
(HttpServletRequest)baseContext.getRequest(), (HttpServletResponse)baseContext.getResponse());
@@ -319,4 +325,25 @@
return encodeUrl(baseUrl, parameters);
}
+
+ public Map getRequestMap() {
+ if (requestMap == null) {
+ requestMap = new MockContextMap(super.getRequestMap());
+ }
+ return requestMap;
+ }
+
+ public Map getSessionMap() {
+ if (sessionMap == null) {
+ sessionMap = new MockContextMap(super.getSessionMap());
+ }
+ return sessionMap;
+ }
+
+ public Map getApplicationMap() {
+ if (applicationMap == null) {
+ applicationMap = new MockContextMap(super.getApplicationMap());
+ }
+ return applicationMap;
+ }
}
14 years, 5 months
JBoss Rich Faces SVN: r16142 - in branches/community/3.3.X/framework: test/src/main/java/org/ajax4jsf/tests and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2009-12-15 14:13:37 -0500 (Tue, 15 Dec 2009)
New Revision: 16142
Added:
branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/
branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/MethodBindingMethodExpressionAdaptorTest.java
branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/ValueBindingValueExpressionAdaptorTest.java
Modified:
branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/MethodBindingMethodExpressionAdaptor.java
branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/ValueBindingValueExpressionAdaptor.java
branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java
Log:
https://jira.jboss.org/jira/browse/RFPL-295
Modified: branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/MethodBindingMethodExpressionAdaptor.java
===================================================================
--- branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/MethodBindingMethodExpressionAdaptor.java 2009-12-15 18:21:49 UTC (rev 16141)
+++ branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/MethodBindingMethodExpressionAdaptor.java 2009-12-15 19:13:37 UTC (rev 16142)
@@ -20,9 +20,12 @@
*/
package org.richfaces.webapp.taglib;
+import java.io.Serializable;
+
import javax.el.ELException;
import javax.el.MethodExpression;
import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
import javax.faces.el.EvaluationException;
import javax.faces.el.MethodBinding;
@@ -34,10 +37,17 @@
*
*/
@SuppressWarnings("deprecation")
-public class MethodBindingMethodExpressionAdaptor extends MethodBinding implements StateHolder{
+public class MethodBindingMethodExpressionAdaptor extends MethodBinding implements StateHolder, Serializable {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 225772153283234069L;
+
private MethodExpression expression;
+
private boolean tranzient;
+
/* (non-Javadoc)
* @see javax.faces.el.MethodBinding#getType(javax.faces.context.FacesContext)
*/
@@ -79,11 +89,24 @@
}
public void restoreState(FacesContext context, Object state) {
- expression = (MethodExpression) state;
+ if (state instanceof MethodExpression) {
+ expression = (MethodExpression) state;
+ } else {
+ expression = (MethodExpression) UIComponentBase.saveAttachedState(context, state);
+ }
}
public Object saveState(FacesContext context) {
- return expression;
+ Object result = null;
+ if (!tranzient) {
+ if (expression instanceof StateHolder) {
+ result = UIComponentBase.saveAttachedState(context, expression);
+ } else {
+ result = expression;
+ }
+ }
+
+ return result;
}
public void setTransient(boolean newTransientValue) {
Modified: branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/ValueBindingValueExpressionAdaptor.java
===================================================================
--- branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/ValueBindingValueExpressionAdaptor.java 2009-12-15 18:21:49 UTC (rev 16141)
+++ branches/community/3.3.X/framework/impl/src/main/java/org/richfaces/webapp/taglib/ValueBindingValueExpressionAdaptor.java 2009-12-15 19:13:37 UTC (rev 16142)
@@ -113,15 +113,24 @@
}
public void restoreState(FacesContext context, Object state) {
- expression = (ValueExpression) UIComponentBase.restoreAttachedState(context, state);
+ if (state instanceof ValueExpression) {
+ expression = (ValueExpression) state;
+ } else {
+ expression = (ValueExpression) UIComponentBase.restoreAttachedState(context, state);
+ }
}
public Object saveState(FacesContext context) {
+ Object result = null;
if (!tranzient) {
- return UIComponentBase.saveAttachedState(context, expression);
- } else {
- return null;
+ if (expression instanceof StateHolder) {
+ result = UIComponentBase.saveAttachedState(context, expression);
+ } else {
+ result = expression;
+ }
}
+
+ return result;
}
public void setTransient(boolean newTransientValue) {
Modified: branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java
===================================================================
--- branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java 2009-12-15 18:21:49 UTC (rev 16141)
+++ branches/community/3.3.X/framework/test/src/main/java/org/ajax4jsf/tests/MockValueExpression.java 2009-12-15 19:13:37 UTC (rev 16142)
@@ -89,8 +89,7 @@
*/
@Override
public void setValue(ELContext context, Object value) {
- value = value;
-
+ this.value = value;
}
/* (non-Javadoc)
Added: branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/MethodBindingMethodExpressionAdaptorTest.java
===================================================================
--- branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/MethodBindingMethodExpressionAdaptorTest.java (rev 0)
+++ branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/MethodBindingMethodExpressionAdaptorTest.java 2009-12-15 19:13:37 UTC (rev 16142)
@@ -0,0 +1,192 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.ajax4jsf.webapp.taglib;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import javax.el.ELContext;
+import javax.el.MethodExpression;
+import javax.el.MethodInfo;
+import javax.faces.component.StateHolder;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.apache.commons.io.output.ByteArrayOutputStream;
+
+import com.sun.faces.application.MethodBindingMethodExpressionAdapter;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class MethodBindingMethodExpressionAdaptorTest extends
+ AbstractAjax4JsfTestCase {
+
+ public MethodBindingMethodExpressionAdaptorTest(String name) {
+ super(name);
+ }
+
+ public static class TestMethodExpression extends MethodExpression {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -8789388146351873628L;
+
+ private String returnValue;
+
+ public TestMethodExpression() {
+ this(null);
+ }
+
+ public TestMethodExpression(String returnValue) {
+ super();
+ this.returnValue = returnValue;
+ }
+
+ public String getReturnValue() {
+ return returnValue;
+ }
+
+ public void setReturnValue(String returnValue) {
+ this.returnValue = returnValue;
+ }
+
+ @Override
+ public MethodInfo getMethodInfo(ELContext context) {
+ return null;
+ }
+
+ @Override
+ public Object invoke(ELContext context, Object[] params) {
+ return returnValue;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return false;
+ }
+
+ @Override
+ public String getExpressionString() {
+ return null;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public boolean isLiteralText() {
+ return false;
+ }
+
+ }
+
+ public static final class StateHolderTestMethodExpression extends TestMethodExpression
+ implements StateHolder {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 4430232388824229636L;
+
+ public StateHolderTestMethodExpression() {
+ super();
+ }
+
+ public StateHolderTestMethodExpression(String string) {
+ super(string);
+ }
+
+ public boolean isTransient() {
+ return false;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ setReturnValue((String) state);
+ }
+
+ public Object saveState(FacesContext context) {
+ return getReturnValue();
+ }
+
+ public void setTransient(boolean newTransientValue) {
+ }
+
+ }
+
+ private MethodBindingMethodExpressionAdapter saveRestoreState(
+ MethodBindingMethodExpressionAdapter adaptor) {
+ MethodBindingMethodExpressionAdapter restoredAdaptor = new MethodBindingMethodExpressionAdapter();
+ restoredAdaptor.restoreState(facesContext, adaptor
+ .saveState(facesContext));
+ return restoredAdaptor;
+ }
+
+ private MethodBindingMethodExpressionAdapter serializeDeserialize(
+ MethodBindingMethodExpressionAdapter adaptor) throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ try {
+ oos.writeObject(adaptor);
+ } finally {
+ oos.close();
+ }
+
+ ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(
+ baos.toByteArray()));
+ try {
+ return (MethodBindingMethodExpressionAdapter) ois.readObject();
+ } finally {
+ ois.close();
+ }
+ }
+
+ public void testSaveRestoreState() throws Exception {
+ MethodBindingMethodExpressionAdapter adaptor1 = new MethodBindingMethodExpressionAdapter(
+ new TestMethodExpression("testValue1"));
+
+ assertEquals("testValue1", saveRestoreState(adaptor1).invoke(facesContext, null));
+
+ MethodBindingMethodExpressionAdapter adaptor2 = new MethodBindingMethodExpressionAdapter(
+ new StateHolderTestMethodExpression("testValue2"));
+
+ assertEquals("testValue2", saveRestoreState(adaptor2).invoke(facesContext, null));
+ }
+
+ public void testSerializeDeserialize() throws Exception {
+ MethodBindingMethodExpressionAdapter adaptor1 = new MethodBindingMethodExpressionAdapter(
+ new TestMethodExpression("testValue1"));
+
+ assertEquals("testValue1", serializeDeserialize(adaptor1).invoke(facesContext, null));
+
+ MethodBindingMethodExpressionAdapter adaptor2 = new MethodBindingMethodExpressionAdapter(
+ new StateHolderTestMethodExpression("testValue2"));
+
+ assertEquals("testValue2", serializeDeserialize(adaptor2).invoke(facesContext, null));
+ }
+}
Added: branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/ValueBindingValueExpressionAdaptorTest.java
===================================================================
--- branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/ValueBindingValueExpressionAdaptorTest.java (rev 0)
+++ branches/community/3.3.X/framework/test/src/test/java/org/ajax4jsf/webapp/taglib/ValueBindingValueExpressionAdaptorTest.java 2009-12-15 19:13:37 UTC (rev 16142)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.ajax4jsf.webapp.taglib;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+
+import javax.faces.component.StateHolder;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.ajax4jsf.tests.MockValueExpression;
+import org.apache.commons.io.output.ByteArrayOutputStream;
+import org.richfaces.webapp.taglib.ValueBindingValueExpressionAdaptor;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class ValueBindingValueExpressionAdaptorTest extends
+ AbstractAjax4JsfTestCase {
+
+ public ValueBindingValueExpressionAdaptorTest(String name) {
+ super(name);
+ }
+
+ public static final class StateHolderTestValueExpression extends
+ MockValueExpression implements StateHolder {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 4288036600538778835L;
+
+ public StateHolderTestValueExpression() {
+ super(null);
+ }
+
+ public StateHolderTestValueExpression(Object value) {
+ super(value);
+ }
+
+ public boolean isTransient() {
+ return false;
+ }
+
+ public void restoreState(FacesContext context, Object state) {
+ setValue(context.getELContext(), state);
+ }
+
+ public Object saveState(FacesContext context) {
+ return getValue(context.getELContext());
+ }
+
+ public void setTransient(boolean newTransientValue) {
+ }
+
+ }
+
+ private ValueBindingValueExpressionAdaptor saveRestoreState(
+ ValueBindingValueExpressionAdaptor adaptor) {
+ ValueBindingValueExpressionAdaptor restoredAdaptor = new ValueBindingValueExpressionAdaptor();
+ restoredAdaptor.restoreState(facesContext, adaptor
+ .saveState(facesContext));
+ return restoredAdaptor;
+ }
+
+ private ValueBindingValueExpressionAdaptor serializeDeserialize(
+ ValueBindingValueExpressionAdaptor adaptor) throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ try {
+ oos.writeObject(adaptor);
+ } finally {
+ oos.close();
+ }
+
+ ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(
+ baos.toByteArray()));
+ try {
+ return (ValueBindingValueExpressionAdaptor) ois.readObject();
+ } finally {
+ ois.close();
+ }
+ }
+
+ public void testSaveRestoreState() throws Exception {
+ ValueBindingValueExpressionAdaptor adaptor1 = new ValueBindingValueExpressionAdaptor(
+ new MockValueExpression("testValue1"));
+
+ assertEquals("testValue1", saveRestoreState(adaptor1).getValue(
+ facesContext));
+
+ ValueBindingValueExpressionAdaptor adaptor2 = new ValueBindingValueExpressionAdaptor(
+ new StateHolderTestValueExpression("testValue2"));
+
+ assertEquals("testValue2", saveRestoreState(adaptor2).getValue(
+ facesContext));
+ }
+
+ public void testSerializeDeserialize() throws Exception {
+ ValueBindingValueExpressionAdaptor adaptor1 = new ValueBindingValueExpressionAdaptor(
+ new MockValueExpression("testValue1"));
+
+ assertEquals("testValue1", serializeDeserialize(adaptor1).getValue(
+ facesContext));
+
+ ValueBindingValueExpressionAdaptor adaptor2 = new ValueBindingValueExpressionAdaptor(
+ new StateHolderTestValueExpression("testValue2"));
+
+ assertEquals("testValue2", serializeDeserialize(adaptor2).getValue(
+ facesContext));
+ }
+}
14 years, 5 months