JBoss Rich Faces SVN: r16916 - in root/ui-sandbox/trunk/components/tables/ui/src/main: resources/META-INF/resources and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-05-07 05:56:57 -0400 (Fri, 07 May 2010)
New Revision: 16916
Modified:
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/datatable.js
Log:
add client-api for the sorting/filtering func
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-07 06:47:19 UTC (rev 16915)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableBaseRenderer.java 2010-05-07 09:56:57 UTC (rev 16916)
@@ -66,6 +66,7 @@
public void encodeColumnStart(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
writer.startElement(getCellElement(context, parentId), component);
+ getUtils().encodeId(context, component);
String cellClass = getCellClass(context, parentId);
encodeStyleClass(writer, context, component, HTML.STYLE_CLASS_ATTR, cellClass);
@@ -127,7 +128,7 @@
public void encodeFirstRowStart(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
writer.startElement(HTML.TR_ELEMENT, component);
- getUtils().encodeId(context, component);
+// getUtils().encodeId(context, component);
String styleClass = getFirstRowClass(context, parentId);
encodeStyleClass(writer, context, component, HTML.STYLE_CLASS_ATTR, styleClass);
}
@@ -138,7 +139,7 @@
public void encodeRowStart(ResponseWriter writer, FacesContext context, String parentId, UIComponent component) throws IOException {
writer.startElement(HTML.TR_ELEMENT, component);
- getUtils().encodeId(context, component);
+// getUtils().encodeId(context, component);
String styleClass = getRowClass(context, parentId);
encodeStyleClass(writer, context, component, HTML.STYLE_CLASS_ATTR, styleClass);
}
@@ -182,14 +183,14 @@
public void encodeStyleClass(ResponseWriter writer, FacesContext context, UIComponent component,
String styleClassAttribute, String styleClass) throws IOException {
- boolean isEmpty = isEmptyAttr(component, styleClassAttribute);
- if (isEmpty && !(styleClass != null && styleClass.trim().length() != 0)) {
- return;
- }
+ boolean isEmpty = isEmptyAttr(component, styleClassAttribute);
+ if (isEmpty && !(styleClass != null && styleClass.trim().length() != 0)) {
+ return;
+ }
- String componentStyleClass = isEmpty ? styleClass : styleClass + " "
- + component.getAttributes().get(styleClassAttribute);
- writer.writeAttribute(HTML.CLASS_ATTRIBUTE, componentStyleClass, null);
+ String componentStyleClass = isEmpty ? styleClass : styleClass + " "
+ + component.getAttributes().get(styleClassAttribute);
+ writer.writeAttribute(HTML.CLASS_ATTRIBUTE, componentStyleClass, null);
}
protected boolean isEmptyAttr(UIComponent component, String attribute) {
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-07 06:47:19 UTC (rev 16915)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java 2010-05-07 09:56:57 UTC (rev 16916)
@@ -24,9 +24,6 @@
public static final String CELL_CLASS = "cellClass";
- public static final String SORTING = "sorting";
-
-
@Override
protected void doDecode(FacesContext context, UIComponent component) {
decodeSortingFiltering(context, component);
@@ -114,23 +111,14 @@
}
public void encodeTableEnd(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException {
- writer.endElement(HTML.TABLE_ELEMENT);
encodeClientScript(writer, context, component);
- encodeSortHiddenInput(writer, context, component);
+ writer.endElement(HTML.TABLE_ELEMENT);
}
- public void encodeSortHiddenInput(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException {
- writer.startElement(HTML.INPUT_ELEM, component);
- String clientId = component.getClientId() + ":sort";
- writer.writeAttribute(HTML.ID_ATTRIBUTE, clientId , null);
- writer.writeAttribute(HTML.TYPE_ATTR, "hidden", null);
- writer.writeAttribute(HTML.NAME_ATTRIBUTE, clientId, null);
- writer.writeAttribute(HTML.VALUE_ATTRIBUTE, null, null);
- writer.endElement(HTML.INPUT_ELEM);
- }
public abstract void encodeClientScript(ResponseWriter writer, FacesContext context, UIDataTableBase component) throws IOException;
-
+
+
public void encodeTableBodyStart(ResponseWriter writer, FacesContext context, UIDataTableBase dataTable)
throws IOException {
writer.startElement(HTML.TBOBY_ELEMENT, dataTable);
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-07 06:47:19 UTC (rev 16915)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/java/org/richfaces/renderkit/DataTableRowsRenderer.java 2010-05-07 09:56:57 UTC (rev 16916)
@@ -19,9 +19,9 @@
public abstract class DataTableRowsRenderer extends AbstractRowsRenderer {
- private static final String FILTERING_STRING = "rich:filterString";
+ private static final String FILTERING_STRING = "rich:filtering";
- private static final String SORTING_STRING = "rich:sortString";
+ private static final String SORTING_STRING = "rich:sorting";
private static final String SEPARATOR = ":";
Modified: root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/datatable.js
===================================================================
--- root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/datatable.js 2010-05-07 06:47:19 UTC (rev 16915)
+++ root/ui-sandbox/trunk/components/tables/ui/src/main/resources/META-INF/resources/datatable.js 2010-05-07 09:56:57 UTC (rev 16916)
@@ -5,18 +5,50 @@
richfaces.ui.DataTable = function(id, options) {
this.id = id;
this.options = options;
-
- $super.constructor.call(this,id);
+ $super.constructor.call(this,id);
$p.attachToDom.call(this, id);
};
var $super = richfaces.BaseComponent.extend(richfaces.BaseComponent, richfaces.ui.DataTable);
var $p = richfaces.BaseComponent.extend(richfaces.BaseComponent,richfaces.ui.DataTable, {});
var $super = richfaces.ui.DataTable.$super;
-
- $.extend(richfaces.ui.DataTable.prototype, ( function () {
- return {
+
+ $.extend(richfaces.ui.DataTable, {
+ SORTING: "rich:sorting",
+ FILTERING: "rich:filtering"
+ });
+
+ $.extend(richfaces.ui.DataTable.prototype, ( function () {
+ var invoke = function(event, attributes) {
+ richfaces.ajax(this.id, event, {"parameters" : attributes});
+ };
+
+ var createParameters = function(type, id, arg1, arg2) {
+ var parameters = {};
+ var key = this.id + type;
+ parameters[key] = ((id || "") + ":" + (arg1 || "") + ":" + (arg2 || true));
+
+ var eventOptions = this.options.ajaxEventOption;
+ for (key in eventOptions) {
+ if(!parameters[key]) {
+ parameters[key] = eventOptions[key];
+ }
+ }
+ return parameters;
+ };
+
+ return {
+
+ name : "RichFaces.ui.DataTable",
+
+ sort: function(columnId, direction, isClear) {
+ invoke.call(this,null,createParameters.call(this,richfaces.ui.DataTable.SORTING, columnId, direction, isClear));
+ },
+
+ filter: function(columnId, filterValue, isClear) {
+ invoke.call(this,createParameters.call(this,richfaces.ui.DataTable.FILTERING, columnId, filterValue, isClear));
+ }
}
})());
14 years, 8 months
JBoss Rich Faces SVN: r16915 - in root/docs/trunk: Migration_Guide/en-US and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: SeanRogers
Date: 2010-05-07 02:47:19 -0400 (Fri, 07 May 2010)
New Revision: 16915
Modified:
root/docs/trunk/Component_Reference/en-US/Book_Info.xml
root/docs/trunk/Component_Reference/en-US/Component_Reference.xml
root/docs/trunk/Component_Reference/en-US/Preface.xml
root/docs/trunk/Component_Reference/en-US/Revision_History.xml
root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.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-Tables_and_grids.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/Introduction.xml
root/docs/trunk/Migration_Guide/en-US/Migration_Guide.xml
root/docs/trunk/Migration_Guide/en-US/Revision_History.xml
root/docs/trunk/Migration_Guide/en-US/Upgrading.xml
Log:
Revised Migration Guide
Modified: root/docs/trunk/Component_Reference/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/Book_Info.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/Book_Info.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -28,7 +28,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <!-- FOR PUBLICAN --><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR JDOCBOOK: --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!-- FOR PUBLICAN --><xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR JDOCBOOK: --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</xi:fallback>
</xi:include>
<xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: root/docs/trunk/Component_Reference/en-US/Component_Reference.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/Component_Reference.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/Component_Reference.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -3,9 +3,9 @@
]>
<book status="draft">
<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!--
+ <!--
<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
- --><xi:include href="chap-Component_Reference-Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ --><xi:include href="chap-Component_Reference-Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Common_Ajax_attributes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Common_features.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<part id="part-Component_Reference-a4j_tag_library">
@@ -18,16 +18,20 @@
</part>
<part id="part-Component_Reference-rich_tag_library">
<title>rich tag library</title>
+ <!--
<xi:include href="chap-Component_Reference-Rich_inputs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Panels_and_containers.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Tables_and_grids.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Trees.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Menus_and_toolbars.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="chap-Component_Reference-Output_and_messages.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ --><xi:include href="chap-Component_Reference-Output_and_messages.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--
<xi:include href="chap-Component_Reference-Drag_and_drop.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="chap-Component_Reference-Layout_and_appearance.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="chap-Component_Reference-Functions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ --><xi:include href="chap-Component_Reference-Functions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--
<xi:include href="chap-Component_Reference-Functionality_extension.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ -->
</part>
<xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</book>
Modified: root/docs/trunk/Component_Reference/en-US/Preface.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/Preface.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/Preface.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -3,10 +3,10 @@
]>
<preface id="pref-Component_Reference-Preface">
<title>Preface</title>
- <!-- FOR JDOCBOOK --><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR PUBLICAN --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!-- FOR JDOCBOOK --><xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR PUBLICAN --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</xi:fallback>
</xi:include>
- <!-- PUBLICAN'S ORIGINAL XINCLUDES --><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR JDOCBOOK --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!-- PUBLICAN'S ORIGINAL XINCLUDES --><xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="Common_Content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude"><!-- FOR JDOCBOOK --><xi:fallback xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include href="fallback_content/Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</xi:fallback>
</xi:include>
</xi:fallback>
Modified: root/docs/trunk/Component_Reference/en-US/Revision_History.xml
===================================================================
--- root/docs/trunk/Component_Reference/en-US/Revision_History.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/Revision_History.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -6,7 +6,7 @@
<simpara>
<revhistory>
<revision>
- <revnumber>1.0</revnumber>
+ <revnumber>0.1</revnumber>
<date>Fri Nov 20 2009</date>
<author>
<firstname>Sean</firstname>
@@ -15,10 +15,32 @@
</author>
<revdescription>
<simplelist>
- <member>First draft</member>
+ <member>Outline</member>
</simplelist>
</revdescription>
</revision>
+ <revision>
+ <revnumber>0.2</revnumber>
+ <date>Thu May 06 2010</date>
+ <author>
+ <firstname>Sean</firstname>
+ <surname>Rogers</surname>
+ <email>serogers(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>First draft of <xref linkend="chap-Component_Reference-Introduction" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Common_Ajax_attributes" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Common_features" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Actions" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Resources" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Containers" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Validation" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Processing_management" /></member>
+ <member>First draft of <xref linkend="chap-Component_Reference-Functions" /></member>
+ </simplelist>
+ </revdescription>
+ </revision>
</revhistory>
</simpara>
</appendix>
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 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Actions.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -320,6 +320,13 @@
</variablelist>
</section>
+ <section id="sect-Component_Reference-Actions-a4jhashParam">
+ <title><sgmltag><a4j:hashParam></sgmltag></title>
+ <para>
+ Incomplete
+ </para>
+ </section>
+
<section id="sect-Component_Reference-Actions-a4jhtmlCommandLink">
<title><sgmltag><a4j:htmlCommandLink></sgmltag></title>
<itemizedlist>
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 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Output_and_messages.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -214,6 +214,8 @@
</example>
</section>
+ <!--
+
<section id="sect-Component_Reference-Output_and_messages-richpaint2D">
<title><sgmltag><rich:paint2D></sgmltag></title>
<para>
@@ -234,6 +236,7 @@
Incomplete
</para>
</section>
-
+
+ -->
</chapter>
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 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Component_Reference/en-US/chap-Component_Reference-Tables_and_grids.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -438,7 +438,7 @@
<programlisting language="XML" role="XML"><xi:include href="extras/exam-Component_Reference-Tables_and_grids-richdataFilterSlider_example.xml_sample" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" />
</programlisting>
<blockquote>
- <figure id="figu-Component_Reference-richdataFilterSlider-richdataFilterSlider_example">
+ <figure id="figu-Component_Reference-richdataFilterSlider_example-richdataFilterSlider_example">
<title><sgmltag><rich:dataFilterSlider></sgmltag> example</title>
<mediaobject>
<imageobject>
Modified: root/docs/trunk/Migration_Guide/en-US/Book_Info.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Book_Info.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Book_Info.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -13,11 +13,8 @@
<pubsnumber>1</pubsnumber>
<abstract>
<para>
-This book details how to take an existing RichFaces project and
-upgrade it for use with RichFaces &VERSION;. It covers changes in
-component usage and behaviors, as well as new framework features
-which may affect existing RichFaces projects.
-</para>
+ Read this book to take an existing <productname>RichFaces</productname> project and upgrade it for use with <productname>RichFaces</productname> &VERSION;. The book covers changes in component usage and behaviors, as well as new framework features which may affect existing <productname>RichFaces</productname> projects.
+ </para>
</abstract>
<corpauthor>
<inlinemediaobject>
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 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Changes_and_new_features.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -11,7 +11,7 @@
<section id="sect-Migration_Guide-Changes_and_new_features-JSF_2_integration">
<title>JSF 2 integration</title>
<para>
- RichFaces &VERSION; has full support for JavaServer Faces (<acronym>JSF</acronym>) 2.
+ RichFaces &VERSION; has full support for JavaServer Faces (<acronym>JSF</acronym>) 2. Due to limited support for JavaServer Pages (JSP) in JSF2, RichFaces no longer fully supports JSP either.
</para>
</section>
@@ -22,1007 +22,717 @@
</para>
<section id="sect-Migration_Guide-Standardized_attributes-Name_changes">
<title>Name changes</title>
- <para>
- <xref linkend="tabl-Migration_Guide-Name_changes-Attribute_name_changes" /> lists attribute names that have been changed, and which components and events are affected.
- </para>
- <table id="tabl-Migration_Guide-Name_changes-Attribute_name_changes">
- <title>Attribute name changes</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- Attribute details
- </entry>
- <entry>
- Affected <classname>a4j</classname> components
- </entry>
- <entry>
- Affected <classname>rich</classname> components
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <varname>process</varname>
- </para>
- <para>
- Changed to <varname>execute</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toggleControl></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:treeNode></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>reRender</varname>
- </para>
- <para>
- Changed to <varname>render</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:ajaxValidator></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dragSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:extendedDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:scrollableDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:treeNode></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>eventsQueue</varname>
- </para>
- <para>
- Changed to <varname>queue</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:ajaxValidator></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dragSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:scrollableDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toggleControl></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>limitToList</varname>
- </para>
- <para>
- Changed to <varname>limitRender</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:ajaxValidator></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dragSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:scrollableDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toggleControl></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:treeNode></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>onbeforedomupdate</varname>
- </para>
- <para>
- Changed to <varname>onsuccess</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <para>
- All components
- </para>
- </entry>
- <entry>
- <para>
- All components
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <variablelist>
+ <varlistentry>
+ <term><varname>process</varname></term>
+ <listitem>
+ <para>
+ Changed to <varname>execute</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toggleControl></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:treeNode></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>reRender</varname></term>
+ <listitem>
+ <para>
+ Changed to <varname>render</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:ajaxValidator></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dragSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:extendedDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:treeNode></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>eventsQueue</varname></term>
+ <listitem>
+ <para>
+ Changed to <varname>queue</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:ajaxValidator></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dragSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toggleControl></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>limitToList</varname></term>
+ <listitem>
+ <para>
+ Changed to <varname>limitRender</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:ajaxValidator></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dragSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toggleControl></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:treeNode></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>onbeforedomupdate</varname></term>
+ <listitem>
+ <para>
+ Changed to <varname>onsuccess</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <para>
+ All components.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <para>
+ All components.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <!--
+ <varlistentry>
+ <term></term>
+ <listitem>
+ <para>
+
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ -->
+ </variablelist>
</section>
<section id="sect-Migration_Guide-Standardized_attributes-Deprecated_attributes">
<title>Deprecated attributes</title>
- <para>
- <xref linkend="tabl-Migration_Guide-Deprecated_attributes-Deprecated_attributes" /> lists attributes which have been deprecated in RichFaces &VERSION;, along with preferred ways to replicate their functionality.
- </para>
- <table id="tabl-Migration_Guide-Deprecated_attributes-Deprecated_attributes">
- <title>Deprecated attributes</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- Attribute details
- </entry>
- <entry>
- Affected a4j components
- </entry>
- <entry>
- Affected rich components
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- <varname>ignoreDupResponses</varname>
- </para>
- <para>
- Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:queue></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:ajaxValidator></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dragSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:scrollableDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toggleControl></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:treeNode></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>requestDelay</varname>
- </para>
- <para>
- Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:queue></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:ajaxValidator></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dragSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:scrollableDataTable></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- <varname>ajaxSingle</varname>
- </para>
- <para>
- Deprecated. Use <code>execute="@this"</code> in &VERSION; instead.
- </para>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><a4j:ajax></sgmltag> (was <sgmltag><a4j:support></sgmltag>)
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandButton></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:commandLink></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:form></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:jsFunction></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:poll></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><a4j:push></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- <entry>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag><rich:calendar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataFilterSlider></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dataScroller></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:dropSupport></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:fileUpload></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:menuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuGroup></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:panelMenuItem></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:progressBar></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:simpleTogglePanel></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:suggestionBox></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tab></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toggleControl></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:toolTip></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:tree></sgmltag>
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag><rich:treeNode></sgmltag>
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <variablelist>
+ <varlistentry>
+ <term><varname>ignoreDupResponses</varname></term>
+ <listitem>
+ <para>
+ Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:queue></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:ajaxValidator></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dragSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toggleControl></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:treeNode></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>requestDelay</varname></term>
+ <listitem>
+ <para>
+ Deprecated. Functionality moved to <varname>queue</varname> in &VERSION;.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:queue></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:ajaxValidator></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dragSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:scrollableDataTable></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>ajaxSingle</varname></term>
+ <listitem>
+ <para>
+ Deprecated. Use <code>execute="@this"</code> in &VERSION; instead.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Affected <classname>a4j</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><a4j:support></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandButton></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:commandLink></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:form></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:jsFunction></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:poll></sgmltag>
+ </member>
+ <member>
+ <sgmltag><a4j:push></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Affected <classname>rich</classname> components</term>
+ <listitem>
+ <simplelist type="vert" columns="3">
+ <member>
+ <sgmltag><rich:calendar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataFilterSlider></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dataScroller></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:dropSupport></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:fileUpload></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:menuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuGroup></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:panelMenuItem></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:progressBar></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:simpleTogglePanel></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:suggestionBox></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tab></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toggleControl></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:toolTip></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:tree></sgmltag>
+ </member>
+ <member>
+ <sgmltag><rich:treeNode></sgmltag>
+ </member>
+ </simplelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</section>
</section>
@@ -1030,7 +740,7 @@
<section id="sect-Migration_Guide-Changes_and_new_features-Performance">
<title>Performance</title>
<para>
- The RichFaces framework has been extensively refined to provide better performance for applications. This includes improvements to bandwidth requirements for generated markup, size and number of required resources for Javascript and Cascading Style Sheets (<acronym>CSS</acronym>), and other general performance improvements.
+ The <productname>RichFaces</productname> framework has been extensively refined to provide better performance for applications. This includes improvements to bandwidth requirements for generated markup, size and number of required resources for Javascript and Cascading Style Sheets (<acronym>CSS</acronym>), and other general performance improvements.
</para>
<section id="sect-Migration_Guide-Performance-Bandwidth_for_generated_markup">
<title>Bandwidth for generated markup</title>
@@ -1053,18 +763,13 @@
Javascript use has been simplified with shorter function names and only one proxy call per form.
</para>
</listitem>
- <listitem>
- <para>
- Yahoo!'s best practices for high performance have been implemented. Refer to <ulink url="http://developer.yahoo.com/performance/">http://developer.yahoo.com/performance/</ulink> for details on Yahoo!'s guidelines.
- </para>
- </listitem>
</itemizedlist>
</section>
<section id="sect-Migration_Guide-Performance-Resource_requirements">
<title>Resource requirements</title>
<para>
- The three Javascript libraries previously used by the RichFaces framework have been consolidated and standardized into a single library for better performance.
+ The three Javascript libraries previously used by the <productname>RichFaces</productname> framework have been consolidated and standardized into a single library for better performance.
</para>
<para>
Usage of Cascading Style Sheets (<acronym>CSS</acronym>) has been simplified, trimming out duplicate or otherwise unnecessary entries and better utilizing the cascading approach for style values.
@@ -1076,7 +781,7 @@
<section id="sect-Migration_Guide-Changes_and_new_features-Feature_changes">
<title>Feature changes</title>
<para>
- Features have been altered or added to existing components and behaviors in the RichFaces &VERSION; framework. Refer to the <citetitle>Developer Guide</citetitle> for full details on how to make use of any new features.
+ Features have been altered or added to existing components and behaviors in the <productname>RichFaces</productname> &VERSION; framework. Refer to the <citetitle>Developer Guide</citetitle> for full details on how to make use of any new features.
</para>
<section id="sect-Migration_Guide-Feature_changes-Server_side_process_and_render_mechanisms">
<title>Server-side process and render mechanisms</title>
@@ -1097,14 +802,14 @@
</section>
<section id="sect-Migration_Guide-Server_side_process_and_render_mechanisms-execute">
- <title>execute</title>
+ <title><varname>execute</varname></title>
<para>
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>
+ <title><varname>render</varname></title>
<para>
The <varname>render</varname> property can also be defined from the server side, using actions and listeners.
</para>
@@ -1113,31 +818,23 @@
</section>
<section id="sect-Migration_Guide-Feature_changes-onbegin_event_attribute">
- <title>onbegin event attribute</title>
+ <title><varname>onbegin</varname> event attribute</title>
<para>
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>
+ <title><sgmltag><a4j:commandButton></sgmltag> and <sgmltag><a4j:commandLink></sgmltag></title>
<para>
- 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.
+ Both the <sgmltag><a4j:commandButton></sgmltag> and <sgmltag><a4j:commandLink></sgmltag> components use the <varname>onclick</varname> event attribute instead of the <varname>onbegin</varname> attribute.
</para>
</section>
- <!--
- <section>
- <title><a4j:jsFunction></title>
- <para>
-
- </para>
- </section>
- -->
<section id="sect-Migration_Guide-Feature_changes-a4jlog">
<title><a4j:log></title>
<para>
- The <sgmltag><a4j:log></sgmltag> behavior has had several features modified.
+ The <sgmltag><a4j:log></sgmltag> component has had several features modified.
</para>
<itemizedlist>
<listitem>
@@ -1159,14 +856,14 @@
</section>
<section id="sect-Migration_Guide-Feature_changes-a4jmessage_and_a4jmessages">
- <title><a4j:message> and <a4j:messages></title>
+ <title><sgmltag><a4j:message></sgmltag> and <sgmltag><a4j:messages></sgmltag></title>
<para>
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>
+ <title><sgmltag><a4j:outputPanel></sgmltag></title>
<para>
The <sgmltag><a4j:outputPanel></sgmltag> component has had several features modified.
</para>
@@ -1190,41 +887,35 @@
</section>
<section id="sect-Migration_Guide-Feature_changes-a4jpush_and_a4jpoll">
- <title><a4j:push> and <a4j:poll></title>
+ <title><sgmltag><a4J:push></sgmltag> and <sgmltag><a4j:poll></sgmltag></title>
<para>
- 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>.
+ Both the <sgmltag><a4j:push></sgmltag> and <sgmltag><a4j:poll></sgmltag> components 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>
- <!--
- <section>
- <title><a4j:region></title>
- <para>
-
- </para>
- </section>
- -->
<section id="sect-Migration_Guide-Feature_changes-a4jstatus">
<title><a4j:status></title>
<para>
- 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.
+ The <sgmltag><a4j:status></sgmltag> component has had several features modified.
</para>
- <para>
- The <sgmltag><a4j:status></sgmltag> component has had several other features modified.
- </para>
<itemizedlist>
<listitem>
<para>
- <sgmltag><a4j:status></sgmltag> no longer needs to be associated with a <sgmltag><a4j:region></sgmltag>.
+ The <sgmltag><a4j:status></sgmltag> component now has a representation in the Document Object Model (<acronym>DOM</acronym>) tree.
</para>
</listitem>
<listitem>
<para>
- <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.
+ The <sgmltag><a4j:status></sgmltag> component no longer needs to be associated with a <sgmltag><a4j:region></sgmltag>.
</para>
</listitem>
<listitem>
<para>
+ The <sgmltag><a4j:status></sgmltag> component 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 <varname>onstart</varname>, <varname>onstop</varname>, <varname>onerror</varname>, and <varname>onsuccess</varname>.
</para>
</listitem>
@@ -1235,7 +926,7 @@
</listitem>
</itemizedlist>
</section>
-
+ <!--
<section id="sect-Migration_Guide-Feature_changes-richtogglePanel">
<title><rich:togglePanel></title>
<para>
@@ -1263,67 +954,52 @@
Incomplete.
</para>
</section>
-
+ -->
</section>
<section id="sect-Migration_Guide-Changes_and_new_features-New_components_and_behaviors">
<title>New components and behaviors</title>
<para>
- Several new components and behaviors have been added to RichFaces &VERSION;, some of which replace the functionality of deprecated elements. For full details on how to use these new components and behaviors, refer to the <citetitle>Developer Guide</citetitle>.
+ Several new components and behaviors have been added to <productname>RichFaces</productname> &VERSION;, some of which replace the functionality of deprecated elements. For full details on how to use these new components and behaviors, refer to the <citetitle>Developer Guide</citetitle>.
</para>
<!-- dataTable, dataLists, trees possibly included here as they may be consolidated -->
- <section id="sect-Migration_Guide-New_components_and_behaviors-a4jajax">
- <title><a4j:ajax></title>
- <para>
- The <sgmltag><a4j:ajax></sgmltag> behavior replaces the deprecated <sgmltag><a4j:support></sgmltag> behavior.
- </para>
- <para>
- <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>
+ <title><sgmltag><rich:busyBehavior></sgmltag></title>
<para>
- <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.
+ The <sgmltag><rich:busyBehavior></sgmltag> component 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>
+ <!--
<section id="sect-Migration_Guide-New_components_and_behaviors-richpopupPanel">
- <title><rich:popupPanel></title>
+ <title><sgmltag><rich:popupPanel></sgmltag></title>
<para>
Incomplete.
</para>
</section>
-
+ -->
</section>
<section id="sect-Migration_Guide-Changes_and_new_features-Deprecated_components_and_behaviors">
<title>Deprecated components and behaviors</title>
<para>
- Some components and behaviors have been deprecated in RichFaces &VERSION;. For the most part these items have their functionality replicated by another component or behavior.
+ Some components and behaviors have been deprecated in <productname>RichFaces</productname> &VERSION;. For the most part these items have their functionality replicated by another component or behavior.
</para>
<section id="sect-Migration_Guide-Deprecated_components_and_behaviors-a4jpage">
- <title><a4j:page></title>
+ <title><sgmltag><a4j:page></sgmltag></title>
<para>
- 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.
+ <productname>RichFaces</productname> &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 <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>
-
+ <!--
<section id="sect-Migration_Guide-Deprecated_components_and_behaviors-richmodalPanel">
- <title><rich:modalPanel></title>
+ <title><sgmltag><rich:modalPanel></sgmltag></title>
<para>
Incomplete.
</para>
</section>
-
+ -->
</section>
</chapter>
Modified: root/docs/trunk/Migration_Guide/en-US/Introduction.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Introduction.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Introduction.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -6,12 +6,12 @@
<chapter id="chap-Migration_Guide-Introduction">
<title>Introduction</title>
<para>
- RichFaces &VERSION; introduces many improvements and refinements to the already comprehensive RichFaces framework. Migrating your RichFaces projects to version &VERSION; brings several advantages to your applications, including:
+ <productname>RichFaces</productname> &VERSION; introduces many improvements and refinements to the <productname>RichFaces</productname> framework. Migrating your <productname>RichFaces</productname> projects to version &VERSION; brings several advantages to your applications, including:
</para>
<itemizedlist>
<listitem>
<para>
- complete integration with JavaServer Faces (<acronym>JSF</acronym>) 2.0, using new features and standardizing components;
+ complete integration with <productname>JavaServer Faces</productname> (<acronym>JSF</acronym>) 2.0, using new features and standardizing components;
</para>
</listitem>
<listitem>
@@ -31,7 +31,7 @@
</listitem>
</itemizedlist>
<para>
- This book guides you through the process of migrating to RichFaces &VERSION;, and highlights important changes that have been made to the framework and how they may affect your projects and applications.
+ This book guides you through the process of migrating an existing project to <productname>RichFaces</productname> &VERSION;, and highlights important changes that have been made to the framework and how they may affect your projects and applications.
</para>
</chapter>
Modified: root/docs/trunk/Migration_Guide/en-US/Migration_Guide.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Migration_Guide.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Migration_Guide.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -5,7 +5,7 @@
]>
<book status="draft">
<xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--<xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<xi:include href="Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Upgrading.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Changes_and_new_features.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: root/docs/trunk/Migration_Guide/en-US/Revision_History.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Revision_History.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Revision_History.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -21,6 +21,20 @@
</simplelist>
</revdescription>
</revision>
+ <revision>
+ <revnumber>0.2</revnumber>
+ <date>Fri May 07 2010</date>
+ <author>
+ <firstname>Sean</firstname>
+ <surname>Rogers</surname>
+ <email>serogers(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Revised draft</member>
+ </simplelist>
+ </revdescription>
+ </revision>
</revhistory>
</simpara>
</appendix>
Modified: root/docs/trunk/Migration_Guide/en-US/Upgrading.xml
===================================================================
--- root/docs/trunk/Migration_Guide/en-US/Upgrading.xml 2010-05-07 00:10:05 UTC (rev 16914)
+++ root/docs/trunk/Migration_Guide/en-US/Upgrading.xml 2010-05-07 06:47:19 UTC (rev 16915)
@@ -6,15 +6,15 @@
<chapter id="chap-Migration_Guide-Upgrading">
<title>Upgrading</title>
<para>
- Upgrading an existing project to use the RichFaces &VERSION; framework only requires that the new libraries replace the old ones. For a complete installation guide for new projects, refer to the <citetitle>Developer Guide</citetitle>.
+ Upgrading an existing project to use the <productname>RichFaces</productname> &VERSION; framework only requires that the new libraries replace the old ones. For a complete installation guide for new projects, refer to the <citetitle>Developer Guide</citetitle>.
</para>
<section id="sect-Migration_Guide-Upgrading-Before_upgrading">
<title>Before upgrading</title>
<para>
- Ensure you make a back-up copy of any projects and settings before upgrading an existing RichFaces installation.
+ Ensure you make a back-up copy of any projects and settings before upgrading an existing <productname>RichFaces</productname> installation.
</para>
<para>
- Check that the environment you are working in meets the RichFaces technical requirements listed in the <citetitle>Developer Guide</citetitle>.
+ Check that the environment you are working in meets the <productname>RichFaces</productname> technical requirements listed in the <citetitle>Developer Guide</citetitle>.
</para>
</section>
@@ -22,15 +22,15 @@
<title>Installation</title>
<procedure>
<step id="step-Migration_Guide-Installation-Download_RichFaces_packages">
- <title>Download RichFaces packages</title>
+ <title>Download <productname>RichFaces</productname> packages</title>
<para>
- If you have not already done so, download the RichFaces binaries from the RichFaces downloads page at <ulink url="http://www.jboss.org/richfaces/download.html">http://www.jboss.org/richfaces/download.html</ulink>.
+ If you have not already done so, download the <productname>RichFaces</productname> binaries from the <productname>RichFaces</productname> downloads page at <ulink url="http://www.jboss.org/richfaces/download.html">http://www.jboss.org/richfaces/download.html</ulink>.
</para>
</step>
<step id="step-Migration_Guide-Installation-Install_libraries">
<title>Install libraries</title>
<para>
- Copy the following libraries from the RichFaces package to your application's <filename class="directory">WEB-INF/lib</filename> libraries directory:
+ Copy the following libraries from the <productname>RichFaces</productname> package to your application's <filename class="directory">WEB-INF/lib</filename> libraries directory:
</para>
<itemizedlist>
<listitem>
@@ -78,7 +78,7 @@
<step id="step-Migration_Guide-Installation-Set_up_Maven">
<title>Set up Maven</title>
<para>
- For existing projects, you should already have a Maven installation set up for RichFaces. If not, refer to the <citetitle>Developer Guide</citetitle> for how to set up Maven.
+ For existing projects, you should already have a <productname>Maven</productname> installation set up for <productname>RichFaces</productname>. If not, refer to the <citetitle>Developer Guide</citetitle> for how to set up <productname>Maven</productname>.
</para>
</step>
<step id="step-Migration_Guide-Installation-Namespace_and_taglib_declaration">
@@ -90,21 +90,9 @@
The RichFaces namespaces need to be declared in the project's XHTML pages.
</para>
-<programlisting role="XML">
-<ui:composition
-xmlns:a4j="http://richfaces.org/a4j"
-xmlns:rich="http://richfaces.org/rich">
- ...
-</ui:composition>
-</programlisting>
- <para>
- Also add the RichFaces libraries to the JSP pages using <sgmltag>taglib</sgmltag>.
- </para>
-
-<programlisting role="XML">
-<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
-<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
-</programlisting>
+<programlisting role="XML"><ui:composition xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich">
+ ...
+</ui:composition></programlisting>
<note>
<title>Note</title>
<para>
14 years, 8 months
JBoss Rich Faces SVN: r16914 - in root/cdk/trunk: plugins/attributes/src/main/resources/META-INF/cdk/attributes and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-05-06 20:10:05 -0400 (Thu, 06 May 2010)
New Revision: 16914
Modified:
root/cdk/trunk/bom/pom.xml
root/cdk/trunk/plugins/attributes/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml
Log:
add JavaParser dependency
Modified: root/cdk/trunk/bom/pom.xml
===================================================================
--- root/cdk/trunk/bom/pom.xml 2010-05-07 00:08:54 UTC (rev 16913)
+++ root/cdk/trunk/bom/pom.xml 2010-05-07 00:10:05 UTC (rev 16914)
@@ -23,36 +23,36 @@
<developerConnection>scm:svn:https://svn.jboss.org/repos/richfaces/root/cdk/trunk/bom</developerConnection>
<url>http://fisheye.jboss.org/browse/Richfaces/cdk/trunk/bom</url>
</scm>
- <distributionManagement>
- <downloadUrl>
+ <distributionManagement>
+ <downloadUrl>
http://labs.jboss.com/portal/jbossrichfaces/downloads
</downloadUrl>
- <repository>
- <id>jboss-releases-repository</id>
- <uniqueVersion>false</uniqueVersion>
- <url>${releaseRepository}</url>
- </repository>
- <snapshotRepository>
- <id>jboss-snapshots-repository</id>
- <uniqueVersion>true</uniqueVersion>
- <url>${snapshotRepository}</url>
- </snapshotRepository>
- <!--site>
- <url>file:target/site2</url>
- </site-->
- </distributionManagement>
+ <repository>
+ <id>jboss-releases-repository</id>
+ <uniqueVersion>false</uniqueVersion>
+ <url>${releaseRepository}</url>
+ </repository>
+ <snapshotRepository>
+ <id>jboss-snapshots-repository</id>
+ <uniqueVersion>true</uniqueVersion>
+ <url>${snapshotRepository}</url>
+ </snapshotRepository>
+ <!--
+ site> <url>file:target/site2</url> </site
+ -->
+ </distributionManagement>
<build>
- <!-- Define CDK plugin that is used by JSF component projects -->
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.richfaces.cdk</groupId>
- <artifactId>maven-cdk-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- </plugin>
- </plugins>
- </pluginManagement>
+ <!-- Define CDK plugin that is used by JSF component projects -->
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>maven-cdk-plugin</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
</build>
<dependencyManagement>
<dependencies>
@@ -174,7 +174,7 @@
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.5.2</version>
- <scope>test</scope>
+ <scope>test</scope>
</dependency>
<!-- Maven -->
<dependency>
@@ -222,21 +222,27 @@
<artifactId>plexus-velocity</artifactId>
<version>1.1.2</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.javaparser</groupId>
+ <artifactId>javaparser</artifactId>
+ <version>1.0.1</version>
+ <scope>test</scope>
+ </dependency>
<!-- Projects -->
- <dependency>
- <groupId>org.richfaces.cdk</groupId>
- <artifactId>commons</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.richfaces.cdk</groupId>
- <artifactId>commons</artifactId>
- <classifier>tests</classifier>
- <scope>test</scope>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.richfaces.cdk</groupId>
+ <artifactId>commons</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
+ <artifactId>commons</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
<artifactId>attributes</artifactId>
<version>${project.version}</version>
</dependency>
Modified: root/cdk/trunk/plugins/attributes/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml
===================================================================
--- root/cdk/trunk/plugins/attributes/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml 2010-05-07 00:08:54 UTC (rev 16913)
+++ root/cdk/trunk/plugins/attributes/src/main/resources/META-INF/cdk/attributes/javax.faces.component.ValueHolder.xml 2010-05-07 00:10:05 UTC (rev 16914)
@@ -44,8 +44,10 @@
<property-name>localValue</property-name>
<property-class>java.lang.Object</property-class>
<property-extension>
+ <cdk:literal>true</cdk:literal>
<cdk:read-only>true</cdk:read-only>
<cdk:hidden>true</cdk:hidden>
+ <cdk:aliasFor>value</cdk:aliasFor>
</property-extension>
</property>
14 years, 8 months
JBoss Rich Faces SVN: r16913 - in root/cdk/trunk/plugins: generator and 9 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-05-06 20:08:54 -0400 (Thu, 06 May 2010)
New Revision: 16913
Modified:
root/cdk/trunk/plugins/commons/pom.xml
root/cdk/trunk/plugins/generator/pom.xml
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/DescriptionGroupBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyBase.java
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute-accessor.ftl
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute_accessors.ftl
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/AbstractClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/BehaviorClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ConverterClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ValidatorClassGeneratorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FragmentParserTest.java
root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/xmlconfig/properties.xml
Log:
CODING IN PROGRESS - issue RF-7736: Library model verifier.
https://jira.jboss.org/jira/browse/RF-7736
Modified: root/cdk/trunk/plugins/commons/pom.xml
===================================================================
--- root/cdk/trunk/plugins/commons/pom.xml 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/commons/pom.xml 2010-05-07 00:08:54 UTC (rev 16913)
@@ -40,5 +40,12 @@
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.code.javaparser</groupId>
+ <artifactId>javaparser</artifactId>
+ <version>1.0.1</version>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
</project>
Modified: root/cdk/trunk/plugins/generator/pom.xml
===================================================================
--- root/cdk/trunk/plugins/generator/pom.xml 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/pom.xml 2010-05-07 00:08:54 UTC (rev 16913)
@@ -83,12 +83,12 @@
</resource>
</resources>
</build>
- <dependencies><!--
+ <dependencies>
+ <!--
+ <dependency> <groupId>org.apache.camel</groupId>
+ <artifactId>camel-guice</artifactId> </dependency>
+ -->
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-guice</artifactId>
- </dependency>
- --><dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
@@ -105,14 +105,14 @@
<groupId>org.richfaces.cdk</groupId>
<artifactId>commons</artifactId>
</dependency>
- <dependency>
- <groupId>org.richfaces.cdk</groupId>
- <artifactId>commons</artifactId>
- <classifier>tests</classifier>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.richfaces.cdk</groupId>
+ <artifactId>commons</artifactId>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.richfaces.cdk</groupId>
<artifactId>annotations</artifactId>
</dependency>
<dependency>
@@ -177,11 +177,18 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
+ <scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.javaparser</groupId>
+ <artifactId>javaparser</artifactId>
+ <scope>test</scope>
+ </dependency>
<!--
<dependency> <groupId>com.google.code.guice</groupId>
<artifactId>guice</artifactId> <version>1.0</version> </dependency>
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ComponentProcessor.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -23,7 +23,17 @@
package org.richfaces.cdk.apt.processors;
-import com.google.inject.Inject;
+import java.lang.annotation.Annotation;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import javax.lang.model.element.TypeElement;
+import javax.lang.model.type.MirroredTypeException;
+import javax.lang.model.type.MirroredTypesException;
+import javax.lang.model.type.TypeKind;
+import javax.lang.model.type.TypeMirror;
+
import org.richfaces.cdk.CdkException;
import org.richfaces.cdk.annotations.Event;
import org.richfaces.cdk.annotations.Facet;
@@ -38,19 +48,10 @@
import org.richfaces.cdk.model.ComponentModel;
import org.richfaces.cdk.model.FacesId;
import org.richfaces.cdk.model.FacetModel;
-import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.model.RendererModel;
import org.richfaces.cdk.util.Strings;
-import javax.lang.model.element.TypeElement;
-import javax.lang.model.type.MirroredTypeException;
-import javax.lang.model.type.MirroredTypesException;
-import javax.lang.model.type.TypeKind;
-import javax.lang.model.type.TypeMirror;
-import java.lang.annotation.Annotation;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
+import com.google.inject.Inject;
/**
* <p class="changed_added_4_0">
@@ -92,13 +93,6 @@
subcomponentModel.setTargetClass(ClassName.parseName(subcomponent.generate()));
subcomponentModel.setGenerate(!Strings.isEmpty(subcomponent.generate()));
setComponentProperties(null, subcomponentModel, subAnnotation);
- // Propagate attributes from parent element.
- for (PropertyBase property : component.getAttributes()) {
- PropertyBase subcomponentAttribute = subcomponentModel.getOrCreateAttribute(property.getName());
- subcomponentAttribute.merge(property);
- // parent component should be concrete. TODO - move to validator.
- subcomponentAttribute.setGenerate(false);
- }
library.getComponents().add(subcomponentModel);
}
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/DescriptionGroupBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/DescriptionGroupBase.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/DescriptionGroupBase.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -55,6 +55,7 @@
private ConfigExtension extension;
+ @Merge
public final String getDescription() {
return description;
}
@@ -63,6 +64,7 @@
this.description = description;
}
+ @Merge
public final String getDisplayname() {
return displayname;
}
@@ -71,6 +73,7 @@
this.displayname = displayname;
}
+ @Merge
public final Icon getIcon() {
return icon;
}
@@ -79,6 +82,7 @@
this.icon = icon;
}
+ @Merge
public boolean isGenerate() {
return generate;
}
@@ -92,6 +96,7 @@
*
* @return the extension
*/
+ @Merge
public final ConfigExtension getExtension() {
return extension;
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/PropertyBase.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -50,7 +50,7 @@
private Set<EventName> eventNames = Sets.newLinkedHashSet();
private List<ClassName> signature = Lists.newArrayList();
- private Set<String> aliases = Sets.newHashSet();
+
private String defaultValue;
private String suggestedValue;
@@ -61,6 +61,7 @@
private boolean binding;
+ private String aliasFor;
/**
* <p class="changed_added_4_0"></p>
*/
@@ -106,6 +107,23 @@
/**
* <p class="changed_added_4_0"></p>
+ * @return the aliasFor
+ */
+ @Merge
+ public String getAliasFor() {
+ return this.aliasFor;
+ }
+
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param aliasFor the aliasFor to set
+ */
+ public void setAliasFor(String aliasFor) {
+ this.aliasFor = aliasFor;
+ }
+
+ /**
+ * <p class="changed_added_4_0"></p>
*
* @return the defaultValue
*/
@@ -270,24 +288,6 @@
this.signature = signature;
}
- /**
- * <p class="changed_added_4_0"></p>
- *
- * @return the aliases
- */
- public Set<String> getAliases() {
- return aliases;
- }
-
- /**
- * <p class="changed_added_4_0"></p>
- *
- * @param aliases the aliases to set
- */
- public void setAliases(Set<String> aliases) {
- this.aliases = aliases;
- }
-
public boolean isPrimitive() {
return getType().isPrimitive();
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -25,6 +25,8 @@
package org.richfaces.cdk.model.validator;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
import com.google.inject.Inject;
import org.richfaces.cdk.CdkException;
import org.richfaces.cdk.Logger;
@@ -35,12 +37,14 @@
import org.richfaces.cdk.model.ComponentModel;
import org.richfaces.cdk.model.DescriptionGroup;
import org.richfaces.cdk.model.FacetModel;
+import org.richfaces.cdk.model.InvalidNameException;
import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.model.RenderKitModel;
import org.richfaces.cdk.model.RendererModel;
import org.richfaces.cdk.util.Strings;
import java.util.Collection;
+import java.util.NoSuchElementException;
/**
* <p class="changed_added_4_0"></p>
@@ -97,12 +101,56 @@
}
protected void verifyComponents(ComponentLibrary library) throws CdkException {
-
+ // Verify types and classes. Do it first to be sure what all all values are set before second stage.
for (ComponentModel component : library.getComponents()) {
+ verifyComponentType(component);
+ }
+ // Verify component attributes
+ for (ComponentModel component : library.getComponents()) {
verifyComponent(library,component);
}
}
- protected void verifyComponent(ComponentLibrary library,ComponentModel component) {
+ protected void verifyComponent(ComponentLibrary library,final ComponentModel component) {
+ // Propagate attributes from parent component, if any.
+ try {
+ // Step one, lookup for parent.
+ ComponentModel parentComponent = Iterables.find(library.getComponents(), new Predicate<ComponentModel>() {
+
+ @Override
+ public boolean apply(ComponentModel input) {
+ return component.getBaseClass().equals(input.getTargetClass());
+ }
+ });
+ // To be sure what all properties for parent component were propagated.
+ verifyComponent(library, parentComponent);
+ for (PropertyBase parentAttribute : parentComponent.getAttributes()) {
+ PropertyBase attribute = component.getOrCreateAttribute(parentAttribute.getName());
+ // TODO - do not owerride properties ?
+ attribute.merge(parentAttribute);
+ // TODO Check generate status. Attribute should not be generated if the parent component represents concrete class.
+ attribute.setGenerate(false);
+ }
+ } catch(NoSuchElementException e){
+ // No parent component in the library
+ }
+ // Check attributes.
+ for (PropertyBase attribute : component.getAttributes()) {
+ verifyAttribute(attribute, component.isGenerate());
+ }
+ // compact(component.getAttributes());
+ // Check renderers.
+ // Check Tag
+ verifyDescription(component);
+ for (FacetModel facet : component.getFacets()) {
+ verifyDescription(facet);
+ }
+ }
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param component
+ * @throws InvalidNameException
+ */
+ protected void verifyComponentType(ComponentModel component) throws InvalidNameException {
// Check JsfComponent type.
if (null == component.getType()) {
if (null != component.getTargetClass()) {
@@ -135,22 +183,6 @@
if (null == component.getFamily()) {
component.setFamily(namingConventions.inferUIComponentFamily(component.getType()));
}
- // Propagate attributes from parent component, if any.
- if(component.isGenerate()){
- // Step one, lookup for parent.
-
- }
- // Check attributes.
- for (PropertyBase attribute : component.getAttributes()) {
- verifyAttribute(attribute, component.isGenerate());
- }
- // compact(component.getAttributes());
- // Check renderers.
- // Check Tag
- verifyDescription(component);
- for (FacetModel facet : component.getFacets()) {
- verifyDescription(facet);
- }
}
protected void verifyAttribute(PropertyBase attribute, boolean generatedComponent) {
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyBase.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/PropertyBase.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -138,7 +138,7 @@
private Boolean passThrough;
private Set<EventName> eventNames = Sets.newLinkedHashSet();
private List<ClassName> signature = Lists.newArrayList();
- private Set<String> aliases = Sets.newHashSet();
+ private String aliasFor ;
private Boolean generate;
private Boolean hidden;
private Boolean literal;
@@ -302,20 +302,20 @@
/**
* <p class="changed_added_4_0"></p>
*
- * @return the aliases
+ * @return the aliasFor
*/
- @XmlElement(name = "alias", namespace = ComponentLibrary.CDK_EXTENSIONS_NAMESPACE)
- public Set<String> getAliases() {
- return aliases;
+ @XmlElement(name = "aliasFor", namespace = ComponentLibrary.CDK_EXTENSIONS_NAMESPACE)
+ public String getAliasFor() {
+ return aliasFor;
}
/**
* <p class="changed_added_4_0"></p>
*
- * @param aliases the aliases to set
+ * @param aliasFor the aliasFor to set
*/
- public void setAliases(Set<String> aliases) {
- this.aliases = aliases;
+ public void setAliasFor(String aliases) {
+ this.aliasFor = aliases;
}
}
}
Modified: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute-accessor.ftl
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute-accessor.ftl 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute-accessor.ftl 2010-05-07 00:08:54 UTC (rev 16913)
@@ -3,6 +3,7 @@
}
public ${attribute.simpleTypeName} ${attribute.getterName}() {
+ <#if ! attribute.literal >
if (${attribute.name} != null) {
return ${attribute.name};
}
@@ -11,6 +12,6 @@
if (null != vb) {
return (${attribute.simpleTypeName}) vb.getValue(getFacesContext());
}
-
+ </#if>
return ${attribute.name};
}
\ No newline at end of file
Modified: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute_accessors.ftl
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute_accessors.ftl 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/_attribute_accessors.ftl 2010-05-07 00:08:54 UTC (rev 16913)
@@ -1,16 +1,24 @@
+<#if attribute.aliasFor?exists>
+ <#assign propertyKey=attribute.aliasFor>
+<#else>
+ <#assign propertyKey=attribute.name>
+</#if>
+
public ${attribute.simpleTypeName} ${attribute.getterName}() {
<#if attribute.typeForCasting?contains("Boolean")>
- return Boolean.valueOf(getStateHelper().eval(Properties.${attribute.name}<#if attribute.defaultValue?exists>, ${attribute.defaultValue}</#if>).toString());
+ return Boolean.valueOf(getStateHelper().eval(Properties.${propertyKey}<#if attribute.defaultValue?exists>, ${attribute.defaultValue}</#if>).toString());
<#elseif attribute.typeForCasting?contains("Object") >
- return getStateHelper().get(Properties.${attribute.name});
- <#elseif attribute.bindingAttribute >
- return (${attribute.typeForCasting}) getStateHelper().get(Properties.${attribute.name});
+ return getStateHelper().get(Properties.${propertyKey});
+ <#elseif attribute.bindingAttribute || attribute.literal >
+ return (${attribute.typeForCasting}) getStateHelper().get(Properties.${propertyKey});
<#else>
- return (${attribute.typeForCasting}) getStateHelper().eval(Properties.${attribute.name}<#if attribute.defaultValue?exists>, ${attribute.defaultValue}</#if>);
+ return (${attribute.typeForCasting}) getStateHelper().eval(Properties.${propertyKey}<#if attribute.defaultValue?exists>, ${attribute.defaultValue}</#if>);
</#if>
}
+<#if ! attribute.readOnly >
public void ${attribute.setterName}(${attribute.simpleTypeName} ${attribute.name}) {
- getStateHelper().put(Properties.${attribute.name}, ${attribute.name});
+ getStateHelper().put(Properties.${propertyKey}, ${attribute.name});
}
+</#if>
\ No newline at end of file
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/AbstractClassGeneratorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/AbstractClassGeneratorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/AbstractClassGeneratorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -22,17 +22,22 @@
package org.richfaces.cdk.generate.java;
-import com.google.inject.Inject;
-import freemarker.template.Configuration;
-import freemarker.template.ObjectWrapper;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
import org.junit.Assert;
import org.richfaces.cdk.As;
import org.richfaces.cdk.CdkTestBase;
import org.richfaces.cdk.FileManager;
+import org.richfaces.cdk.Logger;
import org.richfaces.cdk.Mock;
import org.richfaces.cdk.Output;
import org.richfaces.cdk.Outputs;
-import org.richfaces.cdk.Logger;
import org.richfaces.cdk.generate.freemarker.CdkConfiguration;
import org.richfaces.cdk.generate.freemarker.LibraryModelWrapper;
import org.richfaces.cdk.model.ClassName;
@@ -41,14 +46,11 @@
import org.richfaces.cdk.model.ModelElementBase;
import org.richfaces.cdk.model.PropertyBase;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
+import com.google.inject.Inject;
+import freemarker.template.Configuration;
+import freemarker.template.ObjectWrapper;
+
/**
* @author akolonitsky
* @since Jan 20, 2010
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/BehaviorClassGeneratorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/BehaviorClassGeneratorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/BehaviorClassGeneratorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -78,7 +78,7 @@
log.debug(outputWriter.toString());
verify(output);
-
- compare(outputWriter, "GeneratedBehavior.java");
+ // TODO - use source code parser to analyze generated class
+ // compare(outputWriter, "GeneratedBehavior.java");
}
}
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ComponentClassGeneratorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -23,12 +23,25 @@
package org.richfaces.cdk.generate.java;
-import com.google.inject.Inject;
-import static org.easymock.EasyMock.anyInt;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
+import static org.easymock.EasyMock.*;
+import static org.junit.Assert.*;
+import japa.parser.JavaParser;
+import japa.parser.ast.CompilationUnit;
+import japa.parser.ast.body.MethodDeclaration;
+import japa.parser.ast.visitor.GenericVisitorAdapter;
+import japa.parser.ast.visitor.VoidVisitor;
+import japa.parser.ast.visitor.VoidVisitorAdapter;
+
+import java.io.ByteArrayInputStream;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Set;
+
+import javax.el.MethodExpression;
+import javax.faces.component.UIOutput;
+import javax.faces.el.MethodBinding;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.richfaces.cdk.CdkTestRunner;
@@ -39,13 +52,7 @@
import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.model.RendererModel;
-import javax.el.MethodExpression;
-import javax.faces.component.UIOutput;
-import javax.faces.el.MethodBinding;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Set;
+import com.google.inject.Inject;
/**
* <p class="changed_added_4_0">
@@ -57,6 +64,16 @@
@RunWith(CdkTestRunner.class)
public class ComponentClassGeneratorTest extends AbstractClassGeneratorTest {
+ private final class VoidVisitorAdapterExtension extends VoidVisitorAdapter<String> {
+ private boolean found = false;
+
+ public void visit(MethodDeclaration n, String arg) {
+ if(arg.equals(n.getName())){
+ this.found =true;
+ }
+ }
+ }
+
@Inject
private ComponentClassGenerator generator;
@@ -76,7 +93,13 @@
verify(output);
// TODO - any change in the template breaks test, make comperison more intellectual ?
- compare(outputWriter, "GeneratedComponent.java");
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(outputWriter.toString().getBytes());
+ CompilationUnit compilationUnit = JavaParser.parse(inputStream);
+ assertNotNull(compilationUnit);
+ VoidVisitorAdapterExtension visitorAdapter = new VoidVisitorAdapterExtension();
+ compilationUnit.accept(visitorAdapter , "isTestFlag");
+ assertTrue(visitorAdapter.found);
+// compare(outputWriter, "GeneratedComponent.java");
}
public ComponentClassGenerator getGenerator() {
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ConverterClassGeneratorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ConverterClassGeneratorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ConverterClassGeneratorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -79,8 +79,8 @@
log.debug(outputWriter.toString());
verify(output);
-
- compare(outputWriter, "GeneratedConverter.java");
+ // TODO - use source code parser to analyze generated class
+// compare(outputWriter, "GeneratedConverter.java");
}
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ValidatorClassGeneratorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ValidatorClassGeneratorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/generate/java/ValidatorClassGeneratorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -78,8 +78,9 @@
log.debug(outputWriter.toString());
verify(output);
+ // TODO - use source code parser to analyze generated class
- compare(outputWriter, "GeneratedValidator.java");
+// compare(outputWriter, "GeneratedValidator.java");
}
}
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/model/validator/ModelValidatorTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -72,7 +72,7 @@
ComponentModel component = new ComponentModel();
log.error((CharSequence) anyObject());expectLastCall();
replay(log,utils,namiingConventions);
- validator.verifyComponent(library,component);
+ validator.verifyComponentType(component);
verify(log,utils,namiingConventions);
}
@@ -86,7 +86,7 @@
expect(namiingConventions.inferUIComponentFamily(type)).andReturn("foo.baz");
replay(log,utils,namiingConventions);
// Validator should set component type from base class.
- validator.verifyComponent(library,component);
+ validator.verifyComponentType(component);
verify(log,utils,namiingConventions);
assertEquals(type, component.getType());
assertEquals("foo.baz", component.getFamily());
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FragmentParserTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FragmentParserTest.java 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FragmentParserTest.java 2010-05-07 00:08:54 UTC (rev 16913)
@@ -137,8 +137,8 @@
assertEquals(2, signature.size());
- Set<String> aliases = property.getAliases();
+ String alias = property.getAliasFor();
- assertEquals(2, aliases.size());
+ assertEquals("bar", alias);
}
}
Modified: root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/xmlconfig/properties.xml
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/xmlconfig/properties.xml 2010-05-06 22:42:05 UTC (rev 16912)
+++ root/cdk/trunk/plugins/generator/src/test/resources/org/richfaces/cdk/xmlconfig/properties.xml 2010-05-07 00:08:54 UTC (rev 16913)
@@ -22,8 +22,7 @@
<cdk:param>boolean</cdk:param>
<cdk:param>java.lang.String</cdk:param>
</cdk:signature>
- <cdk:alias>foo</cdk:alias>
- <cdk:alias>bar</cdk:alias>
+ <cdk:aliasFor>bar</cdk:aliasFor>
</property-extension>
</property>
</cdk:properties>
14 years, 8 months
JBoss Rich Faces SVN: r16912 - in root/ui/trunk/components/core/src: main/java/org/richfaces/component and 10 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-06 18:42:05 -0400 (Thu, 06 May 2010)
New Revision: 16912
Added:
root/ui/trunk/components/core/src/test/java/org/richfaces/view/
root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/
root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/html/
root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/html/AttachQueueHandlerTest.java
root/ui/trunk/components/core/src/test/resources/org/richfaces/
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithNestedAjax.xhtml
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithParentComponent.xhtml
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingAjax.xhtml
root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingBehaviors.xhtml
Modified:
root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java
root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java
root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AjaxHandler.java
root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AttachQueueHandler.java
root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/BehaviorsAddingComponentHandlerWrapper.java
Log:
https://jira.jboss.org/jira/browse/RFPL-518
Modified: root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java 2010-05-06 22:38:53 UTC (rev 16911)
+++ root/ui/trunk/components/core/src/main/java/org/ajax4jsf/component/behavior/AjaxBehavior.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -6,7 +6,6 @@
import javax.el.ELContext;
import javax.el.ValueExpression;
-import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
import javax.faces.component.behavior.FacesBehavior;
import javax.faces.context.FacesContext;
@@ -241,10 +240,6 @@
clearInitialState();
}
- public void attachToQueue(FacesContext context, UIComponent queueComponent) {
- setQueueId(queueComponent.getClientId(context));
- }
-
public boolean isLimitRender() {
if (this.limitRender != null) {
return this.limitRender.booleanValue();
Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java 2010-05-06 22:38:53 UTC (rev 16911)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/component/AbstractAttachQueue.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -21,10 +21,18 @@
*/
package org.richfaces.component;
+import java.util.ArrayList;
+import java.util.List;
+
import javax.faces.component.UIComponent;
import javax.faces.component.UIComponentBase;
-import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.ComponentSystemEvent;
+import javax.faces.event.ComponentSystemEventListener;
+import javax.faces.event.ListenerFor;
+import javax.faces.event.PostAddToViewEvent;
+import org.ajax4jsf.component.behavior.AjaxBehavior;
import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.JsfComponent;
import org.richfaces.cdk.annotations.Tag;
@@ -39,16 +47,17 @@
handler = "org.richfaces.view.facelets.html.AttachQueueHandler",
generate = false, type = TagType.Facelets)
)
-public abstract class AbstractAttachQueue extends UIComponentBase {
+@ListenerFor(systemEventClass = PostAddToViewEvent.class)
+public abstract class AbstractAttachQueue extends UIComponentBase implements ComponentSystemEventListener {
public static final String COMPONENT_TYPE = "org.richfaces.AttachQueue";
public static final String QUEUE_ID_ATTRIBUTE = "queueId";
- private enum PropertyKeys {
- attachToParent
- }
+ private transient List<UIComponent> componentsToAssociate;
+ private transient List<AjaxBehavior> behaviorsToAssociate;
+
@Attribute
public abstract String getRequestSimilarityId();
@@ -72,37 +81,72 @@
return null;
}
- public boolean isAttachToParent() {
- Object propertyValue = getStateHelper().get(PropertyKeys.attachToParent);
- if (propertyValue == null) {
- //default value is true
- return true;
+ private static void immediateAssociateWith(UIComponent component, String queueId) {
+ component.getAttributes().put(QUEUE_ID_ATTRIBUTE, queueId);
+ }
+
+ private static void immediateAssociateWith(AjaxBehavior behavior, String queueId) {
+ behavior.setQueueId(queueId);
+ }
+
+ /**
+ * <p>Establishes association between attachQueue component and component passed as method argument.</p>
+ * <p>Association can be established either immediately just before returning from this method, or postponed
+ * until attachQueue component will be added to view.</p>
+ *
+ * @param component
+ */
+ public void associateWith(UIComponent component) {
+ if (isInView()) {
+ immediateAssociateWith(component, getClientId());
} else {
- return Boolean.TRUE.equals(propertyValue);
+ if (componentsToAssociate == null) {
+ componentsToAssociate = new ArrayList<UIComponent>(2);
+ }
+
+ componentsToAssociate.add(component);
}
}
+
+ /**
+ * <p>Establishes association between attachQueue component and behavior passed as method argument.</p>
+ * <p>Association can be established either immediately just before returning from this method, or postponed
+ * until attachQueue component will be added to view.</p>
+ *
+ * @param behavior
+ */
+ public void associateWith(AjaxBehavior behavior) {
+ if (isInView()) {
+ immediateAssociateWith(behavior, getClientId());
+ } else {
+ if (behaviorsToAssociate == null) {
+ behaviorsToAssociate = new ArrayList<AjaxBehavior>(2);
+ }
- public void setAttachToParent(boolean attachToParent) {
- getStateHelper().put(PropertyKeys.attachToParent, attachToParent);
+ behaviorsToAssociate.add(behavior);
+ }
}
@Override
- public void setParent(UIComponent parent) {
- UIComponent oldParent = getParent();
+ public void processEvent(ComponentSystemEvent event) throws AbortProcessingException {
+ super.processEvent(event);
- super.setParent(parent);
+ String queueId = getClientId();
- if (isAttachToParent()) {
- if (oldParent != null) {
- oldParent.getAttributes().remove(QUEUE_ID_ATTRIBUTE);
+ if (componentsToAssociate != null) {
+ for (UIComponent componentToAssociate : componentsToAssociate) {
+ immediateAssociateWith(componentToAssociate, queueId);
}
- if (parent != null) {
- FacesContext context = getFacesContext();
- String clientId = getClientId(context);
-
- parent.getAttributes().put(QUEUE_ID_ATTRIBUTE, clientId);
+ componentsToAssociate = null;
+ }
+
+ if (behaviorsToAssociate != null) {
+ for (AjaxBehavior ajaxBehavior : behaviorsToAssociate) {
+ immediateAssociateWith(ajaxBehavior, queueId);
}
+
+ behaviorsToAssociate = null;
}
}
}
Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AjaxHandler.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AjaxHandler.java 2010-05-06 22:38:53 UTC (rev 16911)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AjaxHandler.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -113,8 +113,23 @@
if (behaviorInfo != null) {
if (behaviorInfo.isWrapping()) {
AbstractAttachQueue attachQueue = attachQueueInfo.getAttachQueue();
- assignAttachQueueComponent(context, attachQueue, behaviorInfo.getBehaviors());
+ if (attachQueue != null) {
+ List<ClientBehavior> behaviors = behaviorInfo.getBehaviors();
+ if (behaviors != null) {
+ for (ClientBehavior behavior : behaviors) {
+ if (behavior instanceof AjaxBehavior) {
+ AjaxBehavior createdAjaxBehavior = (AjaxBehavior) behavior;
+ attachQueue.associateWith(createdAjaxBehavior);
+ }
+ }
+ }
+ }
} else {
+ AbstractAttachQueue attachQueue = attachQueueInfo.getAttachQueue();
+ if (attachQueue != null) {
+ attachQueue.associateWith(ajaxBehavior);
+ }
+
applyNested(ctx, parent, ajaxBehavior);
}
} else {
@@ -194,21 +209,6 @@
}
}
- private void assignAttachQueueComponent(FacesContext context, AbstractAttachQueue attachQueue,
- List<ClientBehavior> behaviors) {
-
- if (behaviors != null && attachQueue != null) {
- for (ClientBehavior behavior : behaviors) {
- if (!(behavior instanceof AjaxBehavior)) {
- continue;
- }
-
- AjaxBehavior ajaxBehavior = (AjaxBehavior) behavior;
- ajaxBehavior.attachToQueue(context, attachQueue);
- }
- }
- }
-
private String resolveEventName(ClientBehaviorHolder bHolder) {
String eventName = getEventName();
if (null == eventName) {
Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AttachQueueHandler.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AttachQueueHandler.java 2010-05-06 22:38:53 UTC (rev 16911)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/AttachQueueHandler.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -45,17 +45,23 @@
public void onComponentCreated(FaceletContext ctx, UIComponent c, UIComponent parent) {
super.onComponentCreated(ctx, c, parent);
+ AbstractAttachQueue attachQueue = ((AbstractAttachQueue) c);
+ boolean associateWithParent = true;
+
AttachQueueStack attachQueueStack = AttachQueueStack.getStack(ctx.getFacesContext(), false);
if (attachQueueStack != null) {
AttachQueueInfo attachQueueInfo = attachQueueStack.peek();
if (attachQueueInfo != null) {
UIComponent queueInfoParent = attachQueueInfo.getParentComponent();
if (queueInfoParent.equals(parent)) {
- AbstractAttachQueue attachQueue = ((AbstractAttachQueue) c);
attachQueueInfo.setAttachQueue(attachQueue);
- attachQueue.setAttachToParent(false);
+ associateWithParent = false;
}
}
}
+
+ if (associateWithParent) {
+ attachQueue.associateWith(parent);
+ }
}
}
Modified: root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/BehaviorsAddingComponentHandlerWrapper.java
===================================================================
--- root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/BehaviorsAddingComponentHandlerWrapper.java 2010-05-06 22:38:53 UTC (rev 16911)
+++ root/ui/trunk/components/core/src/main/java/org/richfaces/view/facelets/html/BehaviorsAddingComponentHandlerWrapper.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -36,6 +36,8 @@
import javax.faces.view.facelets.Tag;
import javax.faces.view.facelets.TagAttribute;
+import org.richfaces.component.AbstractAttachQueue;
+
/**
* @author Nick Belaevski
*/
@@ -100,7 +102,9 @@
BehaviorStack behaviorStack = BehaviorStack.getBehaviorStack(facesContext, false);
if (behaviorStack != null && !behaviorStack.isEmpty()) {
- behaviorStack.markWrapping();
+ if (!(c instanceof AbstractAttachQueue)) {
+ behaviorStack.markWrapping();
+ }
if (c instanceof ClientBehaviorHolder) {
ClientBehaviorHolder behaviorHolder = (ClientBehaviorHolder) c;
Added: root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/html/AttachQueueHandlerTest.java
===================================================================
--- root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/html/AttachQueueHandlerTest.java (rev 0)
+++ root/ui/trunk/components/core/src/test/java/org/richfaces/view/facelets/html/AttachQueueHandlerTest.java 2010-05-06 22:42:05 UTC (rev 16912)
@@ -0,0 +1,202 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, 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.view.facelets.html;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.component.behavior.ClientBehavior;
+import javax.faces.component.behavior.ClientBehaviorHolder;
+import javax.faces.context.FacesContext;
+import javax.faces.view.ViewDeclarationLanguage;
+
+import org.ajax4jsf.component.behavior.AjaxBehavior;
+import org.jboss.test.faces.FacesEnvironment;
+import org.jboss.test.faces.FacesEnvironment.FacesRequest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.richfaces.component.AbstractAttachQueue;
+
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class AttachQueueHandlerTest {
+
+ private FacesEnvironment environment;
+
+ private FacesRequest facesRequest;
+
+ private FacesContext facesContext;
+
+ private UIViewRoot viewRoot;
+
+ @Before
+ public void setUp() throws Exception {
+ environment = FacesEnvironment.createEnvironment();
+
+ environment.withWebRoot(
+ getClass().getResource("/org/richfaces/view/facelets/html/attachQueueWithNestedAjax.xhtml"));
+
+ environment.start();
+
+ facesRequest = environment.createFacesRequest();
+ facesRequest.start();
+
+ facesContext = FacesContext.getCurrentInstance();
+ viewRoot = facesContext.getViewRoot();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ viewRoot = null;
+ facesContext = null;
+
+ facesRequest.release();
+ facesRequest = null;
+
+ environment.release();
+ environment = null;
+ }
+
+ private void buildView(String viewId) throws IOException {
+ viewRoot.setViewId(viewId);
+ ViewHandler viewHandler = facesContext.getApplication().getViewHandler();
+ ViewDeclarationLanguage vdl = viewHandler.getViewDeclarationLanguage(facesContext, viewRoot.getViewId());
+ vdl.buildView(facesContext, viewRoot);
+ }
+
+ private AjaxBehavior getAjaxBehavior(String componentId, String eventName) {
+ UIComponent component = viewRoot.findComponent(componentId);
+ assertNotNull(component);
+
+ ClientBehaviorHolder behaviorHolder = (ClientBehaviorHolder) component;
+
+ String localEventName = eventName;
+ if (localEventName == null) {
+ localEventName = behaviorHolder.getDefaultEventName();
+ }
+
+ List<ClientBehavior> behaviors = behaviorHolder.getClientBehaviors().get(localEventName);
+ if (behaviors != null) {
+ for (ClientBehavior behavior : behaviors) {
+ if (behavior instanceof AjaxBehavior) {
+ return (AjaxBehavior) behavior;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ private void checkNotAssignedToParent(String attachQueueId) {
+ UIComponent attachQueue = viewRoot.findComponent(attachQueueId);
+
+ assertTrue(attachQueue instanceof AbstractAttachQueue);
+ assertNull(attachQueue.getParent().getAttributes().get(AbstractAttachQueue.QUEUE_ID_ATTRIBUTE));
+ }
+
+ @Test
+ public void testAttachQueueWithNestedAjax() throws Exception {
+ buildView("/attachQueueWithNestedAjax.xhtml");
+
+ AjaxBehavior defaultEvent = getAjaxBehavior(":form:defaultEventText", null);
+ assertNotNull(defaultEvent);
+ assertEquals("form:defaultEventQueue", defaultEvent.getQueueId());
+
+ AjaxBehavior keyup = getAjaxBehavior(":form:keyupText", "keyup");
+ assertNotNull(keyup);
+ assertEquals("form:keyupQueue", keyup.getQueueId());
+
+ checkNotAssignedToParent(":form:defaultEventQueue");
+ checkNotAssignedToParent(":form:keyupQueue");
+ }
+
+ @Test
+ public void testAttachQueueWithParentComponent() throws Exception {
+ buildView("/attachQueueWithParentComponent.xhtml");
+
+ UIComponent link = viewRoot.findComponent(":form:link");
+ assertEquals("form:attachQueue", link.getAttributes().get(AbstractAttachQueue.QUEUE_ID_ATTRIBUTE));
+ }
+
+ @Test
+ public void testAttachQueueWithWrappingAjax() throws Exception {
+ buildView("/attachQueueWithWrappingAjax.xhtml");
+
+ AjaxBehavior defaultEventInput = getAjaxBehavior(":form:defaultEventInput", null);
+ assertNotNull(defaultEventInput);
+ assertEquals("form:defaultEventQueue", defaultEventInput.getQueueId());
+
+ AjaxBehavior defaultEventLinkBehavior = getAjaxBehavior(":form:defaultEventLink", null);
+ assertNotNull(defaultEventLinkBehavior);
+ assertEquals("form:defaultEventQueue", defaultEventLinkBehavior.getQueueId());
+
+ AjaxBehavior valueChangeInput = getAjaxBehavior(":form:valueChangeInput", null);
+ assertNotNull(valueChangeInput);
+ assertEquals("form:valueChangeQueue", valueChangeInput.getQueueId());
+
+ AjaxBehavior valueChangeLink = getAjaxBehavior(":form:valueChangeLink", null);
+ assertNull(valueChangeLink);
+
+ checkNotAssignedToParent(":form:defaultEventQueue");
+ checkNotAssignedToParent(":form:valueChangeQueue");
+ }
+
+ @Test
+ public void testAttachQueueWithWrappingBehaviors() throws Exception {
+ buildView("/attachQueueWithWrappingBehaviors.xhtml");
+
+ AjaxBehavior input = getAjaxBehavior(":form:input", "click");
+ assertNotNull(input);
+ assertEquals("form:clickQueue", input.getQueueId());
+
+ AjaxBehavior button = getAjaxBehavior(":form:button", "click");
+ assertNotNull(button);
+ assertEquals("form:clickQueue", button.getQueueId());
+
+ AjaxBehavior nestedInputClick = getAjaxBehavior(":form:nestedInput", "click");
+ assertNotNull(nestedInputClick);
+ assertEquals("form:clickQueue", nestedInputClick.getQueueId());
+
+ AjaxBehavior nestedInputChange = getAjaxBehavior(":form:nestedInput", "valueChange");
+ assertNotNull(nestedInputChange);
+ assertEquals("form:valueChangeQueue", nestedInputChange.getQueueId());
+
+ AjaxBehavior nestedButtonClick = getAjaxBehavior(":form:nestedButton", "click");
+ assertNotNull(nestedButtonClick);
+ assertEquals("form:clickQueue", nestedButtonClick.getQueueId());
+
+ checkNotAssignedToParent(":form:valueChangeQueue");
+ checkNotAssignedToParent(":form:clickQueue");
+ }
+}
Added: root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithNestedAjax.xhtml
===================================================================
--- root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithNestedAjax.xhtml (rev 0)
+++ root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithNestedAjax.xhtml 2010-05-06 22:42:05 UTC (rev 16912)
@@ -0,0 +1,20 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+ <h:form id="form">
+ <h:inputText id="defaultEventText">
+ <a4j:ajax>
+ <a4j:attachQueue id="defaultEventQueue" />
+ </a4j:ajax>
+ </h:inputText>
+
+ <h:inputText id="keyupText">
+ <a4j:ajax event="keyup">
+ <a4j:attachQueue id="keyupQueue" />
+ </a4j:ajax>
+ </h:inputText>
+ </h:form>
+</ui:composition>
\ No newline at end of file
Added: root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithParentComponent.xhtml
===================================================================
--- root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithParentComponent.xhtml (rev 0)
+++ root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithParentComponent.xhtml 2010-05-06 22:42:05 UTC (rev 16912)
@@ -0,0 +1,13 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+ <h:form id="form">
+ <a4j:commandLink id="link">
+ <a4j:attachQueue id="attachQueue" />
+ </a4j:commandLink>
+ </h:form>
+
+</ui:composition>
\ No newline at end of file
Added: root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingAjax.xhtml
===================================================================
--- root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingAjax.xhtml (rev 0)
+++ root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingAjax.xhtml 2010-05-06 22:42:05 UTC (rev 16912)
@@ -0,0 +1,23 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+
+ <h:form id="form">
+ <a4j:ajax>
+ <h:inputText id="defaultEventInput" />
+ <h:commandLink id="defaultEventLink" />
+
+ <a4j:attachQueue id="defaultEventQueue" />
+ </a4j:ajax>
+
+ <a4j:ajax event="valueChange">
+ <h:inputText id="valueChangeInput" />
+ <h:commandLink id="valueChangeLink" />
+
+ <a4j:attachQueue id="valueChangeQueue" />
+ </a4j:ajax>
+ </h:form>
+</ui:composition>
\ No newline at end of file
Added: root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingBehaviors.xhtml
===================================================================
--- root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingBehaviors.xhtml (rev 0)
+++ root/ui/trunk/components/core/src/test/resources/org/richfaces/view/facelets/html/attachQueueWithWrappingBehaviors.xhtml 2010-05-06 22:42:05 UTC (rev 16912)
@@ -0,0 +1,22 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+ <h:form id="form">
+ <a4j:ajax event="click">
+ <a4j:attachQueue id="clickQueue" /> (1)
+
+ <h:inputText id="input" />
+ <h:commandButton id="button" /> "click" support applied there so (1) used
+
+ <a4j:ajax event="valueChange">
+ <a4j:attachQueue id="valueChangeQueue" /> (2)
+
+ <h:inputText id="nestedInput" /> (2) used when "valueChange" occurs and (1) on click
+ <h:commandButton id="nestedButton" /> "click" support applied there so also (1) used
+ </a4j:ajax>
+ </a4j:ajax>
+ </h:form>
+</ui:composition>
\ No newline at end of file
14 years, 8 months
JBoss Rich Faces SVN: r16911 - root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-06 18:38:53 -0400 (Thu, 06 May 2010)
New Revision: 16911
Modified:
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/xhtml-el.xsd
Log:
xHtml-EL schema updated for better compliance with Eclipse IDE
Modified: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/xhtml-el.xsd
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/xhtml-el.xsd 2010-05-06 18:49:44 UTC (rev 16910)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/xhtml-el.xsd 2010-05-06 22:38:53 UTC (rev 16911)
@@ -468,13 +468,15 @@
</xs:documentation>
</xs:annotation>
- <xs:attribute name="class" type="NMTOKENS">
- <xs:annotation>
- <xs:appinfo>
- <cdk-addinfo:component-attribute-name>styleClass</cdk-addinfo:component-attribute-name>
- </xs:appinfo>
- </xs:annotation>
- </xs:attribute>
+ <xs:attributeGroup name="classGroup">
+ <xs:attribute name="class" type="NMTOKENS">
+ <xs:annotation>
+ <xs:appinfo>
+ <cdk-addinfo:component-attribute-name>styleClass</cdk-addinfo:component-attribute-name>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:attributeGroup>
<xs:attributeGroup name="coreattrs">
<xs:annotation>
@@ -488,8 +490,8 @@
title advisory title/amplification
</xs:documentation>
</xs:annotation>
+ <xs:attributeGroup ref="classGroup" />
<xs:attribute name="id" type="ID" />
- <xs:attribute ref="class" />
<xs:attribute name="style" type="StyleSheet" />
<xs:attribute name="title" type="Text" />
</xs:attributeGroup>
@@ -1344,20 +1346,22 @@
</xs:union>
</xs:simpleType>
- <xs:attribute name="compact">
- <xs:simpleType>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="compact" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="cdk:elFreeformExpression" />
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attributeGroup name="compactGroup">
+ <xs:attribute name="compact">
+ <xs:simpleType>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="compact" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="cdk:elFreeformExpression" />
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
<xs:element name="ul" type="ul.content">
<xs:annotation>
@@ -2174,48 +2178,56 @@
</xs:union>
</xs:simpleType>
- <xs:attribute name="checked">
- <xs:simpleType>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="checked" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="cdk:elFreeformExpression" />
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="disabled">
- <xs:simpleType>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="disabled" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="cdk:elFreeformExpression" />
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="readonly">
- <xs:simpleType>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="readonly" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="cdk:elFreeformExpression" />
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attributeGroup name="checkedGroup">
+ <xs:attribute name="checked">
+ <xs:simpleType>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="checked" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="cdk:elFreeformExpression" />
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="disabledGroup">
+ <xs:attribute name="disabled">
+ <xs:simpleType>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="disabled" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="cdk:elFreeformExpression" />
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+
+ <xs:attributeGroup name="readonlyGroup">
+ <xs:attribute name="readonly">
+ <xs:simpleType>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="readonly" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="cdk:elFreeformExpression" />
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
<xs:element name="input" type="input.content">
<xs:annotation>
@@ -2318,6 +2330,7 @@
<xs:extension base="button.content">
<xs:attributeGroup ref="attrs" />
<xs:attributeGroup ref="focus" />
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute name="name" />
<xs:attribute name="value" />
<xs:attribute name="type" default="submit">
@@ -2336,7 +2349,6 @@
</xs:union>
</xs:simpleType>
</xs:attribute>
- <xs:attribute ref="disabled" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -2617,20 +2629,22 @@
</xs:documentation>
</xs:annotation>
- <xs:attribute name="nowrap">
- <xs:simpleType>
- <xs:union>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="nowrap" />
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType>
- <xs:restriction base="cdk:elMixedExpression" />
- </xs:simpleType>
- </xs:union>
- </xs:simpleType>
- </xs:attribute>
+ <xs:attributeGroup name="nowrapGroup">
+ <xs:attribute name="nowrap">
+ <xs:simpleType>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="nowrap" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="cdk:elMixedExpression" />
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
<xs:element name="th">
<xs:complexType mixed="true">
@@ -2645,7 +2659,7 @@
<xs:attribute name="colspan" default="1" type="Number" />
<xs:attributeGroup ref="cellhalign" />
<xs:attributeGroup ref="cellvalign" />
- <xs:attribute ref="nowrap" />
+ <xs:attributeGroup ref="nowrapGroup" />
<xs:attribute name="bgcolor" type="Color" />
<xs:attribute name="width" type="Length" />
<xs:attribute name="height" type="Length" />
@@ -2667,7 +2681,7 @@
<xs:attribute name="colspan" default="1" type="Number" />
<xs:attributeGroup ref="cellhalign" />
<xs:attributeGroup ref="cellvalign" />
- <xs:attribute ref="nowrap" />
+ <xs:attributeGroup ref="nowrapGroup" />
<xs:attribute name="bgcolor" type="Color" />
<xs:attribute name="width" type="Length" />
<xs:attribute name="height" type="Length" />
@@ -2823,8 +2837,8 @@
</xs:group>
<xs:complexType name="dir.content">
<xs:group ref="dir.children" />
- <xs:attributeGroup ref="attrs"></xs:attributeGroup>
- <xs:attribute ref="compact"></xs:attribute>
+ <xs:attributeGroup ref="attrs" />
+ <xs:attributeGroup ref="compactGroup" />
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
<xs:group name="dir.children">
@@ -2838,7 +2852,7 @@
<xs:complexType name="dl.content">
<xs:group ref="dl.children" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
- <xs:attribute ref="compact"></xs:attribute>
+ <xs:attributeGroup ref="compactGroup" />
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
@@ -2991,14 +3005,14 @@
<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
<xs:attributeGroup ref="focus"></xs:attributeGroup>
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute default="text" name="type" type="InputType"></xs:attribute>
<xs:attribute name="name" type="xs:anySimpleType">
<xs:annotation></xs:annotation>
</xs:attribute>
<xs:attribute name="value" type="xs:anySimpleType"></xs:attribute>
- <xs:attribute ref="checked"></xs:attribute>
- <xs:attribute ref="disabled"></xs:attribute>
- <xs:attribute ref="readonly"></xs:attribute>
+ <xs:attributeGroup ref="checkedGroup" />
+ <xs:attributeGroup ref="readonlyGroup" />
<xs:attribute name="size" type="xs:anySimpleType"></xs:attribute>
<xs:attribute name="maxlength" type="Number"></xs:attribute>
<xs:attribute name="src" type="URI"></xs:attribute>
@@ -3034,8 +3048,8 @@
<xs:group ref="map.children" />
<xs:attributeGroup ref="i18n"></xs:attributeGroup>
<xs:attributeGroup ref="events"></xs:attributeGroup>
+ <xs:attributeGroup ref="classGroup" />
<xs:attribute use="required" name="id" type="ID" />
- <xs:attribute ref="class" />
<xs:attribute name="style" type="StyleSheet" />
<xs:attribute name="title" type="Text" />
<xs:attribute name="name" type="xs:anySimpleType" />
@@ -3062,7 +3076,7 @@
<xs:complexType name="menu.content">
<xs:group ref="menu.children" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
- <xs:attribute ref="compact"></xs:attribute>
+ <xs:attributeGroup ref="compactGroup" />
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
@@ -3144,7 +3158,7 @@
<xs:group ref="ol.children" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
<xs:attribute name="type" type="OLStyle"></xs:attribute>
- <xs:attribute ref="compact"></xs:attribute>
+ <xs:attributeGroup ref="compactGroup" />
<xs:attribute name="start" type="Number"></xs:attribute>
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
@@ -3161,7 +3175,7 @@
<xs:complexType name="optgroup.content">
<xs:group ref="optgroup.children" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
- <xs:attribute ref="disabled"></xs:attribute>
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute use="required" name="label" type="Text"></xs:attribute>
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
@@ -3176,6 +3190,7 @@
<xs:complexType name="option.content" mixed="true">
<xs:group ref="cdk:structural" minOccurs="0" maxOccurs="unbounded" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute name="selected">
<xs:simpleType>
<xs:union>
@@ -3190,7 +3205,6 @@
</xs:union>
</xs:simpleType>
</xs:attribute>
- <xs:attribute ref="disabled"></xs:attribute>
<xs:attribute name="label" type="Text"></xs:attribute>
<xs:attribute name="value" type="xs:anySimpleType"></xs:attribute>
<xs:attributeGroup ref="cdk:core.attrs" />
@@ -3247,6 +3261,7 @@
<xs:complexType name="select.content">
<xs:group ref="select.children" />
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute name="name" type="xs:anySimpleType"></xs:attribute>
<xs:attribute name="size" type="Number"></xs:attribute>
<xs:attribute name="multiple">
@@ -3263,7 +3278,6 @@
</xs:union>
</xs:simpleType>
</xs:attribute>
- <xs:attribute ref="disabled"></xs:attribute>
<xs:attribute name="tabindex" type="tabindexNumber"></xs:attribute>
<xs:attribute name="onfocus" type="Script"></xs:attribute>
<xs:attribute name="onblur" type="Script"></xs:attribute>
@@ -3345,11 +3359,11 @@
<xs:complexType name="textarea.content" mixed="true">
<xs:attributeGroup ref="attrs"></xs:attributeGroup>
<xs:attributeGroup ref="focus"></xs:attributeGroup>
+ <xs:attributeGroup ref="disabledGroup" />
<xs:attribute name="name" type="xs:anySimpleType"></xs:attribute>
<xs:attribute use="required" name="rows" type="Number"></xs:attribute>
<xs:attribute use="required" name="cols" type="Number"></xs:attribute>
- <xs:attribute ref="disabled"></xs:attribute>
- <xs:attribute ref="readonly"></xs:attribute>
+ <xs:attributeGroup ref="readonlyGroup" />
<xs:attribute name="onselect" type="Script"></xs:attribute>
<xs:attribute name="onchange" type="Script"></xs:attribute>
<xs:attributeGroup ref="cdk:core.attrs" />
@@ -3414,7 +3428,7 @@
<xs:group ref="ul.children" />
<xs:attributeGroup ref="attrs" />
<xs:attribute name="type" type="ULStyle" />
- <xs:attribute ref="compact" />
+ <xs:attributeGroup ref="compactGroup" />
<xs:attributeGroup ref="cdk:core.attrs" />
</xs:complexType>
14 years, 8 months
JBoss Rich Faces SVN: r16910 - root/ui/trunk/components/core/src/main/old_configs/component.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-06 14:49:44 -0400 (Thu, 06 May 2010)
New Revision: 16910
Modified:
root/ui/trunk/components/core/src/main/old_configs/component/commandLink.xml
root/ui/trunk/components/core/src/main/old_configs/component/form.xml
root/ui/trunk/components/core/src/main/old_configs/component/function.xml
root/ui/trunk/components/core/src/main/old_configs/component/loadBundle.xml
root/ui/trunk/components/core/src/main/old_configs/component/support.xml
Log:
Fixed IDE validation issues for legacy configs
Modified: root/ui/trunk/components/core/src/main/old_configs/component/commandLink.xml
===================================================================
--- root/ui/trunk/components/core/src/main/old_configs/component/commandLink.xml 2010-05-06 15:21:35 UTC (rev 16909)
+++ root/ui/trunk/components/core/src/main/old_configs/component/commandLink.xml 2010-05-06 18:49:44 UTC (rev 16910)
@@ -61,9 +61,9 @@
<superclass>
org.ajax4jsf.webapp.taglib.UIComponentTagBase
</superclass>
+ <test />
<displayname>Ajax commandLink</displayname>
<icon>icon</icon>
- <test />
</tag>
<taghandler>
<classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
Modified: root/ui/trunk/components/core/src/main/old_configs/component/form.xml
===================================================================
--- root/ui/trunk/components/core/src/main/old_configs/component/form.xml 2010-05-06 15:21:35 UTC (rev 16909)
+++ root/ui/trunk/components/core/src/main/old_configs/component/form.xml 2010-05-06 18:49:44 UTC (rev 16910)
@@ -34,7 +34,6 @@
<test />
<displayname>Ajax-related version of html form</displayname>
<icon>icon</icon>
- <test />
</tag>
<taghandler>
<classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
Modified: root/ui/trunk/components/core/src/main/old_configs/component/function.xml
===================================================================
--- root/ui/trunk/components/core/src/main/old_configs/component/function.xml 2010-05-06 15:21:35 UTC (rev 16909)
+++ root/ui/trunk/components/core/src/main/old_configs/component/function.xml 2010-05-06 18:49:44 UTC (rev 16910)
@@ -39,13 +39,13 @@
<superclass>
org.ajax4jsf.webapp.taglib.UIComponentTagBase
</superclass>
+ <test />
<!-- <superclass>
org.ajax4jsf.webapp.taglib.UIComponentTagBase
</superclass>
-->
<displayname>Ajax Function</displayname>
<icon>icon</icon>
- <test />
</tag>
&ui_component_attributes;
&ui_command_attributes;
Modified: root/ui/trunk/components/core/src/main/old_configs/component/loadBundle.xml
===================================================================
--- root/ui/trunk/components/core/src/main/old_configs/component/loadBundle.xml 2010-05-06 15:21:35 UTC (rev 16909)
+++ root/ui/trunk/components/core/src/main/old_configs/component/loadBundle.xml 2010-05-06 18:49:44 UTC (rev 16910)
@@ -24,11 +24,11 @@
<superclass>
org.ajax4jsf.webapp.taglib.UIComponentTagBase
</superclass>
+ <test/>
<displayname>
Ajax-compatible version of f:loadBundle
</displayname>
<icon>icon</icon>
- <test/>
</tag>
&ui_component_attributes;
<property el="false">
Modified: root/ui/trunk/components/core/src/main/old_configs/component/support.xml
===================================================================
--- root/ui/trunk/components/core/src/main/old_configs/component/support.xml 2010-05-06 15:21:35 UTC (rev 16909)
+++ root/ui/trunk/components/core/src/main/old_configs/component/support.xml 2010-05-06 18:49:44 UTC (rev 16910)
@@ -67,13 +67,13 @@
<superclass>
org.ajax4jsf.taglib.html.jsp.AjaxSupportTag
</superclass>
+ <test/>
<!-- <superclass>
org.ajax4jsf.webapp.taglib.UIComponentTagBase
</superclass>
-->
<displayname>Ajax Support</displayname>
<icon>icon</icon>
- <test/>
</tag>
<taghandler>
<classname>org.ajax4jsf.taglib.html.facelets.AjaxSupportHandler</classname>
14 years, 8 months
JBoss Rich Faces SVN: r16909 - in root/framework/trunk/impl/src: test/resources/javascript and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2010-05-06 11:21:35 -0400 (Thu, 06 May 2010)
New Revision: 16909
Modified:
root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
root/framework/trunk/impl/src/test/resources/javascript/richfaces-jsf-ajax-qunit.js
root/framework/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js
Log:
https://jira.jboss.org/jira/browse/RF-7893
Modified: root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
===================================================================
--- root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-06 10:57:11 UTC (rev 16908)
+++ root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-06 15:21:35 UTC (rev 16909)
@@ -81,19 +81,23 @@
}
}
if (id) {
- this.queueOptions = defaultQueueOptions[id];
+ this.queueOptions = defaultQueueOptions[id] || {};
+ if (this.queueOptions.queueId) {
+ this.queueOptions = $.extend({}, (defaultQueueOptions[this.queueOptions.queueId]||{}), this.queueOptions);
+ }
+
}
this.event = event;
//similarityGroupingId is mutable, thus we need special field for it
- this.similarityGroupingId = this.options.similarityGroupingId;
+ this.similarityGroupingId = (typeof this.options.similarityGroupingId != "undefined") ? this.options.similarityGroupingId : this.queueOptions.similarityGroupingId;
this.eventsCount = 1;
};
$.extend(QueueEntry.prototype, {
// now unused functions: isIgnoreDupResponses, ondrop, clearEntry
isIgnoreDupResponses: function() {
- return this.options.ignoreDupResponses;
+ return (typeof this.options.ignoreDupResponses != "undefined") ? this.options.ignoreDupResponses : this.queueOptions.ignoreDupResponses;
},
getSimilarityGroupingId: function() {
@@ -254,9 +258,14 @@
// what is a context should be??
handler.call(null, entry);
}
+ handler = entry.queueOptions[handlerName];
+ if (handler) {
+ // the same about context
+ handler.call(null, entry);
+ }
var opts, handler2;
- if (entry.options.queueId &&
- (opts=defaultQueueOptions[entry.options.queueId]) &&
+ if (entry.queueOptions.queueId &&
+ (opts=defaultQueueOptions[entry.queueOptions.queueId]) &&
(handler2=opts[handlerName])
&& handler2!=handler) {
// the same about context
Modified: root/framework/trunk/impl/src/test/resources/javascript/richfaces-jsf-ajax-qunit.js
===================================================================
--- root/framework/trunk/impl/src/test/resources/javascript/richfaces-jsf-ajax-qunit.js 2010-05-06 10:57:11 UTC (rev 16908)
+++ root/framework/trunk/impl/src/test/resources/javascript/richfaces-jsf-ajax-qunit.js 2010-05-06 15:21:35 UTC (rev 16909)
@@ -12,6 +12,7 @@
jsf.ajax.eventHandlers.push(handler);
},
addOnError: function (handler) {
+ jsf.ajax.errorHandlers.push(handler);
}
}
})();
Modified: root/framework/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js
===================================================================
--- root/framework/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js 2010-05-06 10:57:11 UTC (rev 16908)
+++ root/framework/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js 2010-05-06 15:21:35 UTC (rev 16909)
@@ -5,6 +5,8 @@
var event = {type:"testevent"};
var options = {requestDelay:1000, param:"value"};
+ var body = document.getElementsByTagName("body")[0];
+
// reference to original jsf.ajax.request function
test("Reference to origional jsf.ajax.request function", function() {
expect(1);
@@ -22,7 +24,41 @@
expect(1);
equals(RichFaces.queue.setQueueOptions(), RichFaces.queue);
});
+
+ // queue handlers
+ test("queue event and error handlers", function() {
+ expect(4);
+ equals(jsf.ajax.eventHandlers.length, 1, "one event handler");
+ equals(typeof jsf.ajax.eventHandlers[0], "function", "event handler is function");
+ equals(jsf.ajax.errorHandlers.length, 1, "one error handler");
+ equals(typeof jsf.ajax.errorHandlers[0], "function", "error handler is function");
+ });
//TODO: add request test here
//jsf.ajax.request
+ test("jsf.ajax.request - ", function() {
+ expect(2);
+
+ RichFaces.ajax.jsfRequest = function (source, event, options) {
+ for (var i=0; i<jsf.ajax.eventHandlers.length;i++) {
+ jsf.ajax.eventHandlers[i]({type:"event", status:"success"});
+ }
+ equals(source.id, "testButton1", "source");
+ equals(event.type, "click", "event");
+ equals(options['AJAX:EVENTS_COUNT'], 1, "options['AJAX:EVENTS_COUNT']");
+ equals(typeof options.parameters, "object", "options.parameters");
+ equals(options.parameters.key, "value", "options.parameters.key");
+ }
+
+ var elements = RichFaces.QUnit.appendDomElements(body,
+ '<form id="testForm">'+
+ '<input id="testButton1" type="button" value="hello" onclick="jsf.ajax.request(this,event,{parameters:{key:\'value\'}})"/>'+
+ '<input id="testButton2" type="button" value="hello" onclick="jsf.ajax.request()"/>'+
+ '</table>'+
+ '</form>');
+
+ document.getElementById("testButton1").click({type:"onclick"});
+ expect(5);
+ //equals(RichFaces.queue.setQueueOptions(), RichFaces.queue);
+ });
});
\ No newline at end of file
14 years, 8 months
JBoss Rich Faces SVN: r16908 - in root/cdk/trunk/plugins/generator/src: main/java/org/richfaces/cdk/xmlconfig/model and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-05-06 06:57:11 -0400 (Thu, 06 May 2010)
New Revision: 16908
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererBean.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java
Log:
fix core-ui build
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-05-06 09:56:55 UTC (rev 16907)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/AttributesProcessorImpl.java 2010-05-06 10:57:11 UTC (rev 16908)
@@ -267,7 +267,7 @@
log.debug(" -- Process Java files.");
Set<BeanProperty> properties = Sets.newHashSet();
properties.addAll(sourceUtils.getBeanPropertiesAnnotatedWith(Attribute.class, element));
-// properties.addAll(sourceUtils.getAbstractBeanProperties(element));
+ properties.addAll(sourceUtils.getAbstractBeanProperties(element));
// TODO - encapsulate attribute builder into utility class.
for (BeanProperty beanProperty : properties) {
processAttribute(beanProperty, component.getOrCreateAttribute(beanProperty.getName()));
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererBean.java 2010-05-06 09:56:55 UTC (rev 16907)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererBean.java 2010-05-06 10:57:11 UTC (rev 16908)
@@ -23,19 +23,17 @@
package org.richfaces.cdk.xmlconfig.model;
-import java.util.Collection;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
import org.richfaces.cdk.model.AttributeModel;
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.ConfigExtension;
-import org.richfaces.cdk.model.PropertyBase;
import org.richfaces.cdk.model.TagModel;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.Collection;
+
/**
* <p class="changed_added_4_0">
* </p>
@@ -43,7 +41,7 @@
* @author asmirnov(a)exadel.com
*/
@XmlType(name = "faces-config-rendererType", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE,
- propOrder = {"family", "type", "rendererClass",/*"facet",*/"facesAttributes", "extension"})
+ propOrder = {"family", "type", "rendererClass", /*"facet",*/"facesAttributes", "extension"})
public class RendererBean extends
ElementBeanBase<RendererBean.RendererExtension> {
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java 2010-05-06 09:56:55 UTC (rev 16907)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/apt/processors/AttributesProcessorTest.java 2010-05-06 10:57:11 UTC (rev 16908)
@@ -27,6 +27,7 @@
import static org.junit.Assert.*;
import java.util.Collections;
+import java.util.HashSet;
import javax.lang.model.element.TypeElement;
@@ -88,6 +89,7 @@
expectLastCall();
BeanProperty beanProperty = createNiceMock(BeanProperty.class);
expect(utils.getBeanPropertiesAnnotatedWith(eq(Attribute.class), same(element))).andReturn(Collections.singleton(beanProperty));
+ expect(utils.getAbstractBeanProperties(same(element))).andReturn(new HashSet<BeanProperty>(0));
expect(beanProperty.getName()).andReturn(FOO);
expect(beanProperty.getType()).andReturn(ClassName.parseName(String.class.getName()));
mockController.replay();replay(element,beanProperty);
@@ -96,9 +98,6 @@
assertEquals(1, bean.getAttributes().size());
}
- /**
- * Test method for {@link org.richfaces.cdk.apt.processors.AttributesProcessorImpl#processXmlFragment(org.richfaces.cdk.model.BeanModelBase, java.lang.String[])}.
- */
@Test
public void testProcessXmlFragment() {
BeanModelBase bean = new BeanModelBase();
14 years, 8 months
JBoss Rich Faces SVN: r16907 - root/framework/trunk/impl/src/main/resources/META-INF/resources.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2010-05-06 05:56:55 -0400 (Thu, 06 May 2010)
New Revision: 16907
Modified:
root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
Log:
https://jira.jboss.org/jira/browse/RF-7894
Modified: root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
===================================================================
--- root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-06 08:41:13 UTC (rev 16906)
+++ root/framework/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-06 09:56:55 UTC (rev 16907)
@@ -91,7 +91,7 @@
};
$.extend(QueueEntry.prototype, {
-
+ // now unused functions: isIgnoreDupResponses, ondrop, clearEntry
isIgnoreDupResponses: function() {
return this.options.ignoreDupResponses;
},
@@ -212,8 +212,9 @@
log.debug("richfaces.queue: Nothing to submit");
return;
}
+ var entry;
if (items[0].getReadyToSubmit()) {
- lastRequestedEntry = items.shift();
+ entry = lastRequestedEntry = items.shift();
log.debug("richfaces.queue: will submit request NOW");
var o = lastRequestedEntry.options;
// copy of event should be created otherwise IE will fail
@@ -221,9 +222,12 @@
//lastRequestedEntry.source.appendParameter("AJAX:EVENTS_COUNT", lastRequestedEntry.eventsCount);
o["AJAX:EVENTS_COUNT"] = lastRequestedEntry.eventsCount;
richfaces.ajax.jsfRequest(lastRequestedEntry.source, e, o);
+
+ // call event handlers
if (o.queueonsubmit) {
o.queueonsubmit.call(lastRequestedEntry);
}
+ callEventHandler("onrequestdequeue", entry);
}
};
@@ -243,6 +247,22 @@
var lastIdx = items.length - 1;
items[lastIdx] = entry;
};
+
+ var callEventHandler = function (handlerName, entry) {
+ var handler = entry.options[handlerName];
+ if (handler) {
+ // what is a context should be??
+ handler.call(null, entry);
+ }
+ var opts, handler2;
+ if (entry.options.queueId &&
+ (opts=defaultQueueOptions[entry.options.queueId]) &&
+ (handler2=opts[handlerName])
+ && handler2!=handler) {
+ // the same about context
+ handler2.call(null, entry);
+ }
+ }
return {
/**
@@ -324,6 +344,10 @@
items.push(entry);
log.debug("New request added to queue.");
}
+ // call event handlers
+ callEventHandler("onrequestqueue", entry);
+
+ // start timer
entry.startTimer();
},
14 years, 8 months