From richfaces-svn-commits at lists.jboss.org Mon Feb 28 23:07:08 2011 Content-Type: multipart/mixed; boundary="===============4770333566975497134==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21994 - in modules/docs/trunk/Component_Reference/src/main/docbook/en-US: extras and 1 other directory. Date: Mon, 28 Feb 2011 23:07:07 -0500 Message-ID: <201103010407.p21477jL014751@svn01.web.mwc.hst.phx2.redhat.com> --===============4770333566975497134== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-02-28 23:07:07 -0500 (Mon, 28 Feb 2011) New Revision: 21994 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Trees.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/exa= m-Component_Reference-richtree-nodeType_attribute.xml_sample Log: Updated tree documentation RFPL-984 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Trees.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Trees.xml 2011-02-28 19:20:20 UTC (rev 21993) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Trees.xml 2011-03-01 04:07:07 UTC (rev 21994) @@ -63,6 +63,7 @@ + If the nodeType attribute returns null, the node is= rendered as a "typeless" (or default) node. The typeless node is the first child <rich:treeNode= > component with a valid rendered attribute= , but without a defined type attribute. @@ -178,9 +180,16 @@ = -
- Identifying nodes +
+ Identifying nodes with the <varname>rowKeyConverter</varname> at= tribute + If the <rich:tree> component uses a custom da= ta model, the data model provides unique keys for tree nodes so they can be= identified during a client request. The <rich:tree> component can use strings as key values. These strings may contain speci= al characters that are not allowed by browsers, such as the left angle brac= ket (<) and ampersand (&). To allow these characters in the keys, a = row key converter must be provided. + + + To apply a converter to the <rich:tree> compo= nent, define it with the rowKeyConverter attribute. + + To apply a converter to the <rich:tree> compo= nent, define it with the rowKeyConverter attribute. demons= trates the use of a converter to identify tree nodes. @@ -222,6 +231,7 @@ + -->
= @@ -464,6 +474,16 @@
= +
+ Identifying nodes + + Adaptors that use Map interfaces or mo= dels with non-string keys require a row key converter in order to correctly= identify nodes. Refer to for details on t= he use of the rowKeyConverter attribute. + + + Adaptors that use Iterable interfaces = have simple integer row keys. A default converter is provided and does not = need to be referenced explicitly. + +
+
Reference data @@ -538,6 +558,16 @@
= +
+ Identifying nodes + + Adaptors that use Map interfaces or mo= dels with non-string keys require a row key converter in order to correctly= identify nodes. Refer to for details on t= he use of the rowKeyConverter attribute. + + + Adaptors that use Iterable interfaces = have simple integer row keys. A default converter is provided and does not = need to be referenced explicitly. + +
+
Reference data Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ext= ras/exam-Component_Reference-richtree-nodeType_attribute.xml_sample =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/ex= am-Component_Reference-richtree-nodeType_attribute.xml_sample 2011-02-28 19= :20:20 UTC (rev 21993) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/ex= am-Component_Reference-richtree-nodeType_attribute.xml_sample 2011-03-01 04= :07:07 UTC (rev 21994) @@ -1,9 +1,9 @@ - + - - + + --===============4770333566975497134==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 01:06:09 2011 Content-Type: multipart/mixed; boundary="===============8548350203505072662==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21995 - modules/docs/trunk/Component_Reference/src/main/docbook/en-US. Date: Tue, 01 Mar 2011 01:06:09 -0500 Message-ID: <201103010606.p21669qI030758@svn01.web.mwc.hst.phx2.redhat.com> --===============8548350203505072662== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-01 01:06:08 -0500 (Tue, 01 Mar 2011) New Revision: 21995 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Menus_and_toolbars.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Output_and_messages.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Panels_and_containers.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Tables_and_grids.xml Log: Completed API details RFPL-1085 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Menus_and_toolbars.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Menus_and_toolbars.xml 2011-03-01 04:07:07 UTC (rev 21994) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Menus_and_toolbars.xml 2011-03-01 06:06:08 UTC (rev 21995) @@ -252,6 +252,23 @@
+ = +
+ JavaScript API + + The <rich:menuItem> component can be cont= rolled through the JavaScript API. The JavaScript API provides the followin= g functions: + + + + activate() + + + Activate the menu item as though it were selected. + + + + +
=
Reference data @@ -342,6 +359,31 @@
--> + = +
+ JavaScript API + + The <rich:menuGroup> component can be con= trolled through the JavaScript API. The JavaScript API provides the followi= ng functions: + + + + show() + + + Show the menu group. + + + + + hide() + + + Hide the menu group. + + + + +
=
Reference data @@ -625,6 +667,39 @@ The <rich:panelMenu> component fires the ItemChangeEvent event on the server side when the menu is ch= anged. The event only fires in the server and a= jax submission modes. The event provides the itemChangeL= istener attribute to reference the event listener.
+ = +
+ JavaScript API + + The <rich:panelMenu> component can be con= trolled through the JavaScript API. The JavaScript API provides the followi= ng functions: + + + + expandAll() + + + Expand all the panel menu groups in the component. + + + + + collapseAll() + + + Collapse all the panel menu groups in the component. + + + + + selectItem(id) + + + Select the menu item with the id i= dentifier. + + + + +
=
Reference data @@ -743,6 +818,39 @@ The <rich:panelMenuGroup> component fires th= e ActionEvent event on the server side when the menu gro= up receives a user action. The event only fires in the server and ajax submission modes. The event provides the = action attribute to specify the user action performed, a= nd the actionListener attribute to reference the event l= istener.
+ = +
+ JavaScript API + + The <rich:panelMenuGroup> component can be= controlled through the JavaScript API. The JavaScript API provides the fol= lowing functions: + + + + expand() + + + Expand this panel menu group. + + + + + collapse() + + + Collapse this panel menu group. + + + + + select(id) + + + Select the menu item with the id id= entifier. + + + + +
=
Reference data @@ -855,6 +963,23 @@ The <rich:panelMenuItem> component fires the= ActionEvent event on the server side when the menu item= receives a user action. The event only fires in the server and ajax submission modes. The event provides the action attribute to specify the user action performed, and= the actionListener attribute to reference the event lis= tener.
+ = +
+ JavaScript API + + The <rich:panelMenuItem> component can be = controlled through the JavaScript API. The JavaScript API provides the foll= owing functions: + + + + select() + + + Select this menu item. + + + + +
=
Reference data Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Output_and_messages.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Output_and_messages.xml 2011-03-01 04:07:07 UTC (rev 21994) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Output_and_messages.xml 2011-03-01 06:06:08 UTC (rev 21995) @@ -418,6 +418,71 @@
= +
+ JavaScript API + + The <rich:progressBar> component can be c= ontrolled through the JavaScript API. The JavaScript API provides the follo= wing functions: + + + + getValue() + + + Return the current value displayed on the progress bar. + + + + + setValue() + + + Set the current value to display on the progress bar. + + + + + getMinValue() + + + Return the minimum value for the progress bar. + + + + + getMaxValue() + + + Return the maximum value for the progress bar. + + + + + disable() + + + Disables the progress bar. + + + + + enable() + + + Enables the progress bar. + + + + + isEnabled() + + + Returns a boolean value indicating whether the progress b= ar is enabled. + + + + +
+ =
Reference data @@ -636,6 +701,31 @@
= +
+ JavaScript API + + The <rich:toolTip> component can be contr= olled through the JavaScript API. The JavaScript API provides the following= functions: + + + + show(event) + + + Show the tool-tip. + + + + + hide(event) + + + Hide the tool-tip. + + + + +
+ =
Reference data Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Panels_and_containers.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Panels_and_containers.xml 2011-03-01 04:07:07 UTC (rev 2199= 4) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Panels_and_containers.xml 2011-03-01 06:06:08 UTC (rev 2199= 5) @@ -623,6 +623,63 @@
= +
+ JavaScript API + + The <rich:popupPanel> component can be co= ntrolled through the JavaScript API. The JavaScript API provides the follow= ing functions: + + + + getTop() + + + Return the top co-ordinate for the position of the pop-up= panel. + + + + + getLeft() + + + Return the left co-ordinate for the position of the pop-u= p panel. + + + + + moveTo(top,left) + + + Move the pop-up panel to the co-ordinates specified with = the top and left parameters. + + + + + resize(width,height) + + + Resize the pop-up panel to the size specified with the width and height parameters. + + + + + show() + + + Show the pop-up panel. + + + + + hide() + + + Hide the pop-up panel. + + + + +
+ =
Reference data Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Tables_and_grids.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-01 04:07:07 UTC (rev 21994) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-01 06:06:08 UTC (rev 21995) @@ -671,6 +671,71 @@
= +
+ JavaScript API + + The <rich:dataScroller> component can be = controlled through the JavaScript API. The JavaScript API provides the foll= owing functions: + + + + switchToPage(pageIndex) + + + Switch to the page specified with the pageInde= x parameter. + + + + + next() + + + Switch to the next page. + + + + + previous() + + + Switch to the previous page. + + + + + first() + + + Switch to the first page. + + + + + last() + + + Switch to the last page. + + + + + fastForward() + + + Step forward through the pages by the fastStep amount. + + + + + fastRewind() + + + Step backward through the pages by the fastStep<= /varname> amount. + + + + +
+ =
Reference data @@ -761,6 +826,55 @@
= +
+ JavaScript API + + The <rich:dataTable> component can be con= trolled through the JavaScript API. The JavaScript API provides the followi= ng functions: + + + + expandAllSubTables() + + + Expand any sub-tables contained in the data table. + + + + + collapseAllSubTables() + + + Collapse any sub-tables contained in the data table. + + + + + switchSubTables() + + + Switch the expanded or collapsed state of any sub-tables = contained in the data table. + + + + + filter(columnId, newFilterValue, [isClearPrevio= usFilters]) + + + Filter the table based on the column specified with the <= parameter>columnId parameter. Use the newFilterValue= parameter as the filter value. The optional isClear= PreviousFilters parameter is a boolean value which, if set to <= literal>true, will clear any previous filters applied to the tabl= e. + + + + + sort(columnId, [direction], [isClearPreviousSor= ting]) + + + Sort the table based on the column specified with the columnId parameter. The option direction parameter specifies whether to sort in ascending or descending ord= er. The optional isClearPreviousSorting parameter is= a boolean value which, if set to true, will clear any p= revious sorting applied to the table. + + + + +
+ =
Reference data @@ -796,7 +910,65 @@ Style classes and skin parameters
+ + + = = @@ -1009,6 +1181,79 @@ = = +
+ JavaScript API + + The <rich:extendedDataTable> component ca= n be controlled through the JavaScript API. The JavaScript API provides the= following functions: + + + + sort() + + + Sort the data table. + + + + + filter() + + + Filter the data table. + + + + + clearSorting() + + + Clear any sorting that is currently applied to the table. + + + + + clearFiltering() + + + Clear any filtering that is currently applied to the tabl= e. + + + + + selectRow(index) + + + Select the row specified by the index parameter. + + + + + selectRows([startIndex, stopIndex])<= /term> + + + Select all the rows in the table. Optionally, select only= those rows between the indexes specified with the startIndex and stopIndex parameters. + + + + + deselectRow + + + Deselect the row that is currently selected. + + + + + setActiveRow(index) + + + Set the active row to that specified by the in= dex parameter. + + + + +
+ =
Reference data --===============8548350203505072662==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 03:58:44 2011 Content-Type: multipart/mixed; boundary="===============7874431090091932058==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21996 - in modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest: richTooltip and 1 other directory. Date: Tue, 01 Mar 2011 03:58:44 -0500 Message-ID: <201103010858.p218wilk015700@svn01.web.mwc.hst.phx2.redhat.com> --===============7874431090091932058== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 03:58:44 -0500 (Tue, 01 Mar 2011) New Revision: 21996 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richTabPanel/TestRichTabPanel.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richTooltip/TestTooltipSimple.java Log: fixed rich:tabPanel testItemChangeListener + removed issue tracking for RF-= 10523, RF-10522 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richTabPanel/TestRichTabPanel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTabPanel/TestRichTabPanel.java 2011-03-01 06:06:08 UT= C (rev 21995) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTabPanel/TestRichTabPanel.java 2011-03-01 08:58:44 UT= C (rev 21996) @@ -24,7 +24,6 @@ import static org.jboss.test.selenium.guard.request.RequestTypeGuardFactor= y.guardHttp; import static org.jboss.test.selenium.guard.request.RequestTypeGuardFactor= y.guardNoRequest; import static org.jboss.test.selenium.guard.request.RequestTypeGuardFactor= y.guardXhr; -import static org.jboss.test.selenium.locator.LocatorFactory.jq; import static org.jboss.test.selenium.utils.URLUtils.buildUrl; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; @@ -181,13 +180,11 @@ } = @Test - @IssueTracking("https://issues.jboss.org/browse/RF-10523") + @RegressionTest("https://issues.jboss.org/browse/RF-10523") public void testItemChangeListener() { selenium.click(inactiveHeaders[2]); waitGui.failWith("Item 3 is not displayed.").until(isDisplayed.loc= ator(itemContents[2])); - - String listenerOutput =3D selenium.getText(jq("div#phasesPanel li:= eq(5)")); - assertEquals(listenerOutput, "* item changed: tab1 -> tab3", "Item= change listener's output"); + phaseInfo.assertListener(PhaseId.UPDATE_MODEL_VALUES, "item change= d: tab1 -> tab3"); } = @Test Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richTooltip/TestTooltipSimple.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTooltip/TestTooltipSimple.java 2011-03-01 06:06:08 UT= C (rev 21995) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTooltip/TestTooltipSimple.java 2011-03-01 08:58:44 UT= C (rev 21996) @@ -50,7 +50,7 @@ import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; import org.richfaces.tests.metamer.ftest.DelayTester; import org.richfaces.tests.metamer.ftest.annotations.Inject; -import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; +import org.richfaces.tests.metamer.ftest.annotations.RegressionTest; import org.richfaces.tests.metamer.ftest.annotations.Use; import org.richfaces.tests.metamer.ftest.annotations.Uses; import org.testng.annotations.Test; @@ -303,7 +303,7 @@ = @Test @Use(field =3D "presetDelay", ints =3D { 0, 1000, 5000 }) - @IssueTracking("https://issues.jboss.org/browse/RF-10522") + @RegressionTest("https://issues.jboss.org/browse/RF-10522") public void testShowDelay() { = attributes.setMode(TooltipMode.client); --===============7874431090091932058==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 04:03:48 2011 Content-Type: multipart/mixed; boundary="===============1205533369620896102==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21997 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest. Date: Tue, 01 Mar 2011 04:03:48 -0500 Message-ID: <201103010903.p2193mk7022254@svn01.web.mwc.hst.phx2.redhat.com> --===============1205533369620896102== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 04:03:46 -0500 (Tue, 01 Mar 2011) New Revision: 21997 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/DelayTester.java Log: changed minimal maximum deviation for DelayTester Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/DelayTester.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/DelayTester.java 2011-03-01 08:58:44 UTC (rev 21996) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/DelayTester.java 2011-03-01 09:03:46 UTC (rev 21997) @@ -82,7 +82,7 @@ } = protected long getMaximumDeviationMedian() { - return getMinMax(200, expectedDelay / 4, 500); + return getMinMax(300, expectedDelay / 4, 500); } = private void validateOnePass() { --===============1205533369620896102==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 04:18:15 2011 Content-Type: multipart/mixed; boundary="===============0127355669107709624==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21998 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richPanelMenu. Date: Tue, 01 Mar 2011 04:18:10 -0500 Message-ID: <201103010918.p219IA2R022837@svn01.web.mwc.hst.phx2.redhat.com> --===============0127355669107709624== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 04:18:10 -0500 (Tue, 01 Mar 2011) New Revision: 21998 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richPanelMenu/TestPanelMenuDOMEvents.java Log: fixed group expanded/collapsed conditions - added isElementPresent condition Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richPanelMenu/TestPanelMenuDOMEvents.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richPanelMenu/TestPanelMenuDOMEvents.java 2011-03-01 09:0= 3:46 UTC (rev 21997) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richPanelMenu/TestPanelMenuDOMEvents.java 2011-03-01 09:1= 8:10 UTC (rev 21998) @@ -38,7 +38,6 @@ import org.jboss.test.selenium.waiting.selenium.SeleniumWaiting; import org.richfaces.PanelMenuMode; import org.richfaces.tests.metamer.ftest.annotations.Inject; -import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; import org.richfaces.tests.metamer.ftest.annotations.Use; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -61,13 +60,13 @@ = SeleniumCondition isGroup2Expanded =3D new SeleniumCondition() { public boolean isTrue() { - return group2.isExpanded(); + return selenium.isElementPresent(group2) && group2.isExpanded(= ); } }; = SeleniumCondition isGroup2Collapsed =3D new SeleniumCondition() { public boolean isTrue() { - return group2.isCollapsed(); + return selenium.isElementPresent(group2) && group2.isCollapsed= (); } }; = @@ -96,7 +95,6 @@ } = @Test - @IssueTracking("https://issues.jboss.org/browse/RF-10481") @Use(field =3D "mode", enumeration =3D true) public void testCollapseEvent() { attributes.setCollapseEvent(event.getEventName()); --===============0127355669107709624==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 07:30:45 2011 Content-Type: multipart/mixed; boundary="===============6216205859163613029==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r21999 - management/design-4x/dropDownMenu-new. Date: Tue, 01 Mar 2011 07:30:45 -0500 Message-ID: <201103011230.p21CUjaD014272@svn01.web.mwc.hst.phx2.redhat.com> --===============6216205859163613029== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: Ochikvina Date: 2011-03-01 07:30:45 -0500 (Tue, 01 Mar 2011) New Revision: 21999 Modified: management/design-4x/dropDownMenu-new/dropDownMenu_new.html Log: RF-10630 Modified: management/design-4x/dropDownMenu-new/dropDownMenu_new.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- management/design-4x/dropDownMenu-new/dropDownMenu_new.html 2011-03-01 = 09:18:10 UTC (rev 21998) +++ management/design-4x/dropDownMenu-new/dropDownMenu_new.html 2011-03-01 = 12:30:45 UTC (rev 21999) @@ -28,9 +28,15 @@ position:relative; } .rf-ddm-unsel { - border:0 solid transparent; + border:1px solid transparent; padding:3px 6px; } + .rf-ddm-sel { + background : url(images/menu_item_bg.gif) /*from additionalBackground= Color (top) to tabBackgroundColor (bottom)*/ repeat-x bottom left #ECF4FE /= *additionalBackgroundColor*/; + border : 1px solid #BED6F8; /*headerBackgroundColor*/ + cursor:pointer; + padding:3px 6px; + } .rf-ddm{ height:auto; padding:2px 5px; @@ -50,7 +56,7 @@ font-weight:bold; } .rf-ddm-lst { = - border:1px solid #bfbfc0; /*panelBorderColor*/ + border:1px solid #BED6F8; /*panelBorderColor*/ background-color: #e7f2fb; /*additionalBackgroundColor*/ min-width:250px; position:absolute; @@ -76,10 +82,10 @@ padding : 1px 36px 2px 2px; } .rf-ddm-itm-sel { - border : 1px solid #4a70ab; /*headerBackgroundColor*/ + background : url(images/menu_item_bg.gif) /*from additionalBackground= Color (top) to tabBackgroundColor (bottom)*/ repeat-x bottom left #ECF4FE /= *additionalBackgroundColor*/; + border : 1px solid #BED6F8; /*headerBackgroundColor*/ cursor : pointer; = padding : 1px 36px 2px 2px; - background : url(menu_item_bg.gif) /*from additionalBackgroundColor (= top) to tabBackgroundColor (bottom)*/ repeat-x top #a9c5e7; z-index:10; } .rf-ddm-itm-dis { @@ -100,7 +106,7 @@ } .rf-ddm-sep { font-size : 0px; = - border-top: 1px solid #bfbfc0; /*panelBorderColor*/ + border-top: 1px solid #BED6F8; /*panelBorderColor*/ margin : 2px 0px 2px 24px; } .rf-ddm-nd { = @@ -129,7 +135,7 @@ =

DropDownMenu

-
+
3D"Menu File
--===============6216205859163613029==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 07:54:14 2011 Content-Type: multipart/mixed; boundary="===============1284784354954779750==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22000 - management/design-4x/dropDownMenu-new. Date: Tue, 01 Mar 2011 07:54:13 -0500 Message-ID: <201103011254.p21CsDLk015210@svn01.web.mwc.hst.phx2.redhat.com> --===============1284784354954779750== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: Ochikvina Date: 2011-03-01 07:54:13 -0500 (Tue, 01 Mar 2011) New Revision: 22000 Modified: management/design-4x/dropDownMenu-new/dropDownMenu_new.html Log: RF-10631 Modified: management/design-4x/dropDownMenu-new/dropDownMenu_new.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- management/design-4x/dropDownMenu-new/dropDownMenu_new.html 2011-03-01 = 12:30:45 UTC (rev 21999) +++ management/design-4x/dropDownMenu-new/dropDownMenu_new.html 2011-03-01 = 12:54:13 UTC (rev 22000) @@ -23,8 +23,6 @@ = /*--- RF DropDownMenu styles ---*/ .rf-ddm{ - font-family:Arial, Verdana, sans-serif; - font-size:11px; position:relative; } .rf-ddm-unsel { @@ -53,7 +51,9 @@ position:absolute; } .rf-ddm-lbl { - font-weight:bold; + font-family:Arial, Verdana, sans-serif; /*generalFamilyFont*/ + font-size:11px; /*generalSizeFont*/ + font-weight:bold; /*headerWeightFont*/ } .rf-ddm-lst { = border:1px solid #BED6F8; /*panelBorderColor*/ @@ -73,8 +73,8 @@ .rf-ddm-itm { padding : 1px 35px 1px 1px; = white-space : nowrap; = - font-family : verdana; /*generalFamilyFont*/ - font-size : 12px; /*generalSizeFont*/ + font-family:Arial, Verdana, sans-serif; /*generalFamilyFont*/ + font-size:11px; /*generalSizeFont*/ position : relative; } .rf-ddm-itm-unsel { @@ -102,6 +102,7 @@ color : #000000; /*generalTextColor*/ display:inline-block; text-decoration : none; + vertical-align:middle; z-index:2; } .rf-ddm-sep { --===============1284784354954779750==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 08:51:11 2011 Content-Type: multipart/mixed; boundary="===============1755276415961547397==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22001 - modules/tests/archetypes/richfaces-simpleapp-ftest/trunk. Date: Tue, 01 Mar 2011 08:51:11 -0500 Message-ID: <201103011351.p21DpB30022707@svn01.web.mwc.hst.phx2.redhat.com> --===============1755276415961547397== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 08:51:11 -0500 (Tue, 01 Mar 2011) New Revision: 22001 Modified: modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml Log: [maven-release-plugin] prepare release richfaces-simpleapp-ftest-4.0.0.2011= 0227-CR1 Modified: modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml 2011-0= 3-01 12:54:13 UTC (rev 22000) +++ modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml 2011-0= 3-01 13:51:11 UTC (rev 22001) @@ -30,14 +30,14 @@ = org.richfaces.tests.archetypes richfaces-simpleapp-ftest - 4.0.0-SNAPSHOT + 4.0.0.20110227-CR1 richfaces-simpleapp-ftest Functional Test for richfaces-archetype-simpleapp = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/modules/tes= ts/archetypes/richfaces-simpleapp-ftest/trunk - scm:svn:https://svn.jboss.org/repos/richfaces/modul= es/tests/archetypes/richfaces-simpleapp-ftest/trunk - http://fisheye.jboss.org/browse/RichFaces/modules/tests/archetypes/= richfaces-simpleapp-ftest/trunk + scm:svn:http://anonsvn.jboss.org/repos/richfaces/modules/tes= ts/archetypes/richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftest-4.0.= 0.20110227-CR1 + scm:svn:https://svn.jboss.org/repos/richfaces/modul= es/tests/archetypes/richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftes= t-4.0.0.20110227-CR1 + http://fisheye.jboss.org/browse/RichFaces/modules/tests/archetypes/= richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftest-4.0.0.20110227-CR1= = --===============1755276415961547397==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 08:51:37 2011 Content-Type: multipart/mixed; boundary="===============1032663217444132919==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22002 - modules/tests/archetypes/richfaces-simpleapp-ftest/tags. Date: Tue, 01 Mar 2011 08:51:36 -0500 Message-ID: <201103011351.p21DpaFk022738@svn01.web.mwc.hst.phx2.redhat.com> --===============1032663217444132919== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 08:51:36 -0500 (Tue, 01 Mar 2011) New Revision: 22002 Added: modules/tests/archetypes/richfaces-simpleapp-ftest/tags/richfaces-simple= app-ftest-4.0.0.20110227-CR1/ Log: [maven-scm] copy for tag richfaces-simpleapp-ftest-4.0.0.20110227-CR1 --===============1032663217444132919==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 08:51:45 2011 Content-Type: multipart/mixed; boundary="===============0038920152316418122==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22003 - modules/tests/archetypes/richfaces-simpleapp-ftest/trunk. Date: Tue, 01 Mar 2011 08:51:45 -0500 Message-ID: <201103011351.p21DpjQB022748@svn01.web.mwc.hst.phx2.redhat.com> --===============0038920152316418122== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-01 08:51:45 -0500 (Tue, 01 Mar 2011) New Revision: 22003 Modified: modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml Log: [maven-release-plugin] prepare for next development iteration Modified: modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml 2011-0= 3-01 13:51:36 UTC (rev 22002) +++ modules/tests/archetypes/richfaces-simpleapp-ftest/trunk/pom.xml 2011-0= 3-01 13:51:45 UTC (rev 22003) @@ -30,14 +30,14 @@ = org.richfaces.tests.archetypes richfaces-simpleapp-ftest - 4.0.0.20110227-CR1 + 4.0.0-SNAPSHOT richfaces-simpleapp-ftest Functional Test for richfaces-archetype-simpleapp = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/modules/tes= ts/archetypes/richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftest-4.0.= 0.20110227-CR1 - scm:svn:https://svn.jboss.org/repos/richfaces/modul= es/tests/archetypes/richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftes= t-4.0.0.20110227-CR1 - http://fisheye.jboss.org/browse/RichFaces/modules/tests/archetypes/= richfaces-simpleapp-ftest/tags/richfaces-simpleapp-ftest-4.0.0.20110227-CR1= + scm:svn:http://anonsvn.jboss.org/repos/richfaces/modules/tes= ts/archetypes/richfaces-simpleapp-ftest/trunk + scm:svn:https://svn.jboss.org/repos/richfaces/modul= es/tests/archetypes/richfaces-simpleapp-ftest/trunk + http://fisheye.jboss.org/browse/RichFaces/modules/tests/archetypes/= richfaces-simpleapp-ftest/trunk = --===============0038920152316418122==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 1 09:27:16 2011 Content-Type: multipart/mixed; boundary="===============1827065862822565221==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22004 - in branches/4.0.X/ui/output/ui/src: test/resources/org/richfaces/renderkit/html and 1 other directory. Date: Tue, 01 Mar 2011 09:27:15 -0500 Message-ID: <201103011427.p21ERF0v029912@svn01.web.mwc.hst.phx2.redhat.com> --===============1827065862822565221== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-01 09:27:15 -0500 (Tue, 01 Mar 2011) New Revision: 22004 Modified: branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/T= abPanelRenderer.java branches/4.0.X/ui/output/ui/src/test/resources/org/richfaces/renderkit/h= tml/tab.xmlunit.xml branches/4.0.X/ui/output/ui/src/test/resources/org/richfaces/renderkit/h= tml/tabPanel.xmlunit.xml Log: https://issues.jboss.org/browse/RF-10634 Tab panel: attribute style doesn't= work correctly. The fix was reviewed by Gleb Galkin. Modified: branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit= /html/TabPanelRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/= TabPanelRenderer.java 2011-03-01 13:51:45 UTC (rev 22003) +++ branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/= TabPanelRenderer.java 2011-03-01 14:27:15 UTC (rev 22004) @@ -140,7 +140,7 @@ = @Override protected String getStyle(UIComponent component) { - return concatStyles(attributeAsString(component, "style"), "width:= 100%;"); + return attributeAsString(component, "style"); } = @Override Modified: branches/4.0.X/ui/output/ui/src/test/resources/org/richfaces/rend= erkit/html/tab.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/output/ui/src/test/resources/org/richfaces/renderkit/= html/tab.xmlunit.xml 2011-03-01 13:51:45 UTC (rev 22003) +++ branches/4.0.X/ui/output/ui/src/test/resources/org/richfaces/renderkit/= html/tab.xmlunit.xml 2011-03-01 14:27:15 UTC (rev 22004) @@ -1,4 +1,4 @@ -
+
\ No newline at end of file --===============2983524509024261660==-- From richfaces-svn-commits at lists.jboss.org Fri Mar 4 14:24:43 2011 Content-Type: multipart/mixed; boundary="===============5600605317508719087==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22065 - branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component. Date: Fri, 04 Mar 2011 14:24:41 -0500 Message-ID: <201103041924.p24JOf7H017104@svn01.web.mwc.hst.phx2.redhat.com> --===============5600605317508719087== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-04 14:24:40 -0500 (Fri, 04 Mar 2011) New Revision: 22065 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstract= CommandButton.java Log: https://issues.jboss.org/browse/RF-10702 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/A= bstractCommandButton.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstrac= tCommandButton.java 2011-03-04 14:45:44 UTC (rev 22064) +++ branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstrac= tCommandButton.java 2011-03-04 19:24:40 UTC (rev 22065) @@ -25,6 +25,7 @@ import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; = +import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.JsfRenderer; import org.richfaces.cdk.annotations.Tag; @@ -45,6 +46,9 @@ = public static final String COMPONENT_FAMILY =3D UICommand.COMPONENT_FA= MILY; = + @Attribute + public abstract String getImage(); + = public String resolveClientId(FacesContext facesContext, UIComponent c= ontextComponent, String metaComponentId) { return null; } --===============5600605317508719087==-- From richfaces-svn-commits at lists.jboss.org Fri Mar 4 17:55:39 2011 Content-Type: multipart/mixed; boundary="===============3684406486611051737==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22066 - in branches/4.0.X: examples/validator-demo/src/main/java/org/richfaces/example and 12 other directories. Date: Fri, 04 Mar 2011 17:55:39 -0500 Message-ID: <201103042255.p24Mtdkt023574@svn01.web.mwc.hst.phx2.redhat.com> --===============3684406486611051737== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: alexsmirnov Date: 2011-03-04 17:55:38 -0500 (Fri, 04 Mar 2011) New Revision: 22066 Added: branches/4.0.X/examples/validator-demo/src/main/java/org/richfaces/examp= le/PasswordValidationBean.java branches/4.0.X/examples/validator-demo/src/main/webapp/examples/password= Validation.xhtml branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ric= hfaces.showcase/ branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ric= hfaces.showcase/test.xhtml branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ric= hfaces.showcase/test1.xhtml branches/4.0.X/examples/validator-demo/src/main/webapp/richfaces/ branches/4.0.X/examples/validator-demo/src/main/webapp/richfaces/graphVa= lidator/ branches/4.0.X/examples/validator-demo/src/main/webapp/richfaces/graphVa= lidator/samples/ Removed: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Clo= nedObjectResolver.java Modified: branches/4.0.X/examples/template/src/main/webapp/layout/pagesList.xhtml branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueDesc= riptor.java branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueExpr= essionAnalayser.java branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/validator/Gr= aphValidatorState.java branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/component/Abs= tractGraphValidator.java branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/CapturingE= LContext.java branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpre= ssionAnalayserImpl.java branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Bea= nValidatorServiceImpl.java branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBase= .java branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptur= eEL.java branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpre= ssionAnalayserTest.java Log: Nick's code reviewed. = RESOLVED - issue RF-10610: BeanValidator ignores javax.faces.el.CompositeCo= mponentExpressionHolder = https://issues.jboss.org/browse/RF-10610 https://issues.jboss.org/browse/RF-10456 Modified: branches/4.0.X/examples/template/src/main/webapp/layout/pagesList= .xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/template/src/main/webapp/layout/pagesList.xhtml= 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/examples/template/src/main/webapp/layout/pagesList.xhtml= 2011-03-04 22:55:38 UTC (rev 22066) @@ -8,7 +8,7 @@ - #{page.title} + Added: branches/4.0.X/examples/validator-demo/src/main/java/org/richfaces/e= xample/PasswordValidationBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/java/org/richfaces/exam= ple/PasswordValidationBean.java (rev 0) +++ branches/4.0.X/examples/validator-demo/src/main/java/org/richfaces/exam= ple/PasswordValidationBean.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -0,0 +1,49 @@ +package org.richfaces.example; + +import java.io.Serializable; + +import javax.faces.application.FacesMessage; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.faces.context.FacesContext; +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.Size; + +(a)ManagedBean +(a)SessionScoped +public class PasswordValidationBean implements Cloneable, Serializable{ + /** + * = + */ + private static final long serialVersionUID =3D 1952428504080910113L; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for password") + private String password=3D""; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for confirmation") + private String confirm=3D""; + + @AssertTrue(message =3D "Different passwords entered!") + public boolean isPasswordsEquals() { + return password.equals(confirm); + } + + public void storeNewPassword() { + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_INFO, "Succesfully chan= ged!", "Succesfully changed!")); + } + + public void setPassword(String password) { + this.password =3D password; + } + + public void setConfirm(String confirm) { + this.confirm =3D confirm; + } + + public String getPassword() { + return password; + } + + public String getConfirm() { + return confirm; + } = +} Property changes on: branches/4.0.X/examples/validator-demo/src/main/java/o= rg/richfaces/example/PasswordValidationBean.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/4.0.X/examples/validator-demo/src/main/webapp/examples/pass= wordValidation.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/webapp/examples/passwor= dValidation.xhtml (rev 0) +++ branches/4.0.X/examples/validator-demo/src/main/webapp/examples/passwor= dValidation.xhtml 2011-03-04 22:55:38 UTC (rev 22066) @@ -0,0 +1,91 @@ + + + + + + +

<csv:graphValidator> usage, password validation

+
+ + + + + + + + + + + Simple + + + + + + + + + + + + + + + + + +
+ + Test + + + + + + + + +
+ + Test A + + + + + + + +
+ + Test1 + + + + + + +
+
\ No newline at end of file Property changes on: branches/4.0.X/examples/validator-demo/src/main/webapp= /examples/passwordValidation.xhtml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org= .richfaces.showcase/test.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test.xhtml (rev 0) +++ branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test.xhtml 2011-03-04 22:55:38 UTC (rev 22066) @@ -0,0 +1,30 @@ + + + +panel + + + + + + + + + + + + + + + + + + Property changes on: branches/4.0.X/examples/validator-demo/src/main/webapp= /resources/org.richfaces.showcase/test.xhtml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org= .richfaces.showcase/test1.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test1.xhtml (rev 0) +++ branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test1.xhtml 2011-03-04 22:55:38 UTC (rev 22066) @@ -0,0 +1,40 @@ + + + +panel + + + + + + + + + #{cc.attrs.bean} a + + + + + + + + + + + + + + + + + + + Property changes on: branches/4.0.X/examples/validator-demo/src/main/webapp= /resources/org.richfaces.showcase/test1.xhtml ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/Va= lueDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueDes= criptor.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueDes= criptor.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -14,24 +14,17 @@ = private final Class beanType; = - private final Class propertyType; - /** * @param beanType * @param name * @param propertyType * @param readOnly */ - public ValueDescriptor(Class beanType, String name, Class proper= tyType) { + public ValueDescriptor(Class beanType, String name) { this.beanType =3D beanType; this.name =3D name; - this.propertyType =3D propertyType; } = - public ValueDescriptor(Class beanType, String name) { - this(beanType,name,Object.class); - } - /** * @return the name */ @@ -47,13 +40,6 @@ return beanType; } = - /** - * @return the propertyType - */ - public Class getPropertyType() { - return propertyType; - } - /* (non-Javadoc) * @see java.lang.Object#hashCode() */ Modified: branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/Va= lueExpressionAnalayser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueExp= ressionAnalayser.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/el/ValueExp= ressionAnalayser.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -3,6 +3,7 @@ */ package org.richfaces.el; = +import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = @@ -13,6 +14,8 @@ */ public interface ValueExpressionAnalayser { = - ValueDescriptor getPropertyDescriptor(FacesContext context, ValueExpre= ssion expression); + ValueDescriptor getPropertyDescriptor(FacesContext context, ValueExpre= ssion expression) throws ELException; = + ValueDescriptor updateValueAndGetPropertyDescriptor(FacesContext conte= xt, ValueExpression expression, Object newValue) throws ELException; + = } Modified: branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/valid= ator/GraphValidatorState.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/validator/G= raphValidatorState.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/api/src/main/java/org/richfaces/validator/G= raphValidatorState.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -1,12 +1,21 @@ package org.richfaces.validator; = +import java.util.IdentityHashMap; +import java.util.Map; = +import javax.faces.context.FacesContext; + + public final class GraphValidatorState { - public static final String STATE_ATTRIBUTE_PREFIX =3D "org.richfaces.G= raphValidator:"; - boolean active =3D false; - Object cloned; - Object base; - Object property; + public static final String STATE_ATTRIBUTE =3D "org.richfaces.GraphVal= idator:"; + private boolean active =3D false; + private final Object cloned; + = + = + public GraphValidatorState(Object cloned) { + this.cloned =3D cloned; + } + = /** * @return the active */ @@ -29,57 +38,28 @@ return cloned; } = - /** - * @param cloned - * the cloned to set - */ - public void setCloned(Object cloned) { - this.cloned =3D cloned; + public static Object getActiveClone(FacesContext context,Object base){ + GraphValidatorState state =3D getState(context, base); + if(null =3D=3D state || !state.isActive()){ + return null; + } + return state.getCloned(); } = - /** - * @return the base - */ - public Object getBase() { - return base; + public static GraphValidatorState getState(FacesContext context,Object= base){ + return getStateMap(context).get(base); } = - /** - * @param base - * the base to set - */ - public void setBase(Object base) { - this.base =3D base; + public static void setState(FacesContext context,Object base,GraphVali= datorState state){ + getStateMap(context).put(base, state); } - - /** - * @return the property - */ - public Object getProperty() { - return property; - } - - /** - * @param property - * the property to set - */ - public void setProperty(Object property) { - this.property =3D property; - } - - public boolean isSameBase(Object base) { - return (null =3D=3D base && null =3D=3D this.base) || (base =3D=3D= this.base); - } - - public boolean isSameProperty(Object property) { - if (null =3D=3D this.property) { - return null =3D=3D property; - } else { - return this.property.equals(property); + = + private static Map getStateMap(FacesConte= xt context){ + IdentityHashMap statesMap =3D (Identi= tyHashMap) context.getAttributes().get(STATE_A= TTRIBUTE); + if(null =3D=3D statesMap){ + statesMap =3D new IdentityHashMap= (); + context.getAttributes().put(STATE_ATTRIBUTE, statesMap); } + return statesMap; } - - public boolean isSame(Object base, Object property) { - return isSameBase(base) && isSameProperty(property) && active; - } } \ No newline at end of file Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/compon= ent/AbstractGraphValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/component/Ab= stractGraphValidator.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/component/Ab= stractGraphValidator.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -25,7 +25,6 @@ import java.lang.reflect.Modifier; import java.util.Collection; = -import javax.el.ELContext; import javax.el.ValueExpression; import javax.faces.FacesException; import javax.faces.application.FacesMessage; @@ -38,8 +37,6 @@ import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; -import org.richfaces.el.CapturingELResolver; -import org.richfaces.el.ELContextWrapper; import org.richfaces.log.Logger; import org.richfaces.log.RichfacesLogger; import org.richfaces.validator.BeanValidatorService; @@ -122,38 +119,26 @@ @Override public void processDecodes(FacesContext context) { GraphValidatorState validatorState =3D null; - // Detect value EL-expression. - ValueExpression valueExpression =3D getValueExpression("value"); - if (null !=3D valueExpression) { - - Object value =3D getValue(); - if (null !=3D value && value instanceof Cloneable) { + boolean wasActive =3D false; + Object value =3D getValue(); + if (null !=3D value) { + validatorState =3D GraphValidatorState.getState(context, value= ); + if (null !=3D validatorState) { + // Reuse old value, if any. + wasActive =3D validatorState.isActive(); + validatorState.setActive(true); + } else if (value instanceof Cloneable) { try { - ELContext initialELContext =3D context.getELContext(); - - CapturingELResolver capturingELResolver =3D new Captur= ingELResolver(initialELContext.getELResolver()); - Class type =3D - valueExpression.getType(new ELContextWrapper(initi= alELContext, capturingELResolver)); - if (null !=3D type) { - validatorState =3D new GraphValidatorState(); - Method method =3D getCloneMethod(value.getClass()); - if (!Modifier.isPublic(method.getModifiers())) { - // Method Object#clone() is protected by defau= lt. Make it public - // unless developer did it. - method.setAccessible(true); - } - validatorState.setCloned(method.invoke(value)); - validatorState.setBase(capturingELResolver.getBase= ()); - validatorState.setProperty(capturingELResolver.get= Property()); - validatorState.setActive(true); - context.getExternalContext().getRequestMap().put(g= etStateId(context), validatorState); - } + Method method =3D getCloneMethod(value.getClass()); + validatorState =3D new GraphValidatorState(method.invo= ke(value)); + validatorState.setActive(true); + GraphValidatorState.setState(context, value, validator= State); } catch (NoSuchMethodException e) { - // do nothing, that is really not possible. + // do nothing, that is really not possible - clone() i= mpemented in Object. } catch (InvocationTargetException e) { throw new FacesException(e); } catch (IllegalArgumentException e) { - // do nothing, that is really not possible. + // do nothing, that is really not possible - method ha= s no arguments. } catch (IllegalAccessException e) { throw new FacesException(e); } @@ -161,7 +146,7 @@ } super.processDecodes(context); if (null !=3D validatorState) { - validatorState.setActive(false); + validatorState.setActive(wasActive); } } = @@ -170,41 +155,57 @@ return clazz.getDeclaredMethod("clone"); } catch (NoSuchMethodException e) { if (null !=3D clazz.getSuperclass()) { - return getCloneMethod(clazz.getSuperclass()); + Method method =3D getCloneMethod(clazz.getSuperclass()); + if (!Modifier.isPublic(method.getModifiers())) { + // Method Object#clone() is protected by default. Make= it public + // unless developer did it. + method.setAccessible(true); + } + return method; } else { throw e; } } } = - protected String getStateId(FacesContext context) { - String stateId =3D GraphValidatorState.STATE_ATTRIBUTE_PREFIX + ge= tClientId(context); - return stateId; - } = protected GraphValidatorState getValidatorState(FacesContext context) { - return (GraphValidatorState) context.getExternalContext().getReque= stMap().get(getStateId(context)); + Object value =3D getValue(); + if (null !=3D value) { + return GraphValidatorState.getState(context, value); + } else { + return null; + } } = @Override public void processValidators(FacesContext context) { GraphValidatorState validatorState =3D getValidatorState(context); if (null !=3D validatorState) { + boolean wasActive =3D validatorState.isActive(); validatorState.setActive(true); + super.processValidators(context); + validatorState.setActive(wasActive); + if(!context.isValidationFailed()){ + validateObject(context, validatorState.getCloned()); + } + } else { + super.processValidators(context); } - super.processValidators(context); - if (null !=3D validatorState) { - validatorState.setActive(false); - validateObject(context, validatorState.getCloned()); - context.getExternalContext().getRequestMap().remove(getStateId= (context)); - } } = @Override public void processUpdates(FacesContext context) { super.processUpdates(context); - Object value =3D getValue(); - validateObject(context, value); + // Validate updated object if it was not done on clone. + if (!context.isValidationFailed()) { + Object value =3D getValue(); + if (null !=3D value) { + if (null =3D=3D GraphValidatorState.getState(context, valu= e)) { + validateObject(context, value); + } + } + } } = private void validateObject(FacesContext context, Object value) { Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/Cap= turingELContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/Capturing= ELContext.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/Capturing= ELContext.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -4,14 +4,21 @@ package org.richfaces.el; = import java.beans.FeatureDescriptor; +import java.util.Collection; import java.util.Iterator; import java.util.Locale; +import java.util.Map; = import javax.el.ELContext; import javax.el.ELResolver; import javax.el.FunctionMapper; +import javax.el.ValueExpression; import javax.el.VariableMapper; +import javax.faces.context.FacesContext; +import javax.faces.el.CompositeComponentExpressionHolder; = +import org.richfaces.validator.GraphValidatorState; + /** * This class wraps original ELContext and capture whole call stack to the= target object so it could be used to extract * semantic information like annotations or Jena Model properties. @@ -36,6 +43,37 @@ return reference; } = + private boolean isContainerObject(Object base) { + return base instanceof Collection || base instanceof Map || base.g= etClass().isArray(); + } + + public boolean hasReferenceExpression() { + return reference !=3D null && reference.getBase() instanceof Compo= siteComponentExpressionHolder; + } + + public ValueExpression getReferenceExpression() { + CompositeComponentExpressionHolder expressionHolder =3D (Composite= ComponentExpressionHolder) reference.getBase(); + return expressionHolder.getExpression(reference.getProperty().toSt= ring()); + } + + public ValueDescriptor getDescriptor() { + ValueReference localReference =3D reference; + + while (true) { + if (localReference =3D=3D null || localReference.getBase() =3D= =3D null || localReference.getProperty() =3D=3D null) { + return null; + } + + Object base =3D localReference.getBase(); + + if (isContainerObject(base) && localReference.hasNext()) { + localReference =3D localReference.next(); + } else { + return new ValueDescriptor(base.getClass(), localReference= .getProperty().toString()); + } + } + } + /* * (non-Javadoc) * = @@ -88,6 +126,7 @@ private final class InterceptingResolver extends ELResolver { = private ELResolver delegate; + private boolean clonedObject; = public InterceptingResolver(ELResolver delegate) { this.delegate =3D delegate; @@ -97,6 +136,11 @@ @Override public void setValue(ELContext context, Object base, Object proper= ty, Object value) { if (base !=3D null) { + // TODO - detect value object from inderect references ( e= .g. data table variables ). + if (this.clonedObject) { + delegate.setValue(context, base, property, value); + } + context.setPropertyResolved(true); reference =3D new ValueReference(base, property, reference= ); } @@ -107,7 +151,16 @@ @Override public Object getValue(ELContext context, Object base, Object prop= erty) { reference =3D new ValueReference(base, property, reference); - return delegate.getValue(context, base, property); + Object value =3D delegate.getValue(context, base, property); + if (null !=3D value && context.isPropertyResolved()) { + FacesContext facesContext =3D (FacesContext) context.getCo= ntext(FacesContext.class); + Object clone =3D GraphValidatorState.getActiveClone(facesC= ontext, value); + if (null !=3D clone) { + this.clonedObject =3D true; + return clone; + } + } + return value; } = @Override Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/Val= ueExpressionAnalayserImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpr= essionAnalayserImpl.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpr= essionAnalayserImpl.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -1,25 +1,96 @@ package org.richfaces.el; = +import javax.el.ELContext; import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = public class ValueExpressionAnalayserImpl implements ValueExpressionAnalay= ser { = - public ValueDescriptor getPropertyDescriptor(FacesContext context, Val= ueExpression expression) throws ELException { - if(null =3D=3D context || null =3D=3D expression){ - throw new NullPointerException(); + private abstract static class ValueResolutionCommand { + = + private ValueDescriptor valueDescriptor; + = + public ValueDescriptor getValueDescriptor() { + return valueDescriptor; } - CapturingELContext capturingContext =3D new CapturingELContext(con= text.getELContext()); - Class type =3D expression.getType(capturingContext); - ValueReference reference =3D capturingContext.getReference(); - if(null !=3D reference && null !=3D reference.getBase() && null != =3D reference.getProperty()){ - // TODO - detect arrays, maps and lists. Check JSF implementat= ion code - seems that Mojarra dosn't validate such fields. - ValueDescriptor descriptor =3D new ValueDescriptor(reference.g= etBase().getClass(),reference.getProperty().toString(),type); - return descriptor; - } else { - throw new ELException("Cannot determine property for expressio= n "+expression.getExpressionString()); + + void setValueDescriptor(ValueDescriptor valueDescriptor) { + this.valueDescriptor =3D valueDescriptor; } + = + public abstract void resolve(ValueExpression expression, ELContext= context); + = } + = + private static final class GetTypeCommand extends ValueResolutionComma= nd { = + @Override + public void resolve(ValueExpression expression, ELContext context)= { + expression.getType(context); + } + } + = + private static final class SetValueCommand extends ValueResolutionComm= and { + + private Object value; + = + public SetValueCommand(Object value) { + super(); + this.value =3D value; + } + + @Override + public void resolve(ValueExpression expression, ELContext context)= { + expression.setValue(context, value); + } + = + } + = + private void checkNotNull(FacesContext context, ValueExpression expres= sion) { + if (context =3D=3D null) { + throw new NullPointerException("facesContext"); + } + = + if (expression =3D=3D null) { + throw new NullPointerException("expression"); + } + } + = + private void resolveValue(FacesContext context, ValueExpression initia= lExpression, ValueResolutionCommand command) throws ELException { + checkNotNull(context, initialExpression); + = + ValueExpression expression =3D initialExpression; + = + while (expression !=3D null) { + CapturingELContext capturingContext =3D new CapturingELContext= (context.getELContext()); + command.resolve(expression, capturingContext); + + if (capturingContext.hasReferenceExpression()) { + expression =3D capturingContext.getReferenceExpression(); + } else { + ValueDescriptor result =3D capturingContext.getDescriptor(= ); + + if (result =3D=3D null) { + throw new ELException("Cannot determine property for e= xpression " + initialExpression.getExpressionString()); + } + = + command.setValueDescriptor(result); + break; + } + } + } + = + public ValueDescriptor getPropertyDescriptor(FacesContext context, Val= ueExpression expression) throws ELException { + ValueResolutionCommand command =3D new GetTypeCommand(); + resolveValue(context, expression, command); + return command.getValueDescriptor(); + } + + public ValueDescriptor updateValueAndGetPropertyDescriptor(FacesContex= t context, ValueExpression expression, Object newValue) throws ELException { + ValueResolutionCommand command =3D new SetValueCommand(newValue); + resolveValue(context, expression, command); + return command.getValueDescriptor(); + } + = } Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/valida= tor/BeanValidatorServiceImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Be= anValidatorServiceImpl.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Be= anValidatorServiceImpl.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -3,23 +3,17 @@ */ package org.richfaces.validator; = -import java.beans.FeatureDescriptor; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.EmptyStackException; import java.util.HashSet; -import java.util.Iterator; import java.util.Locale; import java.util.Map; import java.util.Set; -import java.util.Stack; = -import javax.el.ELContext; import javax.el.ELException; -import javax.el.ELResolver; import javax.el.ValueExpression; import javax.faces.FacesException; import javax.faces.application.FacesMessage; @@ -30,7 +24,6 @@ import javax.validation.metadata.ElementDescriptor.ConstraintFinder; import javax.validation.metadata.PropertyDescriptor; = -import org.richfaces.el.ELContextWrapper; import org.richfaces.el.ValueDescriptor; import org.richfaces.el.ValueExpressionAnalayser; = @@ -64,6 +57,11 @@ Class... groups) { try { ValueDescriptor propertyDescriptor =3D analayser.getPropertyDe= scriptor(context, expression); + = + if (propertyDescriptor =3D=3D null) { + return Collections.emptySet(); + } + = return processBeanAttribute(context, propertyDescriptor, group= s); } catch (ELException e) { return Collections.emptySet(); @@ -147,66 +145,36 @@ = public Collection validateExpression(FacesContext context, Val= ueExpression expression, Object newValue, Class... groups) { + = if (null =3D=3D context) { throw new FacesException(INPUT_PARAMETERS_IS_NOT_CORRECT); } - Collection validationMessages =3D Collections.emptySet(); + = + Collection validationMessages =3D null; if (null !=3D expression) { - ELContext elContext =3D context.getELContext(); - ValidationResolver validationResolver =3D - createValidationResolver(context, elContext.getELResolver(= ), groups); - ELContextWrapper wrappedElContext =3D new ELContextWrapper(elC= ontext, validationResolver); + ValueDescriptor valueDescriptor; try { - expression.setValue(wrappedElContext, newValue); + valueDescriptor =3D analayser.updateValueAndGetPropertyDes= criptor(context, expression, newValue); } catch (ELException e) { throw new FacesException(e); } - if (!validationResolver.isValid()) { - validationMessages =3D validationResolver.getValidationMes= sages(); + + if (valueDescriptor !=3D null) { + validationMessages =3D validate(context, valueDescriptor.g= etBeanType(), valueDescriptor.getName(), newValue, groups); } + = } + = + if (validationMessages =3D=3D null) { + validationMessages =3D Collections.emptySet(); + } + = return validationMessages; } = = - protected ValidationResolver createValidationResolver(FacesContext con= text, ELResolver parent, Class[] groups) { - return new ValidationResolver(parent, context, groups); - } = /** - * @author asmirnov - * = - */ - protected static class BasePropertyPair { - private final Object base; - private final Object property; - - /** - * @param base - * @param property - */ - public BasePropertyPair(Object base, Object property) { - this.base =3D base; - this.property =3D property; - } - - /** - * @return the base - */ - public Object getBase() { - return base; - } - - /** - * @return the property - */ - public Object getProperty() { - return property; - } - - } - - /** * Class for identify validator instance by locale * = * @author amarkhel @@ -277,165 +245,13 @@ = } = - /** - * Wrapper class for a {@link ELResolver}. For a setValue method, perf= orm validation instead of real assignment. - * = - * @author asmirnov - * = - */ - final class ValidationResolver extends ELResolver { = - /** - * Original resolver. - */ - private final ELResolver parent; - - private boolean valid =3D true; - - private Collection validationMessages =3D null; - - private Stack valuesStack; - - private Class[] groups; - - private FacesContext facesContext; - - private boolean clonedObject =3D false; - - /** - * @param parent - * @param context - */ - public ValidationResolver(ELResolver parent, FacesContext context,= Class[] groups) { - this.parent =3D parent; - this.valuesStack =3D new Stack(); - this.groups =3D groups; - this.facesContext =3D context; - } - - public boolean isValid() { - return valid; - } - - /** - * @param context - * @param base - * @return - * @see javax.el.ELResolver#getCommonPropertyType(javax.el.ELConte= xt, java.lang.Object) - */ - public Class getCommonPropertyType(ELContext context, Object ba= se) { - return parent.getCommonPropertyType(context, base); - } - - /** - * @param context - * @param base - * @return - * @see javax.el.ELResolver#getFeatureDescriptors(javax.el.ELConte= xt, java.lang.Object) - */ - public Iterator getFeatureDescriptors(ELContext= context, Object base) { - return parent.getFeatureDescriptors(context, base); - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#getType(javax.el.ELContext, java.lang.= Object, java.lang.Object) - */ - public Class getType(ELContext context, Object base, Object pro= perty) { - return parent.getType(context, base, property); - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#getValue(javax.el.ELContext, java.lang= .Object, java.lang.Object) - */ - public Object getValue(ELContext context, Object base, Object prop= erty) { - Object value =3D ClonedObjectResolver.resolveCloned(context, b= ase, property); - if (null !=3D value) { - this.clonedObject =3D true; - context.setPropertyResolved(true); - } else { - value =3D parent.getValue(context, base, property); - } - valuesStack.push(new BasePropertyPair(base, property)); - return value; - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#isReadOnly(javax.el.ELContext, java.la= ng.Object, java.lang.Object) - */ - public boolean isReadOnly(ELContext context, Object base, Object p= roperty) { - return parent.isReadOnly(context, base, property); - } - - /** - * @param context - * @param base - * @param property - * @param value - * @see javax.el.ELResolver#setValue(javax.el.ELContext, java.lang= .Object, java.lang.Object, java.lang.Object) - */ - public void setValue(ELContext context, Object base, Object proper= ty, Object value) { - if (null !=3D base && null !=3D property) { - // TODO - detect value object from inderect references ( e= .g. data table variables ). - if (this.clonedObject) { - parent.setValue(context, base, property, value); - } - context.setPropertyResolved(true); - // For Arrays, Collection or Map use parent base and prope= rty. - BasePropertyPair basePropertyPair =3D lookupBeanProperty(n= ew BasePropertyPair(base, property)); - base =3D basePropertyPair.getBase(); - property =3D basePropertyPair.getProperty(); - if (null !=3D base && null !=3D property) { - // https://jira.jboss.org/jira/browse/RF-4034 - // apache el looses locale information during value - // resolution, - // so we use our own - validationMessages =3D validate(facesContext, base, pr= operty.toString(), value, groups); - valid =3D null =3D=3D validationMessages || 0 =3D=3D v= alidationMessages.size(); - - } - } - } - - private BasePropertyPair lookupBeanProperty(BasePropertyPair pair)= { - Object base =3D pair.getBase(); - if (null !=3D base && (base instanceof Collection || base inst= anceof Map || base.getClass().isArray())) { - try { - pair =3D lookupBeanProperty(valuesStack.pop()); - } catch (EmptyStackException e) { - // Do nothing, this is a first item. - } - } - return pair; - } - - /** - * @return the validationMessages - */ - public Collection getValidationMessages() { - return validationMessages; - } - - } - - protected Collection validate(FacesContext facesContext, Objec= t base, String property, Object value, + protected Collection validate(FacesContext facesContext, Class= beanType, String property, Object value, Class[] groups) { - @SuppressWarnings("rawtypes") - Class beanType =3D base.getClass(); + = @SuppressWarnings("unchecked") Set> constrains =3D - getValidator(facesContext).validateValue(beanType, property, v= alue, getGroups(groups)); + getValidator(facesContext).validateValue((Class) beanT= ype, property, value, getGroups(groups)); return extractMessages(constrains); } = Deleted: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validat= or/ClonedObjectResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Cl= onedObjectResolver.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/validator/Cl= onedObjectResolver.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -1,110 +0,0 @@ -/** - * = - */ -package org.richfaces.validator; - -import java.beans.FeatureDescriptor; -import java.util.Iterator; -import java.util.Map; - -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.faces.context.FacesContext; - - - -/** - * @author asmirnov - * = - */ -public class ClonedObjectResolver extends ELResolver { - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getCommonPropertyType(javax.el.ELContext, = java.lang.Object) - */ - @Override - public Class getCommonPropertyType(ELContext context, Object base) { - // Do nothing - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getFeatureDescriptors(javax.el.ELContext, = java.lang.Object) - */ - @Override - public Iterator getFeatureDescriptors(ELContext con= text, Object base) { - // do nothing - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getType(javax.el.ELContext, java.lang.Obje= ct, java.lang.Object) - */ - @Override - public Class getType(ELContext context, Object base, Object propert= y) { - Object cloned =3D resolveCloned(context, base, property); - if (null !=3D cloned) { - context.setPropertyResolved(true); - return cloned.getClass(); - } - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getValue(javax.el.ELContext, java.lang.Obj= ect, java.lang.Object) - */ - @Override - public Object getValue(ELContext context, Object base, Object property= ) { - Object cloned =3D resolveCloned(context, base, property); - if (null !=3D cloned) { - context.setPropertyResolved(true); - } - return cloned; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#isReadOnly(javax.el.ELContext, java.lang.O= bject, java.lang.Object) - */ - @Override - public boolean isReadOnly(ELContext context, Object base, Object prope= rty) { - // TODO Auto-generated method stub - return false; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#setValue(javax.el.ELContext, java.lang.Obj= ect, java.lang.Object, java.lang.Object) - */ - @Override - public void setValue(ELContext context, Object base, Object property, = Object value) { - // TODO Auto-generated method stub - - } - - public static Object resolveCloned(ELContext context, Object base, Obj= ect property) { - if (null !=3D base || null !=3D property) { - FacesContext facesContext =3D FacesContext.getCurrentInstance(= ); - Map requestMap =3D facesContext.getExternalCon= text().getRequestMap(); - for (String key : requestMap.keySet()) { - if (null !=3D key && key.startsWith(GraphValidatorState.ST= ATE_ATTRIBUTE_PREFIX)) { - GraphValidatorState state =3D (GraphValidatorState) re= questMap.get(key); - if (state.isSame(base, property)) { - return state.getCloned(); - } - } - } - } - return null; - } -} Modified: branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ELT= estBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBas= e.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBas= e.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -15,6 +15,7 @@ import javax.el.MapELResolver; import javax.el.ValueExpression; import javax.el.VariableMapper; +import javax.faces.context.FacesContext; = import org.jboss.el.ExpressionFactoryImpl; import org.junit.After; @@ -89,6 +90,10 @@ = class DummyELContext extends ELContext { = + public DummyELContext() { + putContext(FacesContext.class, FacesContext.getCurrentInstance= ()); + } + = @Override public ELResolver getELResolver() { return elResolver; Modified: branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/Tes= tCaptureEL.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptu= reEL.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptu= reEL.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -1,16 +1,47 @@ package org.richfaces.el; = -import static org.junit.Assert.*; +import static org.easymock.EasyMock.expect; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; = import javax.el.ValueExpression; = +import org.jboss.test.faces.mock.Environment; +import org.jboss.test.faces.mock.Environment.Feature; +import org.jboss.test.faces.mock.FacesMock; +import org.jboss.test.faces.mock.Mock; +import org.jboss.test.faces.mock.MockFacesEnvironment; import org.jboss.test.faces.mock.MockTestRunner; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; = +import com.google.common.collect.Maps; + @RunWith(MockTestRunner.class) public class TestCaptureEL extends ELTestBase { = + @Mock + @Environment(Feature.EXTERNAL_CONTEXT) + private MockFacesEnvironment facesEnvironment; + + = + @Before + public void setUpEnvironment() throws Exception { + expect(facesEnvironment.getExternalContext().getRequestMap()).andS= tubReturn(Maps.newHashMap()); + expect(facesEnvironment.getFacesContext().getAttributes()).andStub= Return(Maps.newHashMap()); + FacesMock.replay(facesEnvironment); + } + = + @After + public void tearDownEnvironment() throws Exception { + FacesMock.verify(facesEnvironment); + facesEnvironment.release(); + } + = @Test public void testDummyResolverString() throws Exception { ValueExpression expression =3D parse("#{bean.string}"); Modified: branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/Val= ueExpressionAnalayserTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpr= essionAnalayserTest.java 2011-03-04 19:24:40 UTC (rev 22065) +++ branches/4.0.X/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpr= essionAnalayserTest.java 2011-03-04 22:55:38 UTC (rev 22066) @@ -1,15 +1,18 @@ package org.richfaces.el; = = -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; +import static org.easymock.EasyMock.expect; +import static org.junit.Assert.assertEquals; = import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = +import org.jboss.test.faces.mock.Environment; +import org.jboss.test.faces.mock.Environment.Feature; import org.jboss.test.faces.mock.FacesMock; import org.jboss.test.faces.mock.Mock; +import org.jboss.test.faces.mock.MockFacesEnvironment; import org.jboss.test.faces.mock.MockTestRunner; import org.junit.After; import org.junit.Before; @@ -17,42 +20,48 @@ import org.junit.runner.RunWith; import org.richfaces.el.model.Bean; = +import com.google.common.collect.Maps; + @RunWith(MockTestRunner.class) public class ValueExpressionAnalayserTest extends ELTestBase { = - = private ValueExpressionAnalayser analayser; = @Mock + @Environment(Feature.EXTERNAL_CONTEXT) + private MockFacesEnvironment facesEnvironment; + private FacesContext facesContext; - + = @Before public void setUpAnalayser() throws Exception { analayser =3D new ValueExpressionAnalayserImpl(); + facesContext =3D facesEnvironment.getFacesContext(); + expect(facesEnvironment.getExternalContext().getRequestMap()).andS= tubReturn(Maps.newHashMap()); } = @After public void tearDownAnalayser() throws Exception { + facesContext =3D null; analayser =3D null; - facesContext.release(); + facesEnvironment.release(); } @Test public void testGetDescriptionPositive() throws Exception { ValueExpression expression =3D parse("#{bean.string}"); expect(facesContext.getELContext()).andReturn(elContext); - FacesMock.replay(facesContext); + FacesMock.replay(facesEnvironment); ValueDescriptor propertyDescriptor =3D analayser.getPropertyDescri= ptor(facesContext, expression); assertEquals(Bean.class, propertyDescriptor.getBeanType()); assertEquals("string", propertyDescriptor.getName()); - assertEquals(String.class,propertyDescriptor.getPropertyType()); - FacesMock.verify(facesContext); + FacesMock.verify(facesEnvironment); } = @Test(expected=3DELException.class) public void testGetDescriptionNegative() throws Exception { ValueExpression expression =3D parse("#{bean}"); expect(facesContext.getELContext()).andReturn(elContext); - FacesMock.replay(facesContext); + FacesMock.replay(facesEnvironment); ValueDescriptor propertyDescriptor =3D analayser.getPropertyDescri= ptor(facesContext, expression); } } --===============3684406486611051737==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 01:44:46 2011 Content-Type: multipart/mixed; boundary="===============4889310130574486523==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22067 - in modules/docs/trunk/Component_Reference/src/main/docbook/en-US: skinning and 1 other directory. Date: Mon, 07 Mar 2011 01:44:45 -0500 Message-ID: <201103070644.p276ij8l013712@svn01.web.mwc.hst.phx2.redhat.com> --===============4889310130574486523== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-07 01:44:44 -0500 (Mon, 07 Mar 2011) New Revision: 22067 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Tables_and_grids.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richextendedDataTable.xml Log: Skinning reference for extendedDataTable Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Tables_and_grids.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-04 22:55:38 UTC (rev 22066) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-07 06:44:44 UTC (rev 22067) @@ -1092,12 +1092,10 @@ = - = Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richextendedDataTable.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richextendedDataTable.xml 2011-03-04 22:55:38 UTC (rev 22066) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richextendedDataTable.xml 2011-03-07 06:44:44 UTC (rev 22067) @@ -17,339 +17,175 @@ + - + - .extdt-empty-cell + .rf-edt - This class defines the styles for empty cells. + This class defines styles for the table. - tableBorderWidth, tableBorderColor<= /literal> - border-bottom + tableBorderWidth, table= BorderColor + border - = - - - - .extdt-table-layout - - - This class defines the styles for the table layout. - - - - - - tableBackgroundColor - background-color + tableBackgroundColor + background-color = - - - - .extdt-cell - - - This class defines the styles for the table cells. - - - - - - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom - - - generalSizeFont - font-size - - - generalTextColor - color - - - generalFamilyFont - font-family - - = - - .extdt-header + .rich-edt-hdr - This class defines the styles for a table header row. + This class defines styles for a header. - headerBackgroundColor - background-color + No skin parameters. - = + - - - - .extdt-header-continue - - - This class defines the styles for all header lines after the firs= t. - - - - - - headerBackgroundColor - background-color - - = - - .extdt-headercell + .rf-edt-tbl-hdr - This class defines the styles for the header cells. + This class defines styles for the table header. - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom + tableBorderWidth, table= BorderColor + border-bottom - headerTextColor - color + tableHeaderTextColor + color - headerWeightFont - font-weight + generalFamilyFont + font-family - generalSizeFont - font-size + generalSizeFont + font-size - generalFamilyFont - font-family + tableHeaderTextColor + color = - .extdt-subheader + .rich-edt-b - This class defines the styles for a column sub-header. + This class defines styles for the body of the table. - additionalBackgroundColor - background-color + No skin parameters. = - + - .extdt-table-filterrow + .rich-edt-spcr - This class defines the styles for the filter row. + This class defines a spacer for Internet Explorer 7<= /productname> compatibility. - additionalBackgroundColor - background-color + No skin parameters. - - tableBorderWidth, tableBorderColor<= /literal> - border-top - = - + - .extdt-subheadercell + .rich-edt-ftr - This class defines the styles for a column sub-header cell. + This class defines styles for a footer. - tableBorderWidth, tableBorderColor<= /literal> - border-right + tableBorderWidth, table= BorderColor + border-top - generalTextColor - color + tableFooterBackgroundColor<= /entry> + background-color + - generalSizeFont - font-size - - - generalFamilyFont - font-family - - = - - + - .extdt-caption + .rf-edt-tbl-ftr - This class defines styles for a table caption. + This class defines styles for the table footer. - tableBorderWidth, tableBorderColor - border-right, border-bottom + tableBorderWidth, table= BorderColor + border-top - generalTextColor - color + tableFooterBackgroundColor<= /entry> + background-color - - headerWeightFont - font-weight - - - generalSizeFont - font-size - - - generalFamilyFont - font-family - - - additionalBackgroundColor - bakcground-color - = - + - .extdt-footercell + .rich-edt-ftr-fzn - This class defines styles for a footer cell. + This class defines styles for a frozen footer. - tableBorderWidth, tableBorderColor - border-right, border-bottom + No skin parameters. - - generalTextColor - color - - - headerWeightFont - font-weight - - - generalSizeFont - font-size - - - generalFamilyFont - font-family - = - - - - .extdt-subfooter - - - This class defines the styles for a column footer. - - - - - - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom - - - generalTextColor - color - - - generalSizeFont - font-size - - - generalFamilyFont - font-family - - = - - - - - .extdt-subfootercell - - - This class defines the styles for a column footer cell. - - - - - - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom - - - generalTextColor - color - - - generalSizeFont - font-size - - - generalFamilyFont - font-family - - = - - .rich-extdt + .rich-edt-cnt - This class defines styles for the table. + This class defines styles for the table content. @@ -362,10 +198,10 @@ - .rich-extdt-caption + .rich-edt-ftr-cnt - This class defines styles for a "caption" facet element. + This class defines styles for the content of a footer. @@ -378,10 +214,10 @@ - .rich-extdt-header + .rich-edt-rsz - This class defines styles for a table header row. + This class defines styles for the table resizer. @@ -394,10 +230,10 @@ - .rich-extdt-header-continue + .rich-edt-rsz-cntr - This class defines styles for all header lines after the first. + This class defines styles for the resize container. @@ -410,42 +246,48 @@ - .rich-extdt-subheader + .rich-edt-rsz-mkr - This class defines styles for a column sub-header. + This class defines styles for the resize marker. - No skin parameters. + generalTextColor + border-left - = + - + - .rich-extdt-footer + .rf-edt-rord - This class defines styles for a footer row. + This class defines styles for the re-order functionality. - No skin parameters. + tableBorderWidth, table= BorderColor + border + + tableHeaderBackgroundColor / tableBackgroundColor + background-color + = - .rich-extdt-footer-continue + .rich-edt-rord-mkr - This class defines styles for all footer lines after the first. + This class defines styles for the re-order marker. @@ -453,143 +295,183 @@ No skin parameters. - = + - + - .rich-extdt-subfooter + .rf-edt-c - This class defines styles for a column sub-footer. + This class defines styles for a table cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-bottom - = - + tableBorderWidth, table= BorderColor + border-right + + + + - .rich-extdt-headercell + .rf-edt-hdr-c - This class defines styles for a header cell. + This class defines styles for a table header cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-bottom - = - + tableBorderWidth, table= BorderColor + border-right + + + + - .rich-extdt-subheadercell + .rf-edt-ftr-c - This class defines styles for a sub-header cell. + This class defines styles for a table footer cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-bottom - = + tableBorderWidth, table= BorderColor + border-right + + + - .rich-extdt-cell + .rf-edt-ftr-emp - This class defines styles for a table cell. + This class defines styles for an empty footer cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-right - = + - + - .rich-extdt-row + .rf-edt-c-cnt - This class defines styles for a table row. + This class defines styles for the contents of a cell. - No skin parameters. + generalFamilyFont + font-family - = - + generalSizeFont + font-size + + + + - .rich-extdt-firstrow + .rf-edt-hdr-c-cnt - This class defines styles for a table's first row. + This class defines styles for the contents of a header cell. - No skin parameters. + generalFamilyFont + font-family - = - + generalSizeFont + font-size + + + tableHeaderTextColor + color + + + + - .rich-extdt-footercell + .rf-edt-ftr-c-cnt - This class defines styles for a footer cell. + This class defines styles for the contents of a footer cell. - No skin parameters. + generalFamilyFont + font-family - = + generalSizeFont + font-size + + + generalTextColor + color + + + - .rich-extdt-subfootercell + .rf-edt-r-sel - This class defines styles for a sub-footer cell. + This class defines styles for the selected row. - No skin parameters. + tableBorderWidth, table= BorderColor + border-right = - .rich-extdt-group-cell + .rich-edt-r-act - This class defines styles for a grouping row cell. + This class defines styles for the active row. @@ -597,6 +479,7 @@ No skin parameters. + = --===============4889310130574486523==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 07:09:28 2011 Content-Type: multipart/mixed; boundary="===============5652256100971721214==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22068 - in modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest: richMenuGroup and 1 other directory. Date: Mon, 07 Mar 2011 07:09:28 -0500 Message-ID: <201103071209.p27C9SZF016253@svn01.web.mwc.hst.phx2.redhat.com> --===============5652256100971721214== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-07 07:09:27 -0500 (Mon, 07 Mar 2011) New Revision: 22068 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richDropDownMenu/TestRichDropDownMenu.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richMenuGroup/TestRichMenuGroup.java Log: tests for drop down menu and menu group fixed Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richDropDownMenu/TestRichDropDownMenu.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richDropDownMenu/TestRichDropDownMenu.java 2011-03-07 06:= 44:44 UTC (rev 22067) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richDropDownMenu/TestRichDropDownMenu.java 2011-03-07 12:= 09:27 UTC (rev 22068) @@ -34,6 +34,7 @@ = import org.jboss.test.selenium.css.CssProperty; import org.jboss.test.selenium.dom.Event; +import org.jboss.test.selenium.encapsulated.JavaScript; import org.jboss.test.selenium.locator.JQueryLocator; import org.jboss.test.selenium.waiting.EventFiredCondition; import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; @@ -82,7 +83,7 @@ assertFalse(selenium.isVisible(menuItem41), "Menu item \"Save\" sh= ould not be visible on the page."); = assertFalse(selenium.isDisplayed(groupList), "Submenu should not b= e expanded."); - guardNoRequest(selenium).mouseOver(group); + guardNoRequest(selenium).getEval(new JavaScript("window.jQuery('" = + group.getRawLocator() + "').mouseenter()")); assertTrue(selenium.isDisplayed(groupList), "Submenu should be exp= anded."); = assertTrue(selenium.isElementPresent(menuItem41), "Menu item \"Sav= e\" should be present on the page."); @@ -119,7 +120,7 @@ selenium.waitForPageToLoad(); = selenium.mouseOver(fileMenuLabel); - selenium.mouseOut(fileMenuLabel); + selenium.getEval(new JavaScript("window.jQuery('" + fileMenuLabel.= getRawLocator() + "').mouseleave()")); assertTrue(selenium.isDisplayed(fileMenuList), "Menu should be exp= anded."); waitFor(3000); assertFalse(selenium.isDisplayed(fileMenuList), "Menu should not b= e expanded."); @@ -181,9 +182,9 @@ selenium.waitForPageToLoad(); = selenium.mouseOver(fileMenuLabel); - selenium.mouseOver(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseenter()")); waitGui.interval(2000).withDelay(true).failWith("Menu group was no= t opened.").until(isDisplayed.locator(groupList)); - selenium.mouseOut(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseleave()")); = waitGui.failWith("Attribute ongrouphide does not work correctly").= until(new EventFiredCondition(new Event("grouphide"))); } @@ -194,7 +195,7 @@ selenium.waitForPageToLoad(); = selenium.mouseOver(fileMenuLabel); - selenium.mouseOver(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseenter()")); waitGui.interval(2000).withDelay(true).failWith("Menu group was no= t opened.").until(isDisplayed.locator(group)); = waitGui.failWith("Attribute ongroupshow does not work correctly").= until(new EventFiredCondition(new Event("groupshow"))); @@ -206,7 +207,7 @@ selenium.waitForPageToLoad(); = selenium.mouseOver(fileMenuLabel); - selenium.mouseOut(fileMenuLabel); + selenium.getEval(new JavaScript("window.jQuery('" + fileMenuLabel.= getRawLocator() + "').mouseleave()")); = waitGui.failWith("Attribute onhide does not work correctly").until= (new EventFiredCondition(new Event("hide"))); } Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richMenuGroup/TestRichMenuGroup.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richMenuGroup/TestRichMenuGroup.java 2011-03-07 06:44:44 = UTC (rev 22067) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richMenuGroup/TestRichMenuGroup.java 2011-03-07 12:09:27 = UTC (rev 22068) @@ -32,6 +32,7 @@ import java.net.URL; = import org.jboss.test.selenium.dom.Event; +import org.jboss.test.selenium.encapsulated.JavaScript; import org.jboss.test.selenium.locator.Attribute; import org.jboss.test.selenium.locator.AttributeLocator; import org.jboss.test.selenium.locator.JQueryLocator; @@ -82,7 +83,7 @@ assertFalse(selenium.isVisible(menuItem41), "Menu item \"Save\" sh= ould not be visible on the page."); = assertFalse(selenium.isDisplayed(groupList), "Submenu should not b= e expanded."); - guardNoRequest(selenium).mouseOver(group); + guardNoRequest(selenium).getEval(new JavaScript("window.jQuery('" = + group.getRawLocator() + "').mouseenter()")); assertTrue(selenium.isDisplayed(groupList), "Submenu should be exp= anded."); = assertTrue(selenium.isElementPresent(menuItem41), "Menu item \"Sav= e\" should be present on the page."); @@ -196,9 +197,9 @@ = selenium.mouseOver(fileMenuLabel); waitGui.failWith("Menu was not open.").until(isDisplayed.locator(f= ileMenuList)); - selenium.mouseOver(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseenter()")); waitGui.failWith("Submenu was not open").until(isDisplayed.locator= (groupList)); - selenium.mouseOut(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseleave()")); = waitGui.failWith("Attribute onhide does not work correctly").until= (new EventFiredCondition(new Event("hide"))); } @@ -250,7 +251,7 @@ = selenium.mouseOver(fileMenuLabel); waitGui.failWith("Menu was not open.").until(isDisplayed.locator(f= ileMenuList)); - selenium.mouseOver(group); + selenium.getEval(new JavaScript("window.jQuery('" + group.getRawLo= cator() + "').mouseenter()")); waitGui.failWith("Submenu was not open").until(isDisplayed.locator= (groupList)); = waitGui.failWith("Attribute onhide does not work correctly").until= (new EventFiredCondition(new Event("show"))); --===============5652256100971721214==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 07:26:25 2011 Content-Type: multipart/mixed; boundary="===============6386160416603426183==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22069 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richTooltip. Date: Mon, 07 Mar 2011 07:26:25 -0500 Message-ID: <201103071226.p27CQPx1018318@svn01.web.mwc.hst.phx2.redhat.com> --===============6386160416603426183== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-07 07:26:24 -0500 (Mon, 07 Mar 2011) New Revision: 22069 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richTooltip/TestTooltipSimple.java Log: tooltip tests - use mouseover/mouseout instead of mouseenter/mouseleave sin= ce they dont work from selenium API (RFPL-1236) Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richTooltip/TestTooltipSimple.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTooltip/TestTooltipSimple.java 2011-03-07 12:09:27 UT= C (rev 22068) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTooltip/TestTooltipSimple.java 2011-03-07 12:26:24 UT= C (rev 22069) @@ -53,6 +53,7 @@ import org.richfaces.tests.metamer.ftest.annotations.RegressionTest; import org.richfaces.tests.metamer.ftest.annotations.Use; import org.richfaces.tests.metamer.ftest.annotations.Uses; +import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; = /** @@ -110,6 +111,12 @@ return buildUrl(contextPath, "faces/components/richTooltip/simple.= xhtml"); } = + @BeforeMethod + public void setupAttributes() { + attributes.setShowEvent("mouseover"); + attributes.setHideEvent("mouseout"); + } + @Test public void testLifecycle() { attributes.setMode(TooltipMode.ajax); --===============6386160416603426183==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 08:00:15 2011 Content-Type: multipart/mixed; boundary="===============2439951516667876785==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22070 - modules/tests/metamer/trunk/ftest/src/test/resources. Date: Mon, 07 Mar 2011 08:00:14 -0500 Message-ID: <201103071300.p27D0E0D021781@svn01.web.mwc.hst.phx2.redhat.com> --===============2439951516667876785== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-07 08:00:14 -0500 (Mon, 07 Mar 2011) New Revision: 22070 Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-core.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng-input.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng-misc.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng.xml Log: removed test exclude on 4.0.0.Final group Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-core.= xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-core.xml 20= 11-03-07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-core.xml 20= 11-03-07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-input= .xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-input.xml 2= 011-03-07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-input.xml 2= 011-03-07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-itera= tion.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.x= ml 2011-03-07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.x= ml 2011-03-07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-misc.= xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-misc.xml 20= 11-03-07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-misc.xml 20= 11-03-07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-outpu= t.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng.xml 2011-03= -07 12:26:24 UTC (rev 22069) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng.xml 2011-03= -07 13:00:14 UTC (rev 22070) @@ -4,7 +4,6 @@ - --===============2439951516667876785==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 10:15:57 2011 Content-Type: multipart/mixed; boundary="===============3615201764927115935==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22071 - in branches/4.0.X/examples/richfaces-showcase: src/main/webapp-gae/WEB-INF and 1 other directory. Date: Mon, 07 Mar 2011 10:15:57 -0500 Message-ID: <201103071515.p27FFvfD020626@svn01.web.mwc.hst.phx2.redhat.com> --===============3615201764927115935== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 10:15:56 -0500 (Mon, 07 Mar 2011) New Revision: 22071 Modified: branches/4.0.X/examples/richfaces-showcase/pom.xml branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/w= eb.xml Log: https://issues.jboss.org/browse/RF-10681 Modified: branches/4.0.X/examples/richfaces-showcase/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/pom.xml 2011-03-07 13:00:14 = UTC (rev 22070) +++ branches/4.0.X/examples/richfaces-showcase/pom.xml 2011-03-07 15:15:56 = UTC (rev 22071) @@ -171,6 +171,16 @@ 2.9.1 runtime + + com.sun.faces + jsf-api + 2.0.3-b03 + + + com.sun.faces + jsf-impl + 2.0.3-b03 + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WE= B-INF/web.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/= web.xml 2011-03-07 13:00:14 UTC (rev 22070) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/= web.xml 2011-03-07 15:15:56 UTC (rev 22071) @@ -45,29 +45,9 @@ client - org.apache.myfaces.SECRET - -- Insert some secret here -- - - - org.apache.myfaces.MAC_SECRET - -- Insert some secret here -- - - - org.apache.myfaces.algorithm - Blowfish - - org.richfaces.staticResourceLocation #{facesContext.externalContext.requestContextPath}/st= atic-resources/#{resourceLocation} - = - - org.apache.myfaces.config.annotation.LifecycleProvider= - org.apache.myfaces.config.annotation.NoInjectionAnnot= ationLifecycleProvider - = org.ajax4jsf.cache.CACHE_MANAGER_FACTORY_CLASS @@ -75,11 +55,34 @@ = - org.apache.myfaces.EXPRESSION_FACTORY - com.sun.el.ExpressionFactoryImpl + + Set this flag to true if you want the JavaServer Faces + Reference Implementation to validate the XML in your + faces-config.xml resources against the DTD. Default + value is false. + + com.sun.faces.validateXml + true + + + + When enabled, the runtime initialization and default ResourceHandler + implementation will use threads to perform their functions. Set this = + value to false if threads aren't desired (as in the case of running = + within the Google Application Engine). = + Note that when this option is disabled, the ResourceHandler will not = + pick up new versions of resources when ProjectStage is development. + + com.sun.faces.enableThreading + false + + com.sun.faces.expressionFactory + com.sun.el.ExpressionFactoryImpl + + org.richfaces.executeAWTInitializer false --===============3615201764927115935==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 11:57:45 2011 Content-Type: multipart/mixed; boundary="===============1235433752401263392==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22072 - branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component. Date: Mon, 07 Mar 2011 11:57:44 -0500 Message-ID: <201103071657.p27GvifB004227@svn01.web.mwc.hst.phx2.redhat.com> --===============1235433752401263392== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 11:57:44 -0500 (Mon, 07 Mar 2011) New Revision: 22072 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstract= AjaxStatus.java Log: https://issues.jboss.org/browse/RF-10709 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/A= bstractAjaxStatus.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstrac= tAjaxStatus.java 2011-03-07 15:15:56 UTC (rev 22071) +++ branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/component/Abstrac= tAjaxStatus.java 2011-03-07 16:57:44 UTC (rev 22072) @@ -23,7 +23,7 @@ = package org.richfaces.component; = -import javax.faces.component.UIOutput; +import javax.faces.component.UIComponentBase; = import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.EventName; @@ -37,7 +37,7 @@ * */ @JsfComponent(renderer =3D @JsfRenderer(type =3D "org.richfaces.StatusRend= erer"), tag =3D @Tag(type =3D TagType.Facelets)) -public abstract class AbstractAjaxStatus extends UIOutput { +public abstract class AbstractAjaxStatus extends UIComponentBase { = public static final String COMPONENT_TYPE =3D "org.richfaces.Status"; = @@ -54,4 +54,35 @@ = @Attribute(events =3D @EventName("success")) public abstract String getOnsuccess(); + = + @Attribute + public abstract String getName(); + + @Attribute + public abstract String getStartText(); + = + @Attribute + public abstract String getStopText(); + = + @Attribute + public abstract String getErrorText(); + = + @Attribute + public abstract String getStartStyle(); + = + @Attribute + public abstract String getStopStyle(); + = + @Attribute + public abstract String getErrorStyle(); + = + @Attribute + public abstract String getStartStyleClass(); + = + @Attribute + public abstract String getStopStyleClass(); + = + @Attribute + public abstract String getErrorStyleClass(); + = } --===============1235433752401263392==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 12:03:35 2011 Content-Type: multipart/mixed; boundary="===============3209492313784371820==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22073 - in branches/4.0.X/ui/core/ui/src/main: resources/META-INF/resources/org.richfaces and 1 other directory. Date: Mon, 07 Mar 2011 12:03:35 -0500 Message-ID: <201103071703.p27H3ZPO010686@svn01.web.mwc.hst.phx2.redhat.com> --===============3209492313784371820== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 12:03:35 -0500 (Mon, 07 Mar 2011) New Revision: 22073 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/renderkit/html/Aja= xStatusRenderer.java branches/4.0.X/ui/core/ui/src/main/resources/META-INF/resources/org.rich= faces/status.js Log: https://issues.jboss.org/browse/RF-10710 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/renderkit/h= tml/AjaxStatusRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/renderkit/html/Aj= axStatusRenderer.java 2011-03-07 16:57:44 UTC (rev 22072) +++ branches/4.0.X/ui/core/ui/src/main/java/org/richfaces/renderkit/html/Aj= axStatusRenderer.java 2011-03-07 17:03:35 UTC (rev 22073) @@ -93,7 +93,7 @@ this.styleAttributeName =3D stateName + "Style"; this.styleClassAttributeName =3D stateName + "StyleClass"; this.textAttributeName =3D stateName + "Text"; - this.defaultStyleClass =3D "rich-status-" + stateName; + this.defaultStyleClass =3D "rf-st-" + stateName; } = public String getStyleAttributeName() { Modified: branches/4.0.X/ui/core/ui/src/main/resources/META-INF/resources/o= rg.richfaces/status.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/resources/META-INF/resources/org.ric= hfaces/status.js 2011-03-07 16:57:44 UTC (rev 22072) +++ branches/4.0.X/ui/core/ui/src/main/resources/META-INF/resources/org.ric= hfaces/status.js 2011-03-07 17:03:35 UTC (rev 22073) @@ -133,12 +133,12 @@ this.options.onstart.apply(this, arguments); } = - return this.__showHide('.rich-status-start'); + return this.__showHide('.rf-st-start'); }, = stop: function() { this.__stop(); - return this.__showHide('.rich-status-stop'); + return this.__showHide('.rf-st-stop'); }, = success: function() { @@ -154,7 +154,7 @@ } this.__stop(); = - return this.__showHide(':not(.rich-status-error) + .rich-status-stop, .= rich-status-error'); + return this.__showHide(':not(.rf-st-error) + .rf-st-stop, .rf-st-error'= ); }, = __showHide: function(selector) { --===============3209492313784371820==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 12:16:11 2011 Content-Type: multipart/mixed; boundary="===============5426487181625452609==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22074 - branches/4.0.X/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfaces. Date: Mon, 07 Mar 2011 12:16:10 -0500 Message-ID: <201103071716.p27HGANs012433@svn01.web.mwc.hst.phx2.redhat.com> --===============5426487181625452609== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 12:16:10 -0500 (Mon, 07 Mar 2011) New Revision: 22074 Modified: branches/4.0.X/ui/iteration/ui/src/main/resources/META-INF/resources/org= .richfaces/datascroller.ecss Log: https://issues.jboss.org/browse/RF-10706 Modified: branches/4.0.X/ui/iteration/ui/src/main/resources/META-INF/resour= ces/org.richfaces/datascroller.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/iteration/ui/src/main/resources/META-INF/resources/or= g.richfaces/datascroller.ecss 2011-03-07 17:03:35 UTC (rev 22073) +++ branches/4.0.X/ui/iteration/ui/src/main/resources/META-INF/resources/or= g.richfaces/datascroller.ecss 2011-03-07 17:16:10 UTC (rev 22074) @@ -117,7 +117,7 @@ cursor: default; font-weight: bold; border-width: 1px; - bordr-style: solid; + border-style: solid; border-color: transparent; border-bottom-width: 1px; border-bottom-style: solid; --===============5426487181625452609==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 12:25:06 2011 Content-Type: multipart/mixed; boundary="===============2625761814971165558==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22075 - in branches/4.0.X: parent and 1 other directory. Date: Mon, 07 Mar 2011 12:25:05 -0500 Message-ID: <201103071725.p27HP5dq012947@svn01.web.mwc.hst.phx2.redhat.com> --===============2625761814971165558== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 12:25:05 -0500 (Mon, 07 Mar 2011) New Revision: 22075 Modified: branches/4.0.X/examples/parent/pom.xml branches/4.0.X/parent/pom.xml Log: Updates to Mojarra 2.1.x profile: - 2.1.0 upgraded to b11 - 2.1.0-SNAPSHOT changed to 2.1.1-SNAPSHOT Modified: branches/4.0.X/examples/parent/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/parent/pom.xml 2011-03-07 17:16:10 UTC (rev 220= 74) +++ branches/4.0.X/examples/parent/pom.xml 2011-03-07 17:25:05 UTC (rev 220= 75) @@ -209,12 +209,12 @@ com.sun.faces jsf-api - 2.1.0-SNAPSHOT + 2.1.1-SNAPSHOT com.sun.faces jsf-impl - 2.1.0-SNAPSHOT + 2.1.1-SNAPSHOT @@ -230,12 +230,12 @@ com.sun.faces jsf-api - 2.1.0-b09 + 2.1.0-b11 com.sun.faces jsf-impl - 2.1.0-b09 + 2.1.0-b11 Modified: branches/4.0.X/parent/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/parent/pom.xml 2011-03-07 17:16:10 UTC (rev 22074) +++ branches/4.0.X/parent/pom.xml 2011-03-07 17:25:05 UTC (rev 22075) @@ -337,13 +337,13 @@ com.sun.faces jsf-api - 2.1.0-SNAPSHOT + 2.1.1-SNAPSHOT provided com.sun.faces jsf-impl - 2.1.0-SNAPSHOT + 2.1.1-SNAPSHOT test @@ -360,13 +360,13 @@ com.sun.faces jsf-api - 2.1.0-b09 + 2.1.0-b11 provided com.sun.faces jsf-impl - 2.1.0-b09 + 2.1.0-b11 test --===============2625761814971165558==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 12:31:11 2011 Content-Type: multipart/mixed; boundary="===============7265716699852599984==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22076 - in branches/4.0.X/core/impl/src: test/java/org/richfaces/component/nsutils and 1 other directory. Date: Mon, 07 Mar 2011 12:31:10 -0500 Message-ID: <201103071731.p27HVAak013732@svn01.web.mwc.hst.phx2.redhat.com> --===============7265716699852599984== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-07 12:31:10 -0500 (Mon, 07 Mar 2011) New Revision: 22076 Removed: branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/N= SUtils.java branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/p= ackage-info.java branches/4.0.X/core/impl/src/test/java/org/richfaces/component/nsutils/N= SUtilsTest.java Log: Removal of legacy NSUtils class Deleted: branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsu= tils/NSUtils.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/= NSUtils.java 2011-03-07 17:25:05 UTC (rev 22075) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/= NSUtils.java 2011-03-07 17:31:10 UTC (rev 22076) @@ -1,43 +0,0 @@ -/** - * License Agreement. - * - * JBoss RichFaces - Ajax4jsf Component Library - * - * Copyright (C) 2007 Exadel, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1 as published by the Free Software Foundation. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA - */ - -package org.richfaces.component.nsutils; - -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import java.io.IOException; - -/** - * @author Nick Belaevski - nbelaevski(a)exadel.com - * created 21.12.2006 - */ -public final class NSUtils { - public static final String XMLNS_PREFIX =3D "rich"; - public static final String XMLNS_URI =3D "http://richfaces.ajax4jsf.or= g/rich"; - public static final String XMLNS_VALUE =3D "xmlns:" + XMLNS_PREFIX; - - private NSUtils() { - } - - public static void writeNameSpace(FacesContext context, UIComponent co= mponent) throws IOException { - context.getResponseWriter().writeAttribute(NSUtils.XMLNS_VALUE, NS= Utils.XMLNS_URI, null); - } -} Deleted: branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsu= tils/package-info.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/= package-info.java 2011-03-07 17:25:05 UTC (rev 22075) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/component/nsutils/= package-info.java 2011-03-07 17:31:10 UTC (rev 22076) @@ -1,4 +0,0 @@ -/** - * Custom XML namespace utility classes - */ -package org.richfaces.component.nsutils; Deleted: branches/4.0.X/core/impl/src/test/java/org/richfaces/component/nsu= tils/NSUtilsTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/test/java/org/richfaces/component/nsutils/= NSUtilsTest.java 2011-03-07 17:25:05 UTC (rev 22075) +++ branches/4.0.X/core/impl/src/test/java/org/richfaces/component/nsutils/= NSUtilsTest.java 2011-03-07 17:31:10 UTC (rev 22076) @@ -1,61 +0,0 @@ -/** - * License Agreement. - * - * JBoss RichFaces - Ajax4jsf Component Library - * - * Copyright (C) 2007 Exadel, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1 as published by the Free Software Foundation. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA - */ - - - -package org.richfaces.component.nsutils; - -import java.io.StringWriter; - -import javax.faces.component.UIInput; -import javax.faces.context.ResponseWriter; - -import org.jboss.test.faces.AbstractFacesTest; - -public class NSUtilsTest extends AbstractFacesTest { - public void setUp() throws Exception { - super.setUp(); - setupFacesRequest(); - } - - public void tearDown() throws Exception { - super.tearDown(); - } - - public void testWriteNameSpace() throws Exception { - final StringWriter stringWriter =3D new StringWriter(); - ResponseWriter writer =3D facesContext.getRenderKit().createRespon= seWriter(stringWriter, "text/html", "UTF-8"); - - facesContext.setResponseWriter(writer); - - UIInput input =3D new UIInput(); - - writer.startDocument(); - writer.startElement("span", input); - NSUtils.writeNameSpace(facesContext, input); - writer.endElement("span"); - writer.endDocument(); - - String result =3D stringWriter.getBuffer().toString(); - - assertTrue(result.contains("span xmlns:rich=3D\"http://richfaces.a= jax4jsf.org/rich\"")); - } -} --===============7265716699852599984==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 15:14:45 2011 Content-Type: multipart/mixed; boundary="===============5035853760302984451==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22077 - in trunk/ui/validator: api/src/main/java/org/richfaces/el and 17 other directories. Date: Mon, 07 Mar 2011 15:14:44 -0500 Message-ID: <201103072014.p27KEie6015240@svn01.web.mwc.hst.phx2.redhat.com> --===============5035853760302984451== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: alexsmirnov Date: 2011-03-07 15:14:44 -0500 (Mon, 07 Mar 2011) New Revision: 22077 Added: trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Mes= sageUpdateScript.java trunk/ui/validator/ui/src/main/java/org/richfaces/view/facelets/html/Gra= phValidatorHandler.java Removed: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ClonedObject= Resolver.java Modified: trunk/ui/validator/ trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueDescriptor.ja= va trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueExpressionAna= layser.java trunk/ui/validator/api/src/main/java/org/richfaces/javascript/ScriptNotF= oundException.java trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesConver= terService.java trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesValida= torService.java trunk/ui/validator/api/src/main/java/org/richfaces/validator/GraphValida= torState.java trunk/ui/validator/ui/src/main/java/org/richfaces/component/AbstractGrap= hValidator.java trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Cli= entValidatorImpl.java trunk/ui/validator/ui/src/main/java/org/richfaces/el/CapturingELContext.= java trunk/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpressionAnal= ayserImpl.java trunk/ui/validator/ui/src/main/java/org/richfaces/javascript/ClientScrip= tServiceImpl.java trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/AjaxOnl= yScript.java trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/ClientA= ndAjaxScript.java trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/ClientO= nlyScript.java trunk/ui/validator/ui/src/main/java/org/richfaces/validator/BeanValidato= rServiceImpl.java trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ConverterSer= viceImpl.java trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesBeanVal= idator.java trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesService= Base.java trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesValidat= orServiceImpl.java trunk/ui/validator/ui/src/main/resources/META-INF/csv.xml trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richface= s/richfaces-csv.js trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Beh= aviorGetConverterTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Beh= aviorGetValidatorTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBase.java trunk/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptureEL.java trunk/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpressionAnal= ayserTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/Mock= TestBase.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/conv= erter/BooleanConverterTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/conv= erter/ByteConverterTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/conv= erter/ConverterTestBase.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/conv= erter/NumberConverterTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/conv= erter/ShortConverterTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/vali= dator/DoubleRangeValidatorTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/vali= dator/LengthValidatorTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/vali= dator/LongRangeValidatorTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/vali= dator/MaxValidatorTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/vali= dator/ValidatorTestBase.java trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesConvert= erServiceTest.java trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesValidat= orServiceTest.java Log: Merge changes from 4.0.x Property changes on: trunk/ui/validator ___________________________________________________________________ Added: svn:mergeinfo + /branches/4.0.X/ui/validator:21810-22076 Modified: trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueDescri= ptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueDescriptor.j= ava 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueDescriptor.j= ava 2011-03-07 20:14:44 UTC (rev 22077) @@ -14,24 +14,17 @@ = private final Class beanType; = - private final Class propertyType; - /** * @param beanType * @param name * @param propertyType * @param readOnly */ - public ValueDescriptor(Class beanType, String name, Class proper= tyType) { + public ValueDescriptor(Class beanType, String name) { this.beanType =3D beanType; this.name =3D name; - this.propertyType =3D propertyType; } = - public ValueDescriptor(Class beanType, String name) { - this(beanType,name,Object.class); - } - /** * @return the name */ @@ -47,13 +40,6 @@ return beanType; } = - /** - * @return the propertyType - */ - public Class getPropertyType() { - return propertyType; - } - /* (non-Javadoc) * @see java.lang.Object#hashCode() */ Modified: trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueExpres= sionAnalayser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueExpressionAn= alayser.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/el/ValueExpressionAn= alayser.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -3,6 +3,7 @@ */ package org.richfaces.el; = +import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = @@ -13,6 +14,8 @@ */ public interface ValueExpressionAnalayser { = - ValueDescriptor getPropertyDescriptor(FacesContext context, ValueExpre= ssion expression); + ValueDescriptor getPropertyDescriptor(FacesContext context, ValueExpre= ssion expression) throws ELException; = + ValueDescriptor updateValueAndGetPropertyDescriptor(FacesContext conte= xt, ValueExpression expression, Object newValue) throws ELException; + = } Modified: trunk/ui/validator/api/src/main/java/org/richfaces/javascript/Scr= iptNotFoundException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/javascript/ScriptNot= FoundException.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/javascript/ScriptNot= FoundException.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -3,22 +3,19 @@ public class ScriptNotFoundException extends Exception { = public ScriptNotFoundException() { - // TODO Auto-generated constructor stub + super(); } = public ScriptNotFoundException(String message) { super(message); - // TODO Auto-generated constructor stub } = public ScriptNotFoundException(Throwable cause) { super(cause); - // TODO Auto-generated constructor stub } = public ScriptNotFoundException(String message, Throwable cause) { super(message, cause); - // TODO Auto-generated constructor stub } = } Modified: trunk/ui/validator/api/src/main/java/org/richfaces/validator/Face= sConverterService.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesConve= rterService.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesConve= rterService.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,5 +1,6 @@ package org.richfaces.validator; = +import javax.faces.component.EditableValueHolder; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; = @@ -11,6 +12,6 @@ */ public interface FacesConverterService { = - ConverterDescriptor getConverterDescription(FacesContext context,Conve= rter converter); + ConverterDescriptor getConverterDescription(FacesContext context,Edita= bleValueHolder input, Converter converter); = } Modified: trunk/ui/validator/api/src/main/java/org/richfaces/validator/Face= sValidatorService.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesValid= atorService.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/validator/FacesValid= atorService.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,10 +1,11 @@ package org.richfaces.validator; = +import javax.faces.component.EditableValueHolder; import javax.faces.context.FacesContext; import javax.faces.validator.Validator; = = public interface FacesValidatorService { = - ValidatorDescriptor getValidatorDescription(FacesContext context,Valid= ator validator); + ValidatorDescriptor getValidatorDescription(FacesContext context,Edita= bleValueHolder component, Validator validator); } Modified: trunk/ui/validator/api/src/main/java/org/richfaces/validator/Grap= hValidatorState.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/api/src/main/java/org/richfaces/validator/GraphValid= atorState.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/api/src/main/java/org/richfaces/validator/GraphValid= atorState.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,12 +1,21 @@ package org.richfaces.validator; = +import java.util.IdentityHashMap; +import java.util.Map; = +import javax.faces.context.FacesContext; + + public final class GraphValidatorState { - public static final String STATE_ATTRIBUTE_PREFIX =3D "org.richfaces.G= raphValidator:"; - boolean active =3D false; - Object cloned; - Object base; - Object property; + public static final String STATE_ATTRIBUTE =3D "org.richfaces.GraphVal= idator:"; + private boolean active =3D false; + private final Object cloned; + = + = + public GraphValidatorState(Object cloned) { + this.cloned =3D cloned; + } + = /** * @return the active */ @@ -29,57 +38,28 @@ return cloned; } = - /** - * @param cloned - * the cloned to set - */ - public void setCloned(Object cloned) { - this.cloned =3D cloned; + public static Object getActiveClone(FacesContext context,Object base){ + GraphValidatorState state =3D getState(context, base); + if(null =3D=3D state || !state.isActive()){ + return null; + } + return state.getCloned(); } = - /** - * @return the base - */ - public Object getBase() { - return base; + public static GraphValidatorState getState(FacesContext context,Object= base){ + return getStateMap(context).get(base); } = - /** - * @param base - * the base to set - */ - public void setBase(Object base) { - this.base =3D base; + public static void setState(FacesContext context,Object base,GraphVali= datorState state){ + getStateMap(context).put(base, state); } - - /** - * @return the property - */ - public Object getProperty() { - return property; - } - - /** - * @param property - * the property to set - */ - public void setProperty(Object property) { - this.property =3D property; - } - - public boolean isSameBase(Object base) { - return (null =3D=3D base && null =3D=3D this.base) || (base =3D=3D= this.base); - } - - public boolean isSameProperty(Object property) { - if (null =3D=3D this.property) { - return null =3D=3D property; - } else { - return this.property.equals(property); + = + private static Map getStateMap(FacesConte= xt context){ + IdentityHashMap statesMap =3D (Identi= tyHashMap) context.getAttributes().get(STATE_A= TTRIBUTE); + if(null =3D=3D statesMap){ + statesMap =3D new IdentityHashMap= (); + context.getAttributes().put(STATE_ATTRIBUTE, statesMap); } + return statesMap; } - - public boolean isSame(Object base, Object property) { - return isSameBase(base) && isSameProperty(property) && active; - } } \ No newline at end of file Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/component/Abstr= actGraphValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/component/AbstractGra= phValidator.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/component/AbstractGra= phValidator.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -20,43 +20,41 @@ */ package org.richfaces.component; = -import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Collection; -import java.util.Iterator; = -import javax.el.ELContext; import javax.el.ValueExpression; import javax.faces.FacesException; import javax.faces.application.FacesMessage; -import javax.faces.component.EditableValueHolder; -import javax.faces.component.UIComponent; import javax.faces.component.UIComponentBase; import javax.faces.context.FacesContext; import javax.faces.validator.Validator; = +import org.richfaces.application.ServiceTracker; import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; -import org.richfaces.el.CapturingELResolver; -import org.richfaces.el.ELContextWrapper; +import org.richfaces.log.Logger; +import org.richfaces.log.RichfacesLogger; +import org.richfaces.validator.BeanValidatorService; import org.richfaces.validator.FacesBeanValidator; -import org.richfaces.validator.GraphValidator; import org.richfaces.validator.GraphValidatorState; = /** * JSF component class * = */ -(a)JsfComponent(tag=3D@Tag(name=3D"graphValidator",type=3DTagType.Facelets= )) +(a)JsfComponent(tag=3D@Tag(name=3D"graphValidator",type=3DTagType.Facelets= , handler =3D "org.richfaces.view.facelets.html.GraphValidatorHandler")) public abstract class AbstractGraphValidator extends UIComponentBase { = public static final String COMPONENT_TYPE =3D "org.richfaces.GraphVali= dator"; = public static final String COMPONENT_FAMILY =3D "org.richfaces.GraphVa= lidator"; + = + private static final Logger LOG =3D RichfacesLogger.COMPONENTS.getLogg= er(); = /** * Get object for validation @@ -121,38 +119,26 @@ @Override public void processDecodes(FacesContext context) { GraphValidatorState validatorState =3D null; - // Detect value EL-expression. - ValueExpression valueExpression =3D getValueExpression("value"); - if (null !=3D valueExpression) { - - Object value =3D getValue(); - if (null !=3D value && value instanceof Cloneable) { + boolean wasActive =3D false; + Object value =3D getValue(); + if (null !=3D value) { + validatorState =3D GraphValidatorState.getState(context, value= ); + if (null !=3D validatorState) { + // Reuse old value, if any. + wasActive =3D validatorState.isActive(); + validatorState.setActive(true); + } else if (value instanceof Cloneable) { try { - ELContext initialELContext =3D context.getELContext(); - - CapturingELResolver capturingELResolver =3D new Captur= ingELResolver(initialELContext.getELResolver()); - Class type =3D - valueExpression.getType(new ELContextWrapper(initi= alELContext, capturingELResolver)); - if (null !=3D type) { - validatorState =3D new GraphValidatorState(); - Method method =3D getCloneMethod(value.getClass()); - if (!Modifier.isPublic(method.getModifiers())) { - // Method Object#clone() is protected by defau= lt. Make it public - // unless developer did it. - method.setAccessible(true); - } - validatorState.setCloned(method.invoke(value)); - validatorState.setBase(capturingELResolver.getBase= ()); - validatorState.setProperty(capturingELResolver.get= Property()); - validatorState.setActive(true); - context.getExternalContext().getRequestMap().put(g= etStateId(context), validatorState); - } + Method method =3D getCloneMethod(value.getClass()); + validatorState =3D new GraphValidatorState(method.invo= ke(value)); + validatorState.setActive(true); + GraphValidatorState.setState(context, value, validator= State); } catch (NoSuchMethodException e) { - // do nothing, that is really not possible. + // do nothing, that is really not possible - clone() i= mpemented in Object. } catch (InvocationTargetException e) { throw new FacesException(e); } catch (IllegalArgumentException e) { - // do nothing, that is really not possible. + // do nothing, that is really not possible - method ha= s no arguments. } catch (IllegalAccessException e) { throw new FacesException(e); } @@ -160,7 +146,7 @@ } super.processDecodes(context); if (null !=3D validatorState) { - validatorState.setActive(false); + validatorState.setActive(wasActive); } } = @@ -169,71 +155,78 @@ return clazz.getDeclaredMethod("clone"); } catch (NoSuchMethodException e) { if (null !=3D clazz.getSuperclass()) { - return getCloneMethod(clazz.getSuperclass()); + Method method =3D getCloneMethod(clazz.getSuperclass()); + if (!Modifier.isPublic(method.getModifiers())) { + // Method Object#clone() is protected by default. Make= it public + // unless developer did it. + method.setAccessible(true); + } + return method; } else { throw e; } } } = - protected String getStateId(FacesContext context) { - String stateId =3D GraphValidatorState.STATE_ATTRIBUTE_PREFIX + ge= tClientId(context); - return stateId; - } = protected GraphValidatorState getValidatorState(FacesContext context) { - return (GraphValidatorState) context.getExternalContext().getReque= stMap().get(getStateId(context)); + Object value =3D getValue(); + if (null !=3D value) { + return GraphValidatorState.getState(context, value); + } else { + return null; + } } = @Override public void processValidators(FacesContext context) { GraphValidatorState validatorState =3D getValidatorState(context); if (null !=3D validatorState) { + boolean wasActive =3D validatorState.isActive(); validatorState.setActive(true); + super.processValidators(context); + validatorState.setActive(wasActive); + if(!context.isValidationFailed()){ + validateObject(context, validatorState.getCloned()); + } + } else { + super.processValidators(context); } - super.processValidators(context); - if (null !=3D validatorState) { - validatorState.setActive(false); - validateObject(context, validatorState.getCloned()); - context.getExternalContext().getRequestMap().remove(getStateId= (context)); - } } = @Override public void processUpdates(FacesContext context) { super.processUpdates(context); - Object value =3D getValue(); - validateObject(context, value); + // Validate updated object if it was not done on clone. + if (!context.isValidationFailed()) { + Object value =3D getValue(); + if (null !=3D value) { + if (null =3D=3D GraphValidatorState.getState(context, valu= e)) { + validateObject(context, value); + } + } + } } = private void validateObject(FacesContext context, Object value) { if (null !=3D value) { - Validator validator =3D context.getApplication().createValidat= or(getType()); - if (validator instanceof GraphValidator) { - GraphValidator graphValidator =3D (GraphValidator) validat= or; - Collection messages =3D graphValidator.validateGra= ph(context, this, value, getGroups()); - if (null !=3D messages) { - context.renderResponse(); - // send all validation messages. - String clientId =3D getClientId(context); - for (String msg : messages) { - // TODO - create Summary message ? - String summary =3D null !=3D getSummary() ? getSum= mary() + msg : msg; - context.addMessage(clientId, new FacesMessage(Face= sMessage.SEVERITY_ERROR, summary, msg)); - } + Collection messages; + BeanValidatorService validatorService =3D ServiceTracker.getSe= rvice(BeanValidatorService.class); + messages =3D validatorService.validateObject(context, value, g= etGroups()); + if (!messages.isEmpty()) { + context.renderResponse(); + // send all validation messages. + String clientId =3D getClientId(context); + for (String msg : messages) { + String summary =3D null !=3D getSummary() ? getSummary= () : msg; + context.addMessage(clientId, new FacesMessage(FacesMes= sage.SEVERITY_ERROR, summary, msg)); } - - } else { - throw new FacesException("Validator " + FacesBeanValidator= .BEAN_VALIDATOR_TYPE - + " does not implement GraphValidator"); } = } } = - @Override - public void encodeBegin(FacesContext context) throws IOException { - super.encodeBegin(context); + public Validator createChildrenValidator(FacesContext context) { FacesBeanValidator validator =3D (FacesBeanValidator) context.getA= pplication().createValidator(getType()); validator.setSummary(getSummary()); ValueExpression expression =3D getValueExpression("groups"); @@ -242,48 +235,7 @@ } else { validator.setGroups(getGroups()); } - setupValidators(this, validator); + return validator; } - - @Override - public void encodeChildren(FacesContext context) throws IOException { - if (isRendered()) { - for (UIComponent child : getChildren()) { - if (child.isRendered()) { - child.encodeAll(context); - } - } - } - } - - private void setupValidators(UIComponent component, Validator validato= r) { - Iterator facetsAndChildren =3D component.getFacetsAnd= Children(); - while (facetsAndChildren.hasNext()) { - UIComponent child =3D facetsAndChildren.next(); - if (child instanceof EditableValueHolder) { - EditableValueHolder input =3D (EditableValueHolder) child; - setupValidator(input, validator); - } - setupValidators(child, validator); - } - } - - /** - * @param input - */ - private void setupValidator(EditableValueHolder input, Validator valid= ator) { - Validator[] validators =3D input.getValidators(); - for (int i =3D 0; i < validators.length; i++) { - if (validators[i].getClass().equals(validator.getClass())) { - return; - } - } - input.addValidator(validator); - } - - @Override - public boolean getRendersChildren() { - return true; - } - + = } Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/component/behav= ior/ClientValidatorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Cl= ientValidatorImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Cl= ientValidatorImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -31,6 +31,7 @@ import javax.el.ValueExpression; import javax.faces.FacesException; import javax.faces.application.Application; +import javax.faces.application.FacesMessage; import javax.faces.component.ActionSource; import javax.faces.component.EditableValueHolder; import javax.faces.component.NamingContainer; @@ -54,6 +55,7 @@ import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; import org.richfaces.component.ClientSideMessage; +import org.richfaces.javascript.JavaScriptService; import org.richfaces.log.Logger; import org.richfaces.log.RichfacesLogger; import org.richfaces.renderkit.html.ClientValidatorRenderer; @@ -116,12 +118,10 @@ if(partialViewContext.isAjaxRequest()){ UIComponent component =3D event.getComponent(); if(component instanceof EditableValueHolder){ - EditableValueHolder input =3D (EditableValueHolder) compon= ent; - Set messages =3D getMessages(facesContext, co= mponent); - Collection renderIds =3D partialViewContext.getRen= derIds(); - for (UIComponent uiComponent : messages) { - renderIds.add(uiComponent.getClientId(facesContext)); - } + String clientId =3D component.getClientId(facesContext); + Iterator messages =3D facesContext.getMessag= es(clientId); + JavaScriptService javaScriptService =3D ServiceTracker.get= Service(JavaScriptService.class); + javaScriptService.addPageReadyScript(facesContext, new Mes= sageUpdateScript(clientId,messages)); } } super.broadcast(event); @@ -245,7 +245,7 @@ } if(null !=3D converter){ FacesConverterService converterService =3D ServiceTracker.= getService(facesContext, FacesConverterService.class); - return converterService.getConverterDescription(facesConte= xt, converter); + return converterService.getConverterDescription(facesConte= xt, input, converter); } else { return null; } @@ -282,18 +282,20 @@ Validator[] facesValidators =3D input.getValidators(); FacesContext facesContext =3D context.getFacesContext(); if (facesValidators.length > 0) { + boolean beanValidatorsProcessed =3D false; FacesValidatorService facesValidatorService =3D ServiceTra= cker.getService(facesContext, FacesValidatorService.class); for (Validator validator : facesValidators) { if (validator instanceof BeanValidator || validator in= stanceof FacesBeanValidator) { ValueExpression valueExpression =3D component.getV= alueExpression(VALUE); - if (null !=3D valueExpression) { + if (null !=3D valueExpression && !beanValidatorsPr= ocessed) { BeanValidatorService beanValidatorService =3D = ServiceTracker.getService(facesContext, BeanValidatorService.class); validators.addAll(beanValidatorService.getCons= trains(facesContext, valueExpression, getGroups())); + beanValidatorsProcessed =3D true; } } else { - validators.add(facesValidatorService.getValidatorD= escription(facesContext, validator)); + validators.add(facesValidatorService.getValidatorD= escription(facesContext, input, validator)); } } } Copied: trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavio= r/MessageUpdateScript.java (from rev 22076, branches/4.0.X/ui/validator/ui/= src/main/java/org/richfaces/component/behavior/MessageUpdateScript.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Me= ssageUpdateScript.java (rev 0) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/component/behavior/Me= ssageUpdateScript.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -0,0 +1,45 @@ +package org.richfaces.component.behavior; + +import java.io.IOException; +import java.util.Iterator; + +import javax.faces.application.FacesMessage; + + +import org.ajax4jsf.javascript.JSFunction; +import org.ajax4jsf.javascript.ScriptString; +import org.ajax4jsf.javascript.ScriptStringBase; +import org.richfaces.javascript.Message; + +import com.google.common.base.Function; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterators; + +public class MessageUpdateScript extends ScriptStringBase implements Scrip= tString { + + private static final Function MESSAGES_= TRANSFORMER =3D new Function() { + + public Message apply(FacesMessage msg) { + return new Message(msg); + } + }; + private final ImmutableList messages; + private final String clientId; + + public MessageUpdateScript(String clientId,Iterator mess= ages) { + this.clientId =3D clientId; + this.messages =3D ImmutableList.copyOf(Iterators.transform(message= s, MESSAGES_TRANSFORMER)); + } + + public void appendScript(Appendable target) throws IOException { + JSFunction resetMessages =3D new JSFunction("RichFaces.csv.clearMe= ssage",clientId); + resetMessages.appendScript(target); + target.append(';'); + for (Message message : messages) { + JSFunction sendMessage =3D new JSFunction("RichFaces.csv.sendM= essage",clientId,message); + sendMessage.appendScript(target); + target.append(';'); + } + } + +} Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/el/CapturingELC= ontext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/el/CapturingELContext= .java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/el/CapturingELContext= .java 2011-03-07 20:14:44 UTC (rev 22077) @@ -4,14 +4,21 @@ package org.richfaces.el; = import java.beans.FeatureDescriptor; +import java.util.Collection; import java.util.Iterator; import java.util.Locale; +import java.util.Map; = import javax.el.ELContext; import javax.el.ELResolver; import javax.el.FunctionMapper; +import javax.el.ValueExpression; import javax.el.VariableMapper; +import javax.faces.context.FacesContext; +import javax.faces.el.CompositeComponentExpressionHolder; = +import org.richfaces.validator.GraphValidatorState; + /** * This class wraps original ELContext and capture whole call stack to the= target object so it could be used to extract * semantic information like annotations or Jena Model properties. @@ -36,6 +43,37 @@ return reference; } = + private boolean isContainerObject(Object base) { + return base instanceof Collection || base instanceof Map || base.g= etClass().isArray(); + } + + public boolean hasReferenceExpression() { + return reference !=3D null && reference.getBase() instanceof Compo= siteComponentExpressionHolder; + } + + public ValueExpression getReferenceExpression() { + CompositeComponentExpressionHolder expressionHolder =3D (Composite= ComponentExpressionHolder) reference.getBase(); + return expressionHolder.getExpression(reference.getProperty().toSt= ring()); + } + + public ValueDescriptor getDescriptor() { + ValueReference localReference =3D reference; + + while (true) { + if (localReference =3D=3D null || localReference.getBase() =3D= =3D null || localReference.getProperty() =3D=3D null) { + return null; + } + + Object base =3D localReference.getBase(); + + if (isContainerObject(base) && localReference.hasNext()) { + localReference =3D localReference.next(); + } else { + return new ValueDescriptor(base.getClass(), localReference= .getProperty().toString()); + } + } + } + /* * (non-Javadoc) * = @@ -88,6 +126,7 @@ private final class InterceptingResolver extends ELResolver { = private ELResolver delegate; + private boolean clonedObject; = public InterceptingResolver(ELResolver delegate) { this.delegate =3D delegate; @@ -97,6 +136,11 @@ @Override public void setValue(ELContext context, Object base, Object proper= ty, Object value) { if (base !=3D null) { + // TODO - detect value object from inderect references ( e= .g. data table variables ). + if (this.clonedObject) { + delegate.setValue(context, base, property, value); + } + context.setPropertyResolved(true); reference =3D new ValueReference(base, property, reference= ); } @@ -107,7 +151,16 @@ @Override public Object getValue(ELContext context, Object base, Object prop= erty) { reference =3D new ValueReference(base, property, reference); - return delegate.getValue(context, base, property); + Object value =3D delegate.getValue(context, base, property); + if (null !=3D value && context.isPropertyResolved()) { + FacesContext facesContext =3D (FacesContext) context.getCo= ntext(FacesContext.class); + Object clone =3D GraphValidatorState.getActiveClone(facesC= ontext, value); + if (null !=3D clone) { + this.clonedObject =3D true; + return clone; + } + } + return value; } = @Override Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpress= ionAnalayserImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpressionAna= layserImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/el/ValueExpressionAna= layserImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,25 +1,96 @@ package org.richfaces.el; = +import javax.el.ELContext; import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = public class ValueExpressionAnalayserImpl implements ValueExpressionAnalay= ser { = - public ValueDescriptor getPropertyDescriptor(FacesContext context, Val= ueExpression expression) throws ELException { - if(null =3D=3D context || null =3D=3D expression){ - throw new NullPointerException(); + private abstract static class ValueResolutionCommand { + = + private ValueDescriptor valueDescriptor; + = + public ValueDescriptor getValueDescriptor() { + return valueDescriptor; } - CapturingELContext capturingContext =3D new CapturingELContext(con= text.getELContext()); - Class type =3D expression.getType(capturingContext); - ValueReference reference =3D capturingContext.getReference(); - if(null !=3D reference && null !=3D reference.getBase() && null != =3D reference.getProperty()){ - // TODO - detect arrays, maps and lists. Check JSF implementat= ion code - seems that Mojarra dosn't validate such fields. - ValueDescriptor descriptor =3D new ValueDescriptor(reference.g= etBase().getClass(),reference.getProperty().toString(),type); - return descriptor; - } else { - throw new ELException("Cannot determine property for expressio= n "+expression.getExpressionString()); + + void setValueDescriptor(ValueDescriptor valueDescriptor) { + this.valueDescriptor =3D valueDescriptor; } + = + public abstract void resolve(ValueExpression expression, ELContext= context); + = } + = + private static final class GetTypeCommand extends ValueResolutionComma= nd { = + @Override + public void resolve(ValueExpression expression, ELContext context)= { + expression.getType(context); + } + } + = + private static final class SetValueCommand extends ValueResolutionComm= and { + + private Object value; + = + public SetValueCommand(Object value) { + super(); + this.value =3D value; + } + + @Override + public void resolve(ValueExpression expression, ELContext context)= { + expression.setValue(context, value); + } + = + } + = + private void checkNotNull(FacesContext context, ValueExpression expres= sion) { + if (context =3D=3D null) { + throw new NullPointerException("facesContext"); + } + = + if (expression =3D=3D null) { + throw new NullPointerException("expression"); + } + } + = + private void resolveValue(FacesContext context, ValueExpression initia= lExpression, ValueResolutionCommand command) throws ELException { + checkNotNull(context, initialExpression); + = + ValueExpression expression =3D initialExpression; + = + while (expression !=3D null) { + CapturingELContext capturingContext =3D new CapturingELContext= (context.getELContext()); + command.resolve(expression, capturingContext); + + if (capturingContext.hasReferenceExpression()) { + expression =3D capturingContext.getReferenceExpression(); + } else { + ValueDescriptor result =3D capturingContext.getDescriptor(= ); + + if (result =3D=3D null) { + throw new ELException("Cannot determine property for e= xpression " + initialExpression.getExpressionString()); + } + = + command.setValueDescriptor(result); + break; + } + } + } + = + public ValueDescriptor getPropertyDescriptor(FacesContext context, Val= ueExpression expression) throws ELException { + ValueResolutionCommand command =3D new GetTypeCommand(); + resolveValue(context, expression, command); + return command.getValueDescriptor(); + } + + public ValueDescriptor updateValueAndGetPropertyDescriptor(FacesContex= t context, ValueExpression expression, Object newValue) throws ELException { + ValueResolutionCommand command =3D new SetValueCommand(newValue); + resolveValue(context, expression, command); + return command.getValueDescriptor(); + } + = } Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/javascript/Clie= ntScriptServiceImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/javascript/ClientScri= ptServiceImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/javascript/ClientScri= ptServiceImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -3,9 +3,12 @@ */ package org.richfaces.javascript; = +import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentMap; = +import javax.faces.FacesException; import javax.faces.application.Resource; import javax.faces.application.ResourceDependency; import javax.faces.application.ResourceHandler; @@ -14,7 +17,10 @@ import org.richfaces.component.util.Strings; import org.richfaces.resource.ResourceKey; = +import com.google.common.base.Function; +import com.google.common.collect.ComputationException; import com.google.common.collect.Lists; +import com.google.common.collect.MapMaker; = /** * @author asmirnov @@ -25,11 +31,42 @@ private static final String TEXT_JAVASCRIPT =3D "text/javascript"; = private static final String ORG_RICHFACES_CSV =3D "org.richfaces.csv"; + = + private static final LibraryFunction NO_SCRIPT =3D new LibraryFunction= () { + = + public Iterable getResources() { + return Collections.emptySet(); + } + = + public String getName() { + return null; + } + }; = + private static final Function, ? extends LibraryFunction> RES= OURCE_SCRIPT_FUNCTION =3D new Function, LibraryFunction>() { + + public LibraryFunction apply(Class arg0) { + return getScriptResource(FacesContext.getCurrentInstance(), ar= g0); + } + }; + = + private static final Function, ? extends LibraryFunction> ANN= OTATION_SCRIPT_FUNCTION =3D new Function, LibraryFunction>() { + + public LibraryFunction apply(Class arg0) { + return getScriptFromAnnotation(arg0); + } + }; + + private final ConcurrentMap, LibraryFunction> resourcesMappin= g; + + private final ConcurrentMap, LibraryFunction> annotationsMapp= ing; + private final Map, LibraryFunction> defaultMapping; = public ClientScriptServiceImpl(Map, LibraryFunction> defaultM= apping) { this.defaultMapping =3D defaultMapping; + resourcesMapping =3D new MapMaker().initialCapacity(10).makeComput= ingMap(RESOURCE_SCRIPT_FUNCTION); + annotationsMapping =3D new MapMaker().initialCapacity(10).makeComp= utingMap(ANNOTATION_SCRIPT_FUNCTION); } = /* @@ -41,20 +78,30 @@ if (null =3D=3D facesContext || null =3D=3D javaClass) { throw new NullPointerException(); } - LibraryFunction function; - try { - function =3D getScriptResource(facesContext, javaClass); - } catch (ScriptNotFoundException e) { + LibraryFunction function =3D getFromComputationMap(resourcesMappin= g, javaClass); + if(NO_SCRIPT =3D=3D function) { if (defaultMapping.containsKey(javaClass)) { function =3D defaultMapping.get(javaClass); } else { - function =3D getScriptFromAnnotation(javaClass); + function =3D getFromComputationMap(annotationsMapping, jav= aClass); } } + if(NO_SCRIPT =3D=3D function) { + throw new ScriptNotFoundException("No client-side script for c= lass "+javaClass.getName()); + } return function; } + = + private LibraryFunction getFromComputationMap(ConcurrentMap, = LibraryFunction> map, Class clazz){ + try { + return map.get(clazz); + } catch (ComputationException e) { + Throwable cause =3D e.getCause(); + throw new FacesException(cause); + } + } = - private LibraryFunction getScriptFromAnnotation(Class javaClass) th= rows ScriptNotFoundException { + private static LibraryFunction getScriptFromAnnotation(Class javaCl= ass) { if (javaClass.isAnnotationPresent(ClientSideScript.class)) { ClientSideScript clientSideScript =3D javaClass.getAnnotation(= ClientSideScript.class); List resources =3D Lists.newArrayList(); @@ -63,12 +110,11 @@ } return new LibraryFunctionImplementation(clientSideScript.func= tion(), resources); } else { - throw new ScriptNotFoundException(); + return NO_SCRIPT; } } = - private LibraryFunction getScriptResource(FacesContext facesContext, C= lass javaClass) - throws ScriptNotFoundException { + private static LibraryFunction getScriptResource(FacesContext facesCon= text, Class javaClass){ ResourceHandler resourceHandler =3D facesContext.getApplication().= getResourceHandler(); String resourceName =3D javaClass.getSimpleName() + ".js"; Resource facesResource =3D resourceHandler.createResource(resource= Name, ORG_RICHFACES_CSV, TEXT_JAVASCRIPT); @@ -76,7 +122,7 @@ final String functionName =3D Strings.firstToLowerCase(javaCla= ss.getSimpleName()); return new LibraryFunctionImplementation(functionName,resource= Name, ORG_RICHFACES_CSV); } else { - throw new ScriptNotFoundException(); + return NO_SCRIPT; } } = Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/= AjaxOnlyScript.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/AjaxOn= lyScript.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/AjaxOn= lyScript.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,15 +1,18 @@ package org.richfaces.renderkit.html; = import java.io.IOException; -import java.util.Collections; = import org.richfaces.resource.ResourceKey; = +import com.google.common.collect.ImmutableSet; + public class AjaxOnlyScript extends ValidatorScriptBase { = - public static final Iterable AJAX_LIBRARIES =3D Collectio= ns.singleton(ResourceKey.create("ajax.reslib", - "org.richfaces")); + public static final ResourceKey AJAX_RESOURCE =3D ResourceKey.create("= ajax.reslib", + "org.richfaces"); = + public static final Iterable AJAX_LIBRARIES =3D Immutable= Set.of(AJAX_RESOURCE,ClientOnlyScript.CSV_RESOURCE); + private final String ajaxScript; = public AjaxOnlyScript(String ajaxScript) { Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/= ClientAndAjaxScript.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/Client= AndAjaxScript.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/Client= AndAjaxScript.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -5,7 +5,8 @@ = import org.richfaces.resource.ResourceKey; = -import com.google.common.collect.Iterables; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; = = public class ClientAndAjaxScript extends ClientOnlyScript{ @@ -19,7 +20,10 @@ Collection validatorScripts, Stri= ng ajaxScript) { super(clientSideConverterScript,validatorScripts); this.ajaxScript =3D ajaxScript; - resources =3D Iterables.concat(AjaxOnlyScript.AJAX_LIBRARIES,super= .getResources()); + Builder builder =3D ImmutableSet.builder= (); + builder.add(AjaxOnlyScript.AJAX_RESOURCE); + builder.addAll(super.getResources()); + resources =3D builder.build(); } = = Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/= ClientOnlyScript.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/Client= OnlyScript.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/renderkit/html/Client= OnlyScript.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -15,7 +15,7 @@ = public class ClientOnlyScript extends ValidatorScriptBase { = - private static final ResourceKey CSV_RESOURCE =3D ResourceKey.create("= csv.reslib", "org.richfaces"); + public static final ResourceKey CSV_RESOURCE =3D ResourceKey.create("c= sv.reslib", "org.richfaces"); protected final LibraryScriptFunction converter; protected final ImmutableList validat= ors; private final ImmutableSet resources; @@ -26,13 +26,13 @@ this.converter =3D clientSideConverterScript; this.validators =3D ImmutableList.copyOf(validatorScripts); LinkedHashSet resources =3D Sets.newLinkedHashSet(); + resources.add(CSV_RESOURCE); if (null !=3D converter) { Iterables.addAll(resources, converter.getResources()); } for (LibraryScriptFunction scriptString : validators) { Iterables.addAll(resources, scriptString.getResources()); } - resources.add(CSV_RESOURCE); this.resources =3D ImmutableSet.copyOf(resources); } = Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/BeanV= alidatorServiceImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/BeanValidat= orServiceImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/BeanValidat= orServiceImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -3,23 +3,17 @@ */ package org.richfaces.validator; = -import java.beans.FeatureDescriptor; import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.EmptyStackException; import java.util.HashSet; -import java.util.Iterator; import java.util.Locale; import java.util.Map; import java.util.Set; -import java.util.Stack; = -import javax.el.ELContext; import javax.el.ELException; -import javax.el.ELResolver; import javax.el.ValueExpression; import javax.faces.FacesException; import javax.faces.application.FacesMessage; @@ -30,7 +24,6 @@ import javax.validation.metadata.ElementDescriptor.ConstraintFinder; import javax.validation.metadata.PropertyDescriptor; = -import org.richfaces.el.ELContextWrapper; import org.richfaces.el.ValueDescriptor; import org.richfaces.el.ValueExpressionAnalayser; = @@ -64,6 +57,11 @@ Class... groups) { try { ValueDescriptor propertyDescriptor =3D analayser.getPropertyDe= scriptor(context, expression); + = + if (propertyDescriptor =3D=3D null) { + return Collections.emptySet(); + } + = return processBeanAttribute(context, propertyDescriptor, group= s); } catch (ELException e) { return Collections.emptySet(); @@ -147,66 +145,36 @@ = public Collection validateExpression(FacesContext context, Val= ueExpression expression, Object newValue, Class... groups) { + = if (null =3D=3D context) { throw new FacesException(INPUT_PARAMETERS_IS_NOT_CORRECT); } - Collection validationMessages =3D Collections.emptySet(); + = + Collection validationMessages =3D null; if (null !=3D expression) { - ELContext elContext =3D context.getELContext(); - ValidationResolver validationResolver =3D - createValidationResolver(context, elContext.getELResolver(= ), groups); - ELContextWrapper wrappedElContext =3D new ELContextWrapper(elC= ontext, validationResolver); + ValueDescriptor valueDescriptor; try { - expression.setValue(wrappedElContext, newValue); + valueDescriptor =3D analayser.updateValueAndGetPropertyDes= criptor(context, expression, newValue); } catch (ELException e) { throw new FacesException(e); } - if (!validationResolver.isValid()) { - validationMessages =3D validationResolver.getValidationMes= sages(); + + if (valueDescriptor !=3D null) { + validationMessages =3D validate(context, valueDescriptor.g= etBeanType(), valueDescriptor.getName(), newValue, groups); } + = } + = + if (validationMessages =3D=3D null) { + validationMessages =3D Collections.emptySet(); + } + = return validationMessages; } = = - protected ValidationResolver createValidationResolver(FacesContext con= text, ELResolver parent, Class[] groups) { - return new ValidationResolver(parent, context, groups); - } = /** - * @author asmirnov - * = - */ - protected static class BasePropertyPair { - private final Object base; - private final Object property; - - /** - * @param base - * @param property - */ - public BasePropertyPair(Object base, Object property) { - this.base =3D base; - this.property =3D property; - } - - /** - * @return the base - */ - public Object getBase() { - return base; - } - - /** - * @return the property - */ - public Object getProperty() { - return property; - } - - } - - /** * Class for identify validator instance by locale * = * @author amarkhel @@ -277,165 +245,13 @@ = } = - /** - * Wrapper class for a {@link ELResolver}. For a setValue method, perf= orm validation instead of real assignment. - * = - * @author asmirnov - * = - */ - final class ValidationResolver extends ELResolver { = - /** - * Original resolver. - */ - private final ELResolver parent; - - private boolean valid =3D true; - - private Collection validationMessages =3D null; - - private Stack valuesStack; - - private Class[] groups; - - private FacesContext facesContext; - - private boolean clonedObject =3D false; - - /** - * @param parent - * @param context - */ - public ValidationResolver(ELResolver parent, FacesContext context,= Class[] groups) { - this.parent =3D parent; - this.valuesStack =3D new Stack(); - this.groups =3D groups; - this.facesContext =3D context; - } - - public boolean isValid() { - return valid; - } - - /** - * @param context - * @param base - * @return - * @see javax.el.ELResolver#getCommonPropertyType(javax.el.ELConte= xt, java.lang.Object) - */ - public Class getCommonPropertyType(ELContext context, Object ba= se) { - return parent.getCommonPropertyType(context, base); - } - - /** - * @param context - * @param base - * @return - * @see javax.el.ELResolver#getFeatureDescriptors(javax.el.ELConte= xt, java.lang.Object) - */ - public Iterator getFeatureDescriptors(ELContext= context, Object base) { - return parent.getFeatureDescriptors(context, base); - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#getType(javax.el.ELContext, java.lang.= Object, java.lang.Object) - */ - public Class getType(ELContext context, Object base, Object pro= perty) { - return parent.getType(context, base, property); - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#getValue(javax.el.ELContext, java.lang= .Object, java.lang.Object) - */ - public Object getValue(ELContext context, Object base, Object prop= erty) { - Object value =3D ClonedObjectResolver.resolveCloned(context, b= ase, property); - if (null !=3D value) { - this.clonedObject =3D true; - context.setPropertyResolved(true); - } else { - value =3D parent.getValue(context, base, property); - } - valuesStack.push(new BasePropertyPair(base, property)); - return value; - } - - /** - * @param context - * @param base - * @param property - * @return - * @see javax.el.ELResolver#isReadOnly(javax.el.ELContext, java.la= ng.Object, java.lang.Object) - */ - public boolean isReadOnly(ELContext context, Object base, Object p= roperty) { - return parent.isReadOnly(context, base, property); - } - - /** - * @param context - * @param base - * @param property - * @param value - * @see javax.el.ELResolver#setValue(javax.el.ELContext, java.lang= .Object, java.lang.Object, java.lang.Object) - */ - public void setValue(ELContext context, Object base, Object proper= ty, Object value) { - if (null !=3D base && null !=3D property) { - // TODO - detect value object from inderect references ( e= .g. data table variables ). - if (this.clonedObject) { - parent.setValue(context, base, property, value); - } - context.setPropertyResolved(true); - // For Arrays, Collection or Map use parent base and prope= rty. - BasePropertyPair basePropertyPair =3D lookupBeanProperty(n= ew BasePropertyPair(base, property)); - base =3D basePropertyPair.getBase(); - property =3D basePropertyPair.getProperty(); - if (null !=3D base && null !=3D property) { - // https://jira.jboss.org/jira/browse/RF-4034 - // apache el looses locale information during value - // resolution, - // so we use our own - validationMessages =3D validate(facesContext, base, pr= operty.toString(), value, groups); - valid =3D null =3D=3D validationMessages || 0 =3D=3D v= alidationMessages.size(); - - } - } - } - - private BasePropertyPair lookupBeanProperty(BasePropertyPair pair)= { - Object base =3D pair.getBase(); - if (null !=3D base && (base instanceof Collection || base inst= anceof Map || base.getClass().isArray())) { - try { - pair =3D lookupBeanProperty(valuesStack.pop()); - } catch (EmptyStackException e) { - // Do nothing, this is a first item. - } - } - return pair; - } - - /** - * @return the validationMessages - */ - public Collection getValidationMessages() { - return validationMessages; - } - - } - - protected Collection validate(FacesContext facesContext, Objec= t base, String property, Object value, + protected Collection validate(FacesContext facesContext, Class= beanType, String property, Object value, Class[] groups) { - @SuppressWarnings("rawtypes") - Class beanType =3D base.getClass(); + = @SuppressWarnings("unchecked") Set> constrains =3D - getValidator(facesContext).validateValue(beanType, property, v= alue, getGroups(groups)); + getValidator(facesContext).validateValue((Class) beanT= ype, property, value, getGroups(groups)); return extractMessages(constrains); } = @@ -450,13 +266,15 @@ } = private Collection extractMessages(Set> violations) { - Collection messages =3D null; + Collection messages; if (null !=3D violations && violations.size() > 0) { messages =3D new ArrayList(violations.size()); for (ConstraintViolation constraintViolation= : violations) { messages.add(constraintViolation.getMessage()); } = + } else { + messages =3D Collections.emptySet(); } return messages; } Deleted: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/Cloned= ObjectResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ClonedObjec= tResolver.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ClonedObjec= tResolver.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,110 +0,0 @@ -/** - * = - */ -package org.richfaces.validator; - -import java.beans.FeatureDescriptor; -import java.util.Iterator; -import java.util.Map; - -import javax.el.ELContext; -import javax.el.ELResolver; -import javax.faces.context.FacesContext; - - - -/** - * @author asmirnov - * = - */ -public class ClonedObjectResolver extends ELResolver { - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getCommonPropertyType(javax.el.ELContext, = java.lang.Object) - */ - @Override - public Class getCommonPropertyType(ELContext context, Object base) { - // Do nothing - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getFeatureDescriptors(javax.el.ELContext, = java.lang.Object) - */ - @Override - public Iterator getFeatureDescriptors(ELContext con= text, Object base) { - // do nothing - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getType(javax.el.ELContext, java.lang.Obje= ct, java.lang.Object) - */ - @Override - public Class getType(ELContext context, Object base, Object propert= y) { - Object cloned =3D resolveCloned(context, base, property); - if (null !=3D cloned) { - context.setPropertyResolved(true); - return cloned.getClass(); - } - return null; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#getValue(javax.el.ELContext, java.lang.Obj= ect, java.lang.Object) - */ - @Override - public Object getValue(ELContext context, Object base, Object property= ) { - Object cloned =3D resolveCloned(context, base, property); - if (null !=3D cloned) { - context.setPropertyResolved(true); - } - return cloned; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#isReadOnly(javax.el.ELContext, java.lang.O= bject, java.lang.Object) - */ - @Override - public boolean isReadOnly(ELContext context, Object base, Object prope= rty) { - // TODO Auto-generated method stub - return false; - } - - /* - * (non-Javadoc) - * = - * @see javax.el.ELResolver#setValue(javax.el.ELContext, java.lang.Obj= ect, java.lang.Object, java.lang.Object) - */ - @Override - public void setValue(ELContext context, Object base, Object property, = Object value) { - // TODO Auto-generated method stub - - } - - public static Object resolveCloned(ELContext context, Object base, Obj= ect property) { - if (null !=3D base || null !=3D property) { - FacesContext facesContext =3D FacesContext.getCurrentInstance(= ); - Map requestMap =3D facesContext.getExternalCon= text().getRequestMap(); - for (String key : requestMap.keySet()) { - if (null !=3D key && key.startsWith(GraphValidatorState.ST= ATE_ATTRIBUTE_PREFIX)) { - GraphValidatorState state =3D (GraphValidatorState) re= questMap.get(key); - if (state.isSame(base, property)) { - return state.getCloned(); - } - } - } - } - return null; - } -} Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/Conve= rterServiceImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ConverterSe= rviceImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/ConverterSe= rviceImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -5,6 +5,7 @@ = = import javax.faces.application.FacesMessage; +import javax.faces.component.EditableValueHolder; import javax.faces.component.UIInput; import javax.faces.context.FacesContext; import javax.faces.convert.BigDecimalConverter; @@ -37,9 +38,9 @@ * @see org.richfaces.validator.FacesConverterService#getConverterDesc= ription(javax.faces.context.FacesContext, * javax.faces.convert.Converter) */ - public ConverterDescriptor getConverterDescription(FacesContext contex= t, Converter converter) { + public ConverterDescriptor getConverterDescription(FacesContext contex= t, EditableValueHolder input, Converter converter) { // determine converter message. - FacesMessage message =3D getMessage(context, converter); + FacesMessage message =3D getMessage(context, converter, input); ConverterDescriptorImpl descriptor =3D new ConverterDescriptorImpl= (converter.getClass(), message); fillParameters(descriptor, converter); descriptor.makeImmutable(); Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/Faces= BeanValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesBeanVa= lidator.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesBeanVa= lidator.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -37,8 +37,6 @@ = import org.richfaces.application.ServiceTracker; import org.richfaces.cdk.annotations.JsfValidator; -import org.richfaces.cdk.annotations.Tag; -import org.richfaces.cdk.annotations.TagType; = import com.google.common.base.Strings; = @@ -48,7 +46,7 @@ * @author asmirnov * = */ -(a)JsfValidator(id=3DFacesBeanValidator.BEAN_VALIDATOR_TYPE,tag=3D@Tag(nam= e=3D"beanValidator",type=3DTagType.Facelets)) +(a)JsfValidator(id=3DFacesBeanValidator.BEAN_VALIDATOR_TYPE) public class FacesBeanValidator implements Serializable, Validator, GraphV= alidator { = public static final String BEAN_VALIDATOR_TYPE =3D "org.richfaces.Bean= Validator"; Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/Faces= ServiceBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesServic= eBase.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesServic= eBase.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -7,6 +7,8 @@ import java.lang.reflect.InvocationTargetException; = import javax.faces.application.FacesMessage; +import javax.faces.component.EditableValueHolder; +import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; = import com.google.common.collect.ImmutableSet; @@ -50,11 +52,23 @@ * = * @param context * @param component + * @param input TODO * @return */ - public FacesMessage getMessage(FacesContext context, T component) { + public FacesMessage getMessage(FacesContext context, T component, Edit= ableValueHolder input) { String messageId =3D getMessageId(component); return MessageFactory.createMessage(context, messageId); } = + + protected void setLabelParameter(EditableValueHolder input, FacesValid= atorDescriptor descriptor) { + if (input instanceof UIComponent) { + UIComponent component =3D (UIComponent) input; + Object label =3D component.getAttributes().get("label"); + if(null!=3Dlabel){ + descriptor.addParameter("label", label); + } + } + } + } \ No newline at end of file Modified: trunk/ui/validator/ui/src/main/java/org/richfaces/validator/Faces= ValidatorServiceImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesValida= torServiceImpl.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/validator/FacesValida= torServiceImpl.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -4,6 +4,7 @@ package org.richfaces.validator; = import javax.faces.application.FacesMessage; +import javax.faces.component.EditableValueHolder; import javax.faces.component.UIInput; import javax.faces.context.FacesContext; import javax.faces.validator.DoubleRangeValidator; @@ -19,15 +20,20 @@ */ public class FacesValidatorServiceImpl extends FacesServiceBase= implements FacesValidatorService { = + private static final String PATTERN =3D "pattern"; + private static final String MINIMUM =3D "min"; + private static final String MAXIMUM =3D "max"; + /* * (non-Javadoc) * = * @see org.richfaces.validator.FacesValidatorService#getValidatorDesc= ription(javax.faces.context.FacesContext, * javax.faces.validator.Validator) */ - public ValidatorDescriptor getValidatorDescription(FacesContext contex= t, Validator validator) { - FacesMessage message =3D getMessage(context, validator); + public ValidatorDescriptor getValidatorDescription(FacesContext contex= t, EditableValueHolder input, Validator validator) { + FacesMessage message =3D getMessage(context, validator, input); FacesValidatorDescriptor descriptor =3D new FacesValidatorDescript= or(validator.getClass(), message); + setLabelParameter(input, descriptor); fillParameters(descriptor, validator); descriptor.makeImmutable(); return descriptor; @@ -39,7 +45,7 @@ String messageId; if (component instanceof DoubleRangeValidator) { DoubleRangeValidator validator =3D (DoubleRangeValidator) comp= onent; - if(validator.getMaximum() > Double.MIN_VALUE){ + if(validator.getMaximum() < Double.MAX_VALUE){ if(validator.getMinimum()> Double.MIN_VALUE){ messageId =3D DoubleRangeValidator.NOT_IN_RANGE_MESSAG= E_ID; } else { @@ -65,13 +71,13 @@ } } else if (component instanceof LongRangeValidator) { LongRangeValidator validator =3D (LongRangeValidator) componen= t; - if(validator.getMaximum() >0){ - if(validator.getMinimum()>0){ + if(validator.getMaximum() !=3D0){ + if(validator.getMinimum()!=3D0){ messageId =3D DoubleRangeValidator.NOT_IN_RANGE_MESSAG= E_ID; } else { messageId =3D LongRangeValidator.MAXIMUM_MESSAGE_ID; } - } else if( validator.getMinimum()>0){ + } else if( validator.getMinimum()!=3D0){ messageId =3D LongRangeValidator.MINIMUM_MESSAGE_ID; } else { messageId =3D DoubleRangeValidator.NOT_IN_RANGE_MESSAGE_ID= ;// What to use for that case ( no min/max set, validator always pass ). @@ -86,4 +92,40 @@ return messageId; } = + @Override + protected void fillParameters(BaseFacesObjectDescriptor des= criptor, Validator component) { + if (component instanceof DoubleRangeValidator) { + DoubleRangeValidator validator =3D (DoubleRangeValidator) comp= onent; + if(validator.getMaximum() < Double.MAX_VALUE){ + descriptor.addParameter(MAXIMUM, validator.getMaximum()); + } + if( validator.getMinimum()>Double.MIN_VALUE){ + descriptor.addParameter(MINIMUM, validator.getMinimum()); + } + } else if (component instanceof LengthValidator) { + LengthValidator validator =3D (LengthValidator) component; + if(validator.getMaximum() >0){ + descriptor.addParameter(MAXIMUM, validator.getMaximum()); + } = + if( validator.getMinimum()>0){ + descriptor.addParameter(MINIMUM, validator.getMinimum()); + } + } else if (component instanceof LongRangeValidator) { + LongRangeValidator validator =3D (LongRangeValidator) componen= t; + if(validator.getMaximum() !=3D0){ + descriptor.addParameter(MAXIMUM, validator.getMaximum()); + } = + if( validator.getMinimum()!=3D0){ + descriptor.addParameter(MINIMUM, validator.getMinimum()); + } + } else if (component instanceof RegexValidator) { + RegexValidator validator =3D (RegexValidator) component; + descriptor.addParameter(PATTERN, validator.getPattern()); + } else if (component instanceof RequiredValidator) { + // do nothing. + } else { + super.fillParameters(descriptor, component); + } + + } } Copied: trunk/ui/validator/ui/src/main/java/org/richfaces/view/facelets/htm= l/GraphValidatorHandler.java (from rev 22076, branches/4.0.X/ui/validator/u= i/src/main/java/org/richfaces/view/facelets/html/GraphValidatorHandler.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/java/org/richfaces/view/facelets/html/Gr= aphValidatorHandler.java (rev 0) +++ trunk/ui/validator/ui/src/main/java/org/richfaces/view/facelets/html/Gr= aphValidatorHandler.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -0,0 +1,162 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2011, 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 java.io.IOException; +import java.util.Iterator; + +import javax.el.ELException; +import javax.faces.FacesException; +import javax.faces.component.EditableValueHolder; +import javax.faces.component.StateHolder; +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.event.AbortProcessingException; +import javax.faces.event.ComponentSystemEvent; +import javax.faces.event.ComponentSystemEventListener; +import javax.faces.event.PostAddToViewEvent; +import javax.faces.validator.BeanValidator; +import javax.faces.validator.Validator; +import javax.faces.view.facelets.ComponentConfig; +import javax.faces.view.facelets.ComponentHandler; +import javax.faces.view.facelets.FaceletContext; + +import org.richfaces.component.AbstractGraphValidator; + +/** + * @author Nick Belaevski + * = + */ +public class GraphValidatorHandler extends ComponentHandler { + + private static final String BUILT_IN_BEAN_VALIDATOR_ATTRIBUTE_NAME =3D= GraphValidatorHandler.class.getName() = + + ":BUILT_IN_BEAN_VALIDATOR_ATTRIBUTE_NAME"; + = + private class FacesBeanValidatorAddListener implements ComponentSystem= EventListener, StateHolder { + + public void processEvent(ComponentSystemEvent event) throws AbortP= rocessingException { + FacesContext context =3D FacesContext.getCurrentInstance(); + Validator childrenValidator =3D createChildrenValidator(contex= t, event.getComponent()); + setupValidators(context, event.getComponent(), childrenValidat= or); + } + + public Object saveState(FacesContext context) { + throw new UnsupportedOperationException(); + } + + public void restoreState(FacesContext context, Object state) { + throw new UnsupportedOperationException(); + } + + public boolean isTransient() { + return true; + } + + public void setTransient(boolean newTransientValue) { + throw new UnsupportedOperationException(); + } + } + = + public GraphValidatorHandler(ComponentConfig config) { + super(config); + } + + private Validator getBuiltInBeanValidator(FacesContext context) { + Validator result =3D (Validator) context.getAttributes().get(BUILT= _IN_BEAN_VALIDATOR_ATTRIBUTE_NAME); + + if (result =3D=3D null) { + result =3D context.getApplication().createValidator(BeanValida= tor.VALIDATOR_ID); + context.getAttributes().put(BUILT_IN_BEAN_VALIDATOR_ATTRIBUTE_= NAME, result); + } + = + return result; + } + = + private void setupValidators(FacesContext context, UIComponent compone= nt, Validator validator) { + if (component.getChildCount() =3D=3D 0 && component.getFacetCount(= ) =3D=3D 0) { + return; + } + = + Iterator facetsAndChildren =3D component.getFacetsAnd= Children(); + while (facetsAndChildren.hasNext()) { + UIComponent child =3D facetsAndChildren.next(); + if (child instanceof EditableValueHolder) { + EditableValueHolder input =3D (EditableValueHolder) child; + setupValidator(context, input, validator); + } + = + if (!(child instanceof AbstractGraphValidator)) { + //don't setup validators for nested GVs + setupValidators(context, child, validator); + } + = + } + } + + /** + * @param context TODO + * @param input + */ + private void setupValidator(FacesContext context, EditableValueHolder = input, Validator beanValidator) { + boolean addBeanValidator =3D true; + Class validatorToRemoveClass =3D getBuiltInBeanValidator(contex= t).getClass(); + Validator validatorToRemove =3D null; + = + Validator[] validators =3D input.getValidators(); + for (int i =3D 0; i < validators.length; i++) { + Validator nextValidator =3D validators[i]; + if (nextValidator.getClass().equals(beanValidator.getClass()))= { + addBeanValidator =3D false; + continue; + } + = + if (nextValidator.getClass().equals(validatorToRemoveClass)) { + validatorToRemove =3D nextValidator; + } + } + = + if (validatorToRemove !=3D null) { + input.removeValidator(validatorToRemove); + } + = + if (addBeanValidator) { + input.addValidator(beanValidator); + } + } + + private Validator createChildrenValidator(FacesContext context, UIComp= onent c) { + AbstractGraphValidator graphValidator =3D (AbstractGraphValidator)= c; + = + return graphValidator.createChildrenValidator(context); + } = + = + @Override + public void applyNextHandler(FaceletContext ctx, UIComponent c) throws= IOException, FacesException, ELException { + super.applyNextHandler(ctx, c); + = + if (c.isInView()) { + setupValidators(ctx.getFacesContext(), c, createChildrenValida= tor(ctx.getFacesContext(), c)); + } else { + c.subscribeToEvent(PostAddToViewEvent.class, new FacesBeanVali= datorAddListener()); + } + } +} Modified: trunk/ui/validator/ui/src/main/resources/META-INF/csv.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/resources/META-INF/csv.xml 2011-03-07 17= :31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/resources/META-INF/csv.xml 2011-03-07 20= :14:44 UTC (rev 22077) @@ -176,4 +176,20 @@ RichFaces.csv.validateMax + + javax.validation.constraints.AssertTrue + + csv.reslib + org.richfaces + + RichFaces.csv.validateTrue + + + javax.validation.constraints.AssertFalse + + csv.reslib + org.richfaces + + RichFaces.csv.validateFalse + \ No newline at end of file Modified: trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.r= ichfaces/richfaces-csv.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richfac= es/richfaces-csv.js 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richfac= es/richfaces-csv.js 2011-03-07 20:14:44 UTC (rev 22077) @@ -3,12 +3,10 @@ rf.csv =3D rf.csv || {}; = var _messages =3D {}; - var _validators =3D {}; - var _converters =3D {}; = var RE_MESSAGE_PATTERN =3D /\'?\{(\d+)\}\'?/g; = - var __interpolateMessage =3D function (message, values) { + var interpolateMessage =3D function (message, values) { if (message) { var msgObject =3D message.replace(RE_MESSAGE_PATTERN,"\n$1\n").split("\= n"); var value; @@ -21,21 +19,115 @@ return ""; } } - = = - var __getValue =3D function(id) { + var _value_query =3D function(control){ + if(null !=3D=3D control.value && undefined !=3D control.value){ + return control.value; + } else { + return ""; + } + }; + = + var _check_query =3D function(control){ + if( control.checked ) { + return true; + } else { + return false; + } + }; + + var _addOption =3D function(value,option){ + if ( option.selected ){ + return value[value.length]=3Doption.value; + } + = + }; + + var valueExtractors =3D { + hidden : function(control){ + return _value_query(control); + }, + = + text : function(control){ + return _value_query(control); + }, + + textarea : function(control){ + return _value_query(control); + }, + + 'select-one' : function(control){ + if (control.selectedIndex !=3D -1) { + return _value_query(control); + } + }, + + password : function(control){ + return _value_query(control); + }, + + file : function(control){ + return _value_query(control); + }, + + radio : function(control){ + return _check_query(control); + }, + + checkbox : function(control){ + return _check_query(control); + }, + + = + 'select-multiple' : function(control){ + var cname =3D control.name; + var childs =3D control.childNodes; + var value =3D []; + for( var i=3D0 ;i< childs.length;i++ ){ + var child=3Dchilds[i]; + if( child.tagName =3D=3D=3D 'OPTGROUP' ){ + var options =3D child.childNodes; + for(var j=3D0; j < options.length; j++){ + value =3D _addOption(value, options[j]); + } + } else { + value =3D_addOption(value, child); + } + } + return value; + }, + = + // command inputs + + = + // same as link, but have additional field - control, for input + // submit. + input : function(control){ + return _value_query(control); + } = + }; + + var getValue =3D function(id) { var value; var element =3D rf.getDomElement(id); - if (element.value) { + if (valueExtractors[element.type]) { + value =3D valueExtractors[element.type](element); + } else if(undefined !=3D=3D element.value ){ value =3D element.value; } else { var component =3D rf.$(element); // TODO: add getValue to baseComponent and change jsdocs - value =3D component && typeof component["getValue"] =3D=3D "function" ?= component.getValue() : ""; + value =3D component && typeof component["getValue"] =3D=3D=3D "function= " ? component.getValue() : ""; } return value; } = + var getLabel =3D function(component,id){ + if(component.p){ + return component.p.label || id; + } + return id; + } = $.extend(rf.csv, { RE_DIGITS: /^-?\d+$/, @@ -46,10 +138,10 @@ }, getMessage: function(customMessage, messageId, values) { var message =3D customMessage ? customMessage : _messages[messageId] ||= {detail:"",summary:"",severity:0}; - return {detail:__interpolateMessage(message.detail,values),summary:__in= terpolateMessage(message.summary,values),severity:message.severity}; + return {detail:interpolateMessage(message.detail,values),summary:interp= olateMessage(message.summary,values),severity:message.severity}; }, interpolateMessage: function(message,values){ - return {detail:__interpolateMessage(message.detail,values),summary:__in= terpolateMessage(message.summary,values),severity:message.severity}; = + return {detail:interpolateMessage(message.detail,values),summary:interp= olateMessage(message.summary,values),severity:message.severity}; = }, sendMessage: function (componentId, message) { rf.Event.fire(window.document, rf.Event.MESSAGE_EVENT_TYPE, {'sourceId'= :componentId, 'message':message}); @@ -58,14 +150,15 @@ rf.Event.fire(window.document, rf.Event.MESSAGE_EVENT_TYPE, {'sourceId'= :componentId }); }, validate: function (event, id, element, params) { - var value =3D __getValue(element || id); + var value =3D getValue(element || id); var convertedValue; var converter =3D params.c; rf.csv.clearMessage(id); if (converter) { + var label=3DgetLabel(converter,id); try { if (converter.f) - convertedValue =3D converter.f(value,id,converter.p,converter.m); + convertedValue =3D converter.f(value,id,getLabel(converter,id),conve= rter.m); } catch (e){ e.severity=3D2; rf.csv.sendMessage(id, e); @@ -74,30 +167,33 @@ } else { convertedValue =3D value; } + var result =3D true var validators =3D params.v; if (validators) { - var validatorFunction; - try { + var validatorFunction,validator; for (i=3D0;i0; - var isMaxSet =3D typeof params.maximum =3D=3D=3D "number" ;//&& params.m= aximum >0; + var isMinSet =3D typeof params.min =3D=3D=3D "number" ;// && params.min = >0; + var isMaxSet =3D typeof params.max =3D=3D=3D "number" ;// && params.max = >0; = - if (isMaxSet && value > params.maximum) { - throw rf.csv.interpolateMessage(msg,isMinSet?[params.minimum,params.max= imum,label]:[params.maximum,label]); + if (isMaxSet && value > params.max) { + throw rf.csv.interpolateMessage(msg,isMinSet?[params.min,params.max,lab= el]:[params.max,label]); } - if (isMinSet && value < params.minimum) { - throw rf.csv.interpolateMessage(msg,isMaxSet?[params.minimum,params.max= imum,label]:[params.minimum,label]); + if (isMinSet && value < params.min) { + throw rf.csv.interpolateMessage(msg,isMaxSet?[params.min,params.max,lab= el]:[params.min,label]); } }; = @@ -197,7 +298,7 @@ $.extend(rf.csv, { = "validateLongRange": function (value,label,params,msg) { var type =3D typeof value; - if (type !=3D "number") { + if (type !=3D=3D "number") { if (type !=3D "string") { throw rf.csv.getMessage(msg, 'LONG_RANGE_VALIDATOR_TYPE', [componentI= d, ""]); } else { @@ -212,8 +313,8 @@ }, "validateDoubleRange": function (value,label,params,msg) { var type =3D typeof value; - if (type !=3D "number") { - if (type !=3D "string") { + if (type !=3D=3D "number") { + if (type !=3D=3D "string") { throw rf.csv.getMessage(msg, 'DOUBLE_RANGE_VALIDATOR_TYPE', [componen= tId, ""]); } else { value =3D $.trim(value); @@ -231,7 +332,7 @@ }, "validateSize": function (value,label,params,msg) { var length =3D value?value.length:0; - validateRange(length,label,{maximum:params.max,minimum:params.min},msg); + validateRange(length,label,params,msg); }, "validateRegex": function (value,label,params,msg) { validateRegex(value,label,params.pattern,msg); @@ -244,6 +345,16 @@ throw rf.csv.interpolateMessage(msg, [label]); } }, + "validateTrue": function (value,label,params,msg) { + if ( value !=3D=3D true ) { + throw msg; + } + }, + "validateFalse": function (value,label,params,msg) { + if (value !=3D=3D false) { + throw msg; + } + }, "validateMax": function (value,label,params,msg) { if (value > params.value ) { throw msg; Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/component/behav= ior/BehaviorGetConverterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Be= haviorGetConverterTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Be= haviorGetConverterTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -45,7 +45,7 @@ public void setupService() { expect(factory.getInstance(FacesConverterService.class)).andStubRe= turn(converterService); converterCapture =3D new Capture(); - expect(converterService.getConverterDescription(eq(environment.get= FacesContext()), capture(converterCapture))) + expect(converterService.getConverterDescription(same(environment.g= etFacesContext()), same(input), capture(converterCapture))) .andStubReturn(descriptor); ServiceTracker.setFactory(factory); } Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/component/behav= ior/BehaviorGetValidatorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Be= haviorGetValidatorTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/component/behavior/Be= haviorGetValidatorTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -107,7 +107,7 @@ ValidatorDescriptor validatorDescriptor =3D environment.create= Mock(ValidatorDescriptor.class); expect((Class) validatorDescriptor.getImplementationClass()).a= ndStubReturn(validator.getClass()); expect(validatorDescriptor.getMessage()).andStubReturn(VALIDAT= ION_ERROR); - expect(facesValidatorService.getValidatorDescription(environme= nt.getFacesContext(), validator)) + expect(facesValidatorService.getValidatorDescription(environme= nt.getFacesContext(), input, validator)) .andStubReturn(validatorDescriptor); } } Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBase.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBase.java 20= 11-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/el/ELTestBase.java 20= 11-03-07 20:14:44 UTC (rev 22077) @@ -15,6 +15,7 @@ import javax.el.MapELResolver; import javax.el.ValueExpression; import javax.el.VariableMapper; +import javax.faces.context.FacesContext; = import org.jboss.el.ExpressionFactoryImpl; import org.junit.After; @@ -89,6 +90,10 @@ = class DummyELContext extends ELContext { = + public DummyELContext() { + putContext(FacesContext.class, FacesContext.getCurrentInstance= ()); + } + = @Override public ELResolver getELResolver() { return elResolver; Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptureE= L.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptureEL.java= 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/el/TestCaptureEL.java= 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,16 +1,47 @@ package org.richfaces.el; = -import static org.junit.Assert.*; +import static org.easymock.EasyMock.expect; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; = import javax.el.ValueExpression; = +import org.jboss.test.faces.mock.Environment; +import org.jboss.test.faces.mock.Environment.Feature; +import org.jboss.test.faces.mock.FacesMock; +import org.jboss.test.faces.mock.Mock; +import org.jboss.test.faces.mock.MockFacesEnvironment; import org.jboss.test.faces.mock.MockTestRunner; +import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; = +import com.google.common.collect.Maps; + @RunWith(MockTestRunner.class) public class TestCaptureEL extends ELTestBase { = + @Mock + @Environment(Feature.EXTERNAL_CONTEXT) + private MockFacesEnvironment facesEnvironment; + + = + @Before + public void setUpEnvironment() throws Exception { + expect(facesEnvironment.getExternalContext().getRequestMap()).andS= tubReturn(Maps.newHashMap()); + expect(facesEnvironment.getFacesContext().getAttributes()).andStub= Return(Maps.newHashMap()); + FacesMock.replay(facesEnvironment); + } + = + @After + public void tearDownEnvironment() throws Exception { + FacesMock.verify(facesEnvironment); + facesEnvironment.release(); + } + = @Test public void testDummyResolverString() throws Exception { ValueExpression expression =3D parse("#{bean.string}"); Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpress= ionAnalayserTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpressionAna= layserTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/el/ValueExpressionAna= layserTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,15 +1,18 @@ package org.richfaces.el; = = -import static org.easymock.EasyMock.*; -import static org.junit.Assert.*; +import static org.easymock.EasyMock.expect; +import static org.junit.Assert.assertEquals; = import javax.el.ELException; import javax.el.ValueExpression; import javax.faces.context.FacesContext; = +import org.jboss.test.faces.mock.Environment; +import org.jboss.test.faces.mock.Environment.Feature; import org.jboss.test.faces.mock.FacesMock; import org.jboss.test.faces.mock.Mock; +import org.jboss.test.faces.mock.MockFacesEnvironment; import org.jboss.test.faces.mock.MockTestRunner; import org.junit.After; import org.junit.Before; @@ -17,42 +20,48 @@ import org.junit.runner.RunWith; import org.richfaces.el.model.Bean; = +import com.google.common.collect.Maps; + @RunWith(MockTestRunner.class) public class ValueExpressionAnalayserTest extends ELTestBase { = - = private ValueExpressionAnalayser analayser; = @Mock + @Environment(Feature.EXTERNAL_CONTEXT) + private MockFacesEnvironment facesEnvironment; + private FacesContext facesContext; - + = @Before public void setUpAnalayser() throws Exception { analayser =3D new ValueExpressionAnalayserImpl(); + facesContext =3D facesEnvironment.getFacesContext(); + expect(facesEnvironment.getExternalContext().getRequestMap()).andS= tubReturn(Maps.newHashMap()); } = @After public void tearDownAnalayser() throws Exception { + facesContext =3D null; analayser =3D null; - facesContext.release(); + facesEnvironment.release(); } @Test public void testGetDescriptionPositive() throws Exception { ValueExpression expression =3D parse("#{bean.string}"); expect(facesContext.getELContext()).andReturn(elContext); - FacesMock.replay(facesContext); + FacesMock.replay(facesEnvironment); ValueDescriptor propertyDescriptor =3D analayser.getPropertyDescri= ptor(facesContext, expression); assertEquals(Bean.class, propertyDescriptor.getBeanType()); assertEquals("string", propertyDescriptor.getName()); - assertEquals(String.class,propertyDescriptor.getPropertyType()); - FacesMock.verify(facesContext); + FacesMock.verify(facesEnvironment); } = @Test(expected=3DELException.class) public void testGetDescriptionNegative() throws Exception { ValueExpression expression =3D parse("#{bean}"); expect(facesContext.getELContext()).andReturn(elContext); - FacesMock.replay(facesContext); + FacesMock.replay(facesEnvironment); ValueDescriptor propertyDescriptor =3D analayser.getPropertyDescri= ptor(facesContext, expression); } } Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/MockTestBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/Moc= kTestBase.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/Moc= kTestBase.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -7,7 +7,7 @@ import java.util.Locale; import java.util.Map; = -import javax.faces.component.UIComponent; +import javax.faces.component.UIInput; import javax.faces.component.UIViewRoot; = import org.jboss.test.faces.mock.MockFacesEnvironment; @@ -32,7 +32,7 @@ = protected final RunParameters criteria; protected MockFacesEnvironment facesEnvironment; - protected UIComponent component; + protected UIInput input; = public MockTestBase(RunParameters criteria) { this.criteria =3D criteria; @@ -42,7 +42,7 @@ @Before public void setUp() { this.facesEnvironment =3D MockFacesEnvironment.createEnvironment()= .withApplication().resetToNice(); = - component =3D facesEnvironment.createMock(UIComponent.class); + input =3D facesEnvironment.createMock(UIInput.class); recordMocks(); facesEnvironment.replay(); } @@ -51,8 +51,8 @@ UIViewRoot viewRoot =3D facesEnvironment.createMock(UIViewRoot.cla= ss); expect(viewRoot.getLocale()).andStubReturn(Locale.ENGLISH); expect(facesEnvironment.getFacesContext().getViewRoot()).andStubRe= turn(viewRoot); - expect(component.getAttributes()).andStubReturn(Collections.EMPTY_= MAP); - expect(component.getClientId(facesEnvironment.getFacesContext())).= andStubReturn(TEST_COMPONENT_ID); + expect(input.getAttributes()).andStubReturn(Collections.EMPTY_MAP); + expect(input.getClientId(facesEnvironment.getFacesContext())).andS= tubReturn(TEST_COMPONENT_ID); } = @After Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/converter/BooleanConverterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/BooleanConverterTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/BooleanConverterTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -26,6 +26,6 @@ = @Parameters public static List getRunParameterss() { - return options(pass("true"), pass("ok"), pass("123"),pass("0"),pas= s("1")); + return options(pass("true"), pass("ok"), pass("123"),pass("0"),pas= s("1"),pass("no")); } } Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/converter/ByteConverterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ByteConverterTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ByteConverterTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -5,7 +5,6 @@ = import java.util.List; = -import javax.faces.convert.BooleanConverter; import javax.faces.convert.ByteConverter; import javax.faces.convert.Converter; = Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/converter/ConverterTestBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ConverterTestBase.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ConverterTestBase.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,13 +1,10 @@ package org.richfaces.javascript.client.converter; = -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertTrue; import static org.junit.Assert.*; = import javax.faces.application.FacesMessage; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; -import javax.faces.validator.Validator; = import net.sourceforge.htmlunit.corejs.javascript.JavaScriptException; import net.sourceforge.htmlunit.corejs.javascript.NativeObject; @@ -33,7 +30,7 @@ Converter converter =3D createConverter(); try { Object convertedValue =3D - converter.getAsObject(facesEnvironment.getFacesContext(), = component, criteria.getValue().toString()); + converter.getAsObject(facesEnvironment.getFacesContext(), = input, criteria.getValue().toString()); Object jsConvertedValue =3D convertOnClient(converter); if(null !=3D convertedValue || null !=3D jsConvertedValue){ @@ -66,7 +63,7 @@ = private Object getErrorMessage(Converter converter) { ConverterServiceImpl converterService =3D new ConverterServiceImpl= (); - FacesMessage message =3D converterService.getMessage(facesEnvironm= ent.getFacesContext(), converter); + FacesMessage message =3D converterService.getMessage(facesEnvironm= ent.getFacesContext(), converter, input); return new Message(message); } = Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/converter/NumberConverterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/NumberConverterTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/NumberConverterTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -4,7 +4,6 @@ import java.util.List; import java.util.Map; = -import javax.faces.convert.BooleanConverter; import javax.faces.convert.NumberConverter; import javax.faces.convert.Converter; = Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/converter/ShortConverterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ShortConverterTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/con= verter/ShortConverterTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -1,11 +1,8 @@ package org.richfaces.javascript.client.converter; = -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertTrue; = import java.util.List; = -import javax.faces.convert.BooleanConverter; import javax.faces.convert.ShortConverter; import javax.faces.convert.Converter; = Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/validator/DoubleRangeValidatorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/DoubleRangeValidatorTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/DoubleRangeValidatorTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -18,8 +18,8 @@ */ public class DoubleRangeValidatorTest extends ValidatorTestBase { = - private static final String MINIMUM =3D "minimum"; - private static final String MAXIMUM =3D "maximum"; + private static final String MINIMUM =3D "min"; + private static final String MAXIMUM =3D "max"; /** * @param criteria */ Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/validator/LengthValidatorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/LengthValidatorTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/LengthValidatorTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -18,8 +18,8 @@ */ public class LengthValidatorTest extends ValidatorTestBase { = - private static final String MINIMUM =3D "minimum"; - private static final String MAXIMUM =3D "maximum"; + private static final String MINIMUM =3D "min"; + private static final String MAXIMUM =3D "max"; /** * @param criteria */ Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/validator/LongRangeValidatorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/LongRangeValidatorTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/LongRangeValidatorTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -18,8 +18,8 @@ */ public class LongRangeValidatorTest extends ValidatorTestBase { = - private static final String MINIMUM =3D "minimum"; - private static final String MAXIMUM =3D "maximum"; + private static final String MINIMUM =3D "min"; + private static final String MAXIMUM =3D "max"; /** * @param criteria */ Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/validator/MaxValidatorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/MaxValidatorTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/MaxValidatorTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -4,10 +4,7 @@ package org.richfaces.javascript.client.validator; = import java.util.List; -import java.util.Map; = -import javax.faces.validator.LengthValidator; -import javax.faces.validator.Validator; import javax.validation.constraints.Max; = import org.junit.runners.Parameterized.Parameters; @@ -38,9 +35,8 @@ = @Parameters public static List parameters() { - return options( - pass(0,PROP,"number",MAXIMUM,2),pass(2,PROP,"number",MAXIMUM,2= ),pass(123,PROP,"number",MAXIMUM,2) - ); + return options(pass(0, PROP, "number", MAXIMUM, 2), pass(2, PROP, = "number", MAXIMUM, 2), + pass(123, PROP, "number", MAXIMUM, 2)); } = public static final class Bean { Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/clie= nt/validator/ValidatorTestBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/ValidatorTestBase.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/javascript/client/val= idator/ValidatorTestBase.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -49,7 +49,7 @@ public void testValidator() throws Exception { Validator validator =3D createValidator(); try { - validator.validate(facesEnvironment.getFacesContext(), compone= nt, criteria.getValue()); + validator.validate(facesEnvironment.getFacesContext(), input, = criteria.getValue()); validateOnClient(validator); } catch (ValidatorException e) { // client-side script has to throw exception too. @@ -80,7 +80,7 @@ = private Object getErrorMessage(Validator validator) { FacesValidatorServiceImpl validatorService =3D new FacesValidatorS= erviceImpl(); - FacesMessage message =3D validatorService.getMessage(facesEnvironm= ent.getFacesContext(), validator); + FacesMessage message =3D validatorService.getMessage(facesEnvironm= ent.getFacesContext(), validator, input); return new Message(message); } = Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/validator/Faces= ConverterServiceTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesConver= terServiceTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesConver= terServiceTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -70,7 +70,7 @@ public void getConverterClass() throws Exception { converter =3D new BooleanConverter(); controller.replay(); - ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), converter); + ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), input, converter); assertEquals(converter.getClass(), converterDescription.getImpleme= ntationClass()); } = @@ -85,7 +85,7 @@ facesMessage =3D e.getFacesMessage(); } assertNotNull(facesMessage); - ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), converter); + ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), input, converter); String summary =3D converterDescription.getMessage().getSummary(); summary =3D summary.replace("{2}", "foo"); summary =3D summary.replace("'{0}'", "abc"); @@ -102,7 +102,7 @@ converter.setType("both"); converter.setTimeZone(TimeZone.getTimeZone("EST")); controller.replay(); - ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), converter); + ConverterDescriptor converterDescription =3D serviceImpl.getConver= terDescription(environment.getFacesContext(), input, converter); Map additionalParameters =3D converterDe= scription.getAdditionalParameters(); assertEquals("short", additionalParameters.get("dateStyle")); assertEquals("MM/DD/YYYY", additionalParameters.get("pattern")); Modified: trunk/ui/validator/ui/src/test/java/org/richfaces/validator/Faces= ValidatorServiceTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesValida= torServiceTest.java 2011-03-07 17:31:10 UTC (rev 22076) +++ trunk/ui/validator/ui/src/test/java/org/richfaces/validator/FacesValida= torServiceTest.java 2011-03-07 20:14:44 UTC (rev 22077) @@ -65,7 +65,7 @@ public void getConverterClass() throws Exception { validator =3D new LengthValidator(); controller.replay(); - ValidatorDescriptor validatorDescription =3D serviceImpl.getValida= torDescription(environment.getFacesContext(), validator); + ValidatorDescriptor validatorDescription =3D serviceImpl.getValida= torDescription(environment.getFacesContext(), input, validator); assertEquals(validator.getClass(), validatorDescription.getImpleme= ntationClass()); } = @@ -80,7 +80,7 @@ facesMessage =3D e.getFacesMessage(); } assertNotNull(facesMessage); - ValidatorDescriptor validatorDescription =3D serviceImpl.getValida= torDescription(environment.getFacesContext(), validator); + ValidatorDescriptor validatorDescription =3D serviceImpl.getValida= torDescription(environment.getFacesContext(), input, validator); String summary =3D validatorDescription.getMessage().getSummary(); summary =3D summary.replace("{0}", "foo"); assertEquals(facesMessage.getSummary(), summary); --===============5035853760302984451==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 15:17:44 2011 Content-Type: multipart/mixed; boundary="===============0468067442888700159==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22078 - in trunk/examples/validator-demo: src/main/java/org/richfaces/example and 7 other directories. Date: Mon, 07 Mar 2011 15:17:44 -0500 Message-ID: <201103072017.p27KHi6m015625@svn01.web.mwc.hst.phx2.redhat.com> --===============0468067442888700159== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: alexsmirnov Date: 2011-03-07 15:17:43 -0500 (Mon, 07 Mar 2011) New Revision: 22078 Added: trunk/examples/validator-demo/src/main/java/org/richfaces/example/Boolea= nBean.java trunk/examples/validator-demo/src/main/java/org/richfaces/example/Passwo= rdValidationBean.java trunk/examples/validator-demo/src/main/webapp/examples/passwordValidatio= n.xhtml trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.sh= owcase/ trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.sh= owcase/test.xhtml trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.sh= owcase/test1.xhtml trunk/examples/validator-demo/src/main/webapp/richfaces/ trunk/examples/validator-demo/src/main/webapp/richfaces/graphValidator/ trunk/examples/validator-demo/src/main/webapp/richfaces/graphValidator/s= amples/ Removed: trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.sh= owcase/test.xhtml trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.sh= owcase/test1.xhtml trunk/examples/validator-demo/src/main/webapp/richfaces/graphValidator/ trunk/examples/validator-demo/src/main/webapp/richfaces/graphValidator/s= amples/ Modified: trunk/examples/validator-demo/ trunk/examples/validator-demo/src/main/webapp/WEB-INF/faces-config.xml trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.xh= tml Log: Merge changes from 4.0.x Property changes on: trunk/examples/validator-demo ___________________________________________________________________ Added: svn:mergeinfo + /branches/4.0.X/examples/validator-demo:21810-22077 Copied: trunk/examples/validator-demo/src/main/java/org/richfaces/example/B= ooleanBean.java (from rev 22077, branches/4.0.X/examples/validator-demo/src= /main/java/org/richfaces/example/BooleanBean.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/java/org/richfaces/example/Boole= anBean.java (rev 0) +++ trunk/examples/validator-demo/src/main/java/org/richfaces/example/Boole= anBean.java 2011-03-07 20:17:43 UTC (rev 22078) @@ -0,0 +1,41 @@ +/** + * = + */ +package org.richfaces.example; + +import javax.validation.constraints.AssertTrue; + + +/** + * @author asmirnov + * + */ +public class BooleanBean extends Validable { + = + @AssertTrue() + private Boolean value =3D false; + + /** + * @return the intValue + */ + public Boolean getValue() { + return value; + } + + /** + * @param intValue the intValue to set + */ + public void setValue(Boolean intValue) { + this.value =3D intValue; + } + + + public String getDescription() { + return "Boolean Value, should be true"; + } + + public String getLabel() { + return "assertTrue"; + } + +} Copied: trunk/examples/validator-demo/src/main/java/org/richfaces/example/P= asswordValidationBean.java (from rev 22077, branches/4.0.X/examples/validat= or-demo/src/main/java/org/richfaces/example/PasswordValidationBean.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/java/org/richfaces/example/Passw= ordValidationBean.java (rev 0) +++ trunk/examples/validator-demo/src/main/java/org/richfaces/example/Passw= ordValidationBean.java 2011-03-07 20:17:43 UTC (rev 22078) @@ -0,0 +1,49 @@ +package org.richfaces.example; + +import java.io.Serializable; + +import javax.faces.application.FacesMessage; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.faces.context.FacesContext; +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.Size; + +(a)ManagedBean +(a)SessionScoped +public class PasswordValidationBean implements Cloneable, Serializable{ + /** + * = + */ + private static final long serialVersionUID =3D 1952428504080910113L; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for password") + private String password=3D""; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for confirmation") + private String confirm=3D""; + + @AssertTrue(message =3D "Different passwords entered!") + public boolean isPasswordsEquals() { + return password.equals(confirm); + } + + public void storeNewPassword() { + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_INFO, "Succesfully chan= ged!", "Succesfully changed!")); + } + + public void setPassword(String password) { + this.password =3D password; + } + + public void setConfirm(String confirm) { + this.confirm =3D confirm; + } + + public String getPassword() { + return password; + } + + public String getConfirm() { + return confirm; + } = +} Modified: trunk/examples/validator-demo/src/main/webapp/WEB-INF/faces-confi= g.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/webapp/WEB-INF/faces-config.xml = 2011-03-07 20:14:44 UTC (rev 22077) +++ trunk/examples/validator-demo/src/main/webapp/WEB-INF/faces-config.xml = 2011-03-07 20:17:43 UTC (rev 22078) @@ -16,6 +16,11 @@ org.richfaces.example.DataBean session + + booleanBean + org.richfaces.example.BooleanBean + request + custom org.richfaces.example.CustomValidator Modified: trunk/examples/validator-demo/src/main/webapp/examples/beanValida= tion.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.x= html 2011-03-07 20:14:44 UTC (rev 22077) +++ trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.x= html 2011-03-07 20:17:43 UTC (rev 22078) @@ -15,12 +15,17 @@ - - + + - + + + + + + Copied: trunk/examples/validator-demo/src/main/webapp/examples/passwordVali= dation.xhtml (from rev 22077, branches/4.0.X/examples/validator-demo/src/ma= in/webapp/examples/passwordValidation.xhtml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/webapp/examples/passwordValidati= on.xhtml (rev 0) +++ trunk/examples/validator-demo/src/main/webapp/examples/passwordValidati= on.xhtml 2011-03-07 20:17:43 UTC (rev 22078) @@ -0,0 +1,91 @@ + + + + + + +

<csv:graphValidator> usage, password validation

+
+ + + + + + + + + + + Simple + + + + + + + + + + + + + + + + + +
+ + Test + + + + + + + + +
+ + Test A + + + + + + + +
+ + Test1 + + + + + + +
+
\ No newline at end of file Deleted: trunk/examples/validator-demo/src/main/webapp/resources/org.richfa= ces.showcase/test.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test.xhtml 2011-03-07 20:14:44 UTC (rev 22077) +++ trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test.xhtml 2011-03-07 20:17:43 UTC (rev 22078) @@ -1,30 +0,0 @@ - - - -panel - - - - - - - - - - - - - - - - - - Copied: trunk/examples/validator-demo/src/main/webapp/resources/org.richfac= es.showcase/test.xhtml (from rev 22077, branches/4.0.X/examples/validator-d= emo/src/main/webapp/resources/org.richfaces.showcase/test.xhtml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test.xhtml (rev 0) +++ trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test.xhtml 2011-03-07 20:17:43 UTC (rev 22078) @@ -0,0 +1,30 @@ + + + +panel + + + + + + + + + + + + + + + + + + Deleted: trunk/examples/validator-demo/src/main/webapp/resources/org.richfa= ces.showcase/test1.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/validator-demo/src/main/webapp/resources/org.ri= chfaces.showcase/test1.xhtml 2011-03-07 20:14:44 UTC (rev 22077) +++ trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test1.xhtml 2011-03-07 20:17:43 UTC (rev 22078) @@ -1,40 +0,0 @@ - - - -panel - - - - - - - - - #{cc.attrs.bean} a - - - - - - - - - - - - - - - - - - - Copied: trunk/examples/validator-demo/src/main/webapp/resources/org.richfac= es.showcase/test1.xhtml (from rev 22077, branches/4.0.X/examples/validator-= demo/src/main/webapp/resources/org.richfaces.showcase/test1.xhtml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test1.xhtml (rev 0) +++ trunk/examples/validator-demo/src/main/webapp/resources/org.richfaces.s= howcase/test1.xhtml 2011-03-07 20:17:43 UTC (rev 22078) @@ -0,0 +1,40 @@ + + + +panel + + + + + + + + + #{cc.attrs.bean} a + + + + + + + + + + + + + + + + + + + --===============0468067442888700159==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 7 15:29:38 2011 Content-Type: multipart/mixed; boundary="===============4611324316414695215==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22079 - trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richfaces. Date: Mon, 07 Mar 2011 15:29:38 -0500 Message-ID: <201103072029.p27KTcUD017021@svn01.web.mwc.hst.phx2.redhat.com> --===============4611324316414695215== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: alexsmirnov Date: 2011-03-07 15:29:38 -0500 (Mon, 07 Mar 2011) New Revision: 22079 Modified: trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richface= s/richfaces-csv.js Log: CODING IN PROGRESS - issue RF-10708: error in IE7 = https://issues.jboss.org/browse/RF-10708 Modified: trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.r= ichfaces/richfaces-csv.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richfac= es/richfaces-csv.js 2011-03-07 20:17:43 UTC (rev 22078) +++ trunk/ui/validator/ui/src/main/resources/META-INF/resources/org.richfac= es/richfaces-csv.js 2011-03-07 20:29:38 UTC (rev 22079) @@ -189,7 +189,7 @@ params.a.call(element,event,id); } return result; - }, + } }); = /* --===============4611324316414695215==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 00:52:01 2011 Content-Type: multipart/mixed; boundary="===============0029925059591489695==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22081 - modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning. Date: Tue, 08 Mar 2011 00:52:01 -0500 Message-ID: <201103080552.p285q1Oa030442@svn01.web.mwc.hst.phx2.redhat.com> --===============0029925059591489695== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-08 00:52:00 -0500 (Tue, 08 Mar 2011) New Revision: 22081 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richdataTable.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richextendedDataTable.xml Log: dataTable skinning reference Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richdataTable.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataTable.xml 2011-03-07 21:40:41 UTC (rev 22080) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataTable.xml 2011-03-08 05:52:00 UTC (rev 22081) @@ -17,14 +17,15 @@ + = - + - .rich-table + .rf-dt - This class defines the styles for a table. + This class defines styles for the table. @@ -33,283 +34,348 @@ tableBackgroundColor background-color - - + tableBorderWidth + border-left-width, border-top-width= + + + tableBorderColor + border-left-color, border-top-color= + + = + + - .rich-table-cell + .rich-dt-cap - This class defines the styles for a table cell. + This class defines styles for the table caption. - generalSizeFont - font-size + No skin parameters. - - generalTextColor - color - - - generalFamilyFont - font-family - = - .rich-table-header + .rich-dt-r - This class defines the styles for a table header row. + This class defines styles for a table row. - headerBackgroundColor - background-color + No skin parameters. = - .rich-table-header-continue + .rich-dt-fst-r - This class defines the styles for all header lines after the firs= t. + This class defines styles for the first row in a table. - headerBackgroundColor - background-color + No skin parameters. - = + = - + - .rich-table-headercell + .rf-dt-c - This class defines the styles for a header cell. + This class defines styles for a table cell. - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom + tableBackgroundColor + background-color - headerTextColor + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor color - headerWeightFont - font-weight + generalFamilyFont + font-family generalSizeFont font-size + = + + + + .rf-dt-nd + + + This class defines styles for a node. + + + + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + generalFamilyFont font-family + + generalSizeFont + font-size + = - .rich-table-subheader + .rich-dt-hdr - This class defines the styles for a column sub-header. + This class defines styles for a table header. - additionalBackgroundColor - background-color + No skin parameters. = - .rich-table-thead + .rich-dt-hdr-fst - This class defines the styles for the separator between the heade= r and the rest of the table. + This class defines styles for the first header. - tableBorderWidth, tableBorderColor<= /literal> - border-bottom + No skin parameters. - = + = - + - .rich-table-subheadercell + .rf-dt-hdr-c - This class defines the styles for a column sub-header cell. + This class defines styles for a header cell. - tableBorderWidth, tableBorderColor<= /literal> - border-right + tableHeaderBackgroundColor + background-color - generalTextColor - color + tableBorderWidth + border-bottom-width, border-right-w= idth - generalSizeFont - font-size + tableBorderColor + border-bottom-color, border-right-c= olor + tableHeaderTextColor + color + + generalFamilyFont font-family + + generalSizeFont + font-size + = - .rich-table-footer + .rich-dt-shdr - This class defines the styles for a footer row. + This class defines styles for a table sub-header. - tableFooterBackgroundColor - background-color + No skin parameters. = - .rich-table-footer-continue + .rich-dt-shdr-fst - This class defines the styles for all footer lines after the firs= t. + This class defines styles for the first sub-header. - tableFooterBackgroundColor - background-color + No skin parameters. - = + = - + - .rich-table-footercell + .rf-dt-shdr-c - This class defines styles for a footer cell. + This class defines styles for a sub-header cell. - tableBorderWidth, tableBorderColor - border-right, border-bottom + tableHeaderBackgroundColor + background-color - generalTextColor - color + tableBorderWidth + border-bottom-width, border-right-w= idth - headerWeightFont - font-weight + tableBorderColor + border-bottom-color, border-right-c= olor - generalSizeFont - font-size + tableHeaderTextColor + color generalFamilyFont font-family + + generalSizeFont + font-size + = - .rich-table-subfooter + .rich-dt-ftr - This class defines the styles for a column footer. + This class defines styles for a table footer. - tableSubfooterBackgroundColor - background-color + No skin parameters. = - + - .rich-table-subfootercell + .rich-dt-ftr-fst - This class defines the styles for a column footer cell. + This class defines styles for the first footer. - tableBorderWidth, tableBorderColor<= /literal> - border-right, border-bottom + No skin parameters. + = + + + + .rf-dt-ftr-c + + + This class defines styles for a footer cell. + + + + + + tableFooterBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + generalTextColor color + generalFamilyFont + font-family + + generalSizeFont font-size - - generalFamilyFont - font-family - = - .rich-table-row + .rich-dt-sftr - This class defines styles for a table row. + This class defines styles for a table sub-footer. @@ -322,10 +388,10 @@ - .rich-table-firstrow + .rich-dt-sftr-fst - This class defines styles for a table's first row. + This class defines styles for the first sub-footer. @@ -333,22 +399,44 @@ No skin parameters. - = + = - + - .rich-table-caption + .rf-dt-sftr-c - This class defines styles for a "caption" facet element. + This class defines styles for a sub-footer cell. - No skin parameters. + tableFooterBackgroundColor + background-color + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richextendedDataTable.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richextendedDataTable.xml 2011-03-07 21:40:41 UTC (rev 22080) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richextendedDataTable.xml 2011-03-08 05:52:00 UTC (rev 22081) @@ -43,10 +43,10 @@ - .rich-edt-hdr + .rich-edt-cnt - This class defines styles for a header. + This class defines styles for the table content. @@ -56,6 +56,48 @@ = + + + + .rf-edt-c + + + This class defines styles for a table cell. + + + + + + tableBorderWidth, table= BorderColor + border-bottom + + + tableBorderWidth, table= BorderColor + border-right + + + + + + + .rf-edt-c-cnt + + + This class defines styles for the contents of a cell. + + + + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + + @@ -92,10 +134,10 @@ - .rich-edt-b + .rich-edt-hdr - This class defines styles for the body of the table. + This class defines styles for a header. @@ -103,43 +145,52 @@ No skin parameters. - = + - + - .rich-edt-spcr + .rf-edt-hdr-c - This class defines a spacer for Internet Explorer 7<= /productname> compatibility. + This class defines styles for a table header cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-bottom - = - + tableBorderWidth, table= BorderColor + border-right + + + + - .rich-edt-ftr + .rf-edt-hdr-c-cnt - This class defines styles for a footer. + This class defines styles for the contents of a header cell. - tableBorderWidth, table= BorderColor - border-top + generalFamilyFont + font-family - tableFooterBackgroundColor<= /entry> - background-color + generalSizeFont + font-size + + tableHeaderTextColor + color + = @@ -163,35 +214,24 @@ = - + - .rich-edt-ftr-fzn + .rich-edt-ftr - This class defines styles for a frozen footer. + This class defines styles for a footer. - No skin parameters. + tableBorderWidth, table= BorderColor + border-top - = - - - - .rich-edt-cnt - - - This class defines styles for the table content. - - - - - - No skin parameters. + tableFooterBackgroundColor<= /entry> + background-color = @@ -209,85 +249,78 @@ No skin parameters. - = + - + - .rich-edt-rsz + .rf-edt-ftr-c - This class defines styles for the table resizer. + This class defines styles for a table footer cell. - No skin parameters. + tableBorderWidth, table= BorderColor + border-bottom - = - + tableBorderWidth, table= BorderColor + border-right + + + + - .rich-edt-rsz-cntr + .rf-edt-ftr-c-cnt - This class defines styles for the resize container. + This class defines styles for the contents of a footer cell. - No skin parameters. + generalFamilyFont + font-family - = - - - - .rich-edt-rsz-mkr - - - This class defines styles for the resize marker. - - - - - + generalSizeFont + font-size + + generalTextColor - border-left + color = - + - .rf-edt-rord + .rf-edt-ftr-emp - This class defines styles for the re-order functionality. + This class defines styles for an empty footer cell. tableBorderWidth, table= BorderColor - border + border-right - - tableHeaderBackgroundColor / tableBackgroundColor - background-color - = - .rich-edt-rord-mkr + .rich-edt-ftr-fzn - This class defines styles for the re-order marker. + This class defines styles for a frozen footer. @@ -295,183 +328,150 @@ No skin parameters. - + = - + - .rf-edt-c + .rich-edt-b - This class defines styles for a table cell. + This class defines styles for the body of the table. - tableBorderWidth, table= BorderColor - border-bottom + No skin parameters. - - tableBorderWidth, table= BorderColor - border-right - = - + - .rf-edt-hdr-c + .rf-edt-r-sel - This class defines styles for a table header cell. + This class defines styles for the selected row. tableBorderWidth, table= BorderColor - border-bottom - - - tableBorderWidth, table= BorderColor border-right - + = - + - .rf-edt-ftr-c + .rich-edt-r-act - This class defines styles for a table footer cell. + This class defines styles for the active row. - tableBorderWidth, table= BorderColor - border-bottom + No skin parameters. + = - tableBorderWidth, table= BorderColor - border-right - - - - .rf-edt-ftr-emp + .rich-edt-rsz - This class defines styles for an empty footer cell. + This class defines styles for the table resizer. - tableBorderWidth, table= BorderColor - border-right + No skin parameters. - + = - + - .rf-edt-c-cnt + .rich-edt-rsz-cntr - This class defines styles for the contents of a cell. + This class defines styles for the resize container. - generalFamilyFont - font-family + No skin parameters. + = - generalSizeFont - font-size - - - - + - .rf-edt-hdr-c-cnt + .rich-edt-rsz-mkr - This class defines styles for the contents of a header cell. + This class defines styles for the resize marker. - generalFamilyFont - font-family + generalTextColor + border-left - - generalSizeFont - font-size - - - tableHeaderTextColor - color - = - + - .rf-edt-ftr-c-cnt + .rf-edt-rord - This class defines styles for the contents of a footer cell. + This class defines styles for the re-order functionality. - generalFamilyFont - font-family + tableBorderWidth, table= BorderColor + border - generalSizeFont - font-size + tableHeaderBackgroundColor / tableBackgroundColor + background-color + = - generalTextColor - color - - - - .rf-edt-r-sel + .rich-edt-rord-mkr - This class defines styles for the selected row. + This class defines styles for the re-order marker. - tableBorderWidth, table= BorderColor - border-right + No skin parameters. = - .rich-edt-r-act + .rich-edt-spcr - This class defines styles for the active row. + This class defines a spacer for Internet Explorer 7<= /productname> compatibility. --===============0029925059591489695==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 04:19:59 2011 Content-Type: multipart/mixed; boundary="===============5502212041342769318==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22082 - in modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest: richPanelMenuGroup and 1 other directory. Date: Tue, 08 Mar 2011 04:19:59 -0500 Message-ID: <201103080919.p289Jxru010002@svn01.web.mwc.hst.phx2.redhat.com> --===============5502212041342769318== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-08 04:19:58 -0500 (Tue, 08 Mar 2011) New Revision: 22082 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/AbstractMetamerTest.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richPanelMenuGroup/TestPanelMenuGroupClientSideHandlers.ja= va Log: fixed PanelMenuGroupClientSideEventHandlers (removed issue tracking: RF-105= 63, RFPL-1223) Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/AbstractMetamerTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/AbstractMetamerTest.java 2011-03-08 05:52:00 UTC (rev 220= 81) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/AbstractMetamerTest.java 2011-03-08 09:19:58 UTC (rev 220= 82) @@ -42,6 +42,8 @@ = import java.net.URL; import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; import java.util.Locale; = import javax.faces.event.PhaseId; @@ -264,6 +266,15 @@ = selenium.getEval(new JavaScript("window.metamerEvents =3D \"\";")); } + = + public void testRequestEventsBeforeByAlert(String... events) { + for (String event : events) { + ReferencedLocator input =3D ref(attributesRoot,= "input[type=3Dtext][id$=3Don{0}Input]"); + input =3D input.format(event); + selenium.type(input, format("alert('{0}')", event)); + selenium.waitForPageToLoad(); + } + } = public void testRequestEventsAfter(String... events) { String[] actualEvents =3D selenium.getEval(new JavaScript("window.= metamerEvents")).split(" "); @@ -273,6 +284,24 @@ format("The events ({0}) don't came in right order ({1})",= Arrays.deepToString(actualEvents), Arrays.deepToString(events))); } + = + public void testRequestEventsAfterByAlert(String... events) { + List list =3D new LinkedList(); + = + for (int i =3D 0; i < events.length; i++) { + waitGui.dontFail().until(alertPresent); + if (selenium.isAlertPresent()) { + list.add(selenium.getAlert()); + } + } + = + String[] actualEvents =3D list.toArray(new String[list.size()]); + assertEquals( + actualEvents, + events, + format("The events ({0}) don't came in right order ({1})",= Arrays.deepToString(actualEvents), + Arrays.deepToString(events))); + } = /** * A helper method for testing attribute "dir". It tries null, ltr and= rtl. Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richPanelMenuGroup/TestPanelMenuGroupClientSideHand= lers.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richPanelMenuGroup/TestPanelMenuGroupClientSideHandlers.j= ava 2011-03-08 05:52:00 UTC (rev 22081) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richPanelMenuGroup/TestPanelMenuGroupClientSideHandlers.j= ava 2011-03-08 09:19:58 UTC (rev 22082) @@ -28,28 +28,29 @@ = import java.net.URL; = +import org.jboss.test.selenium.encapsulated.JavaScript; import org.richfaces.tests.metamer.ftest.annotations.Inject; import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; import org.richfaces.tests.metamer.ftest.annotations.Use; +import org.richfaces.tests.metamer.ftest.model.PanelMenu; import org.testng.annotations.Test; = /** * @author Lukas Fryc * @version $Revision$ */ -(a)IssueTracking({ "https://issues.jboss.org/browse/RF-10564", "https://is= sues.jboss.org/browse/RF-10563" }) public class TestPanelMenuGroupClientSideHandlers extends AbstractPanelMen= uGroupTest { = @Inject @Use(empty =3D true) String event; - String[] ajaxExpansionEvents =3D new String[] { "beforeswitch", "befor= eexpand", "beforeselect", "begin", + String[] ajaxExpansionEvents =3D new String[] { "beforeselect", "befor= eswitch", "beforeexpand", "begin", "beforedomupdate", "select", "expand", "switch", "complete" }; - String[] ajaxCollapsionEvents =3D new String[] { "beforeswitch", "befo= recollapse", "beforeselect", "begin", + String[] ajaxCollapsionEvents =3D new String[] { "beforeselect", "befo= reswitch", "beforecollapse", "begin", "beforedomupdate", "select", "collapse", "switch", "complete" }; - String[] clientExpansionEvents =3D new String[] { "beforeswitch", "bef= oreexpand", "beforeselect", "select", "expand", + String[] clientExpansionEvents =3D new String[] { "beforeselect", "bef= oreswitch", "beforeexpand", "select", "expand", "switch" }; - String[] clientCollapsionEvents =3D new String[] { "beforeswitch", "be= forecollapse", "beforeselect", "select", + String[] clientCollapsionEvents =3D new String[] { "beforeselect", "be= foreswitch", "beforecollapse", "select", "collapse", "switch" }; String[] serverExpansionEvents =3D new String[] { "beforeswitch", "bef= oreexpand" }; String[] serverCollapsionEvents =3D new String[] { "beforeswitch", "be= forecollapse" }; @@ -59,6 +60,8 @@ return buildUrl(contextPath, "faces/components/richPanelMenuGroup/= simple.xhtml"); } = + PanelMenu.Group group1 =3D menu.getGroupContains("Group 1"); + @Test @Use(field =3D "event", value =3D "ajaxCollapsionEvents") public void testClientSideCollapsionEvent() { @@ -84,12 +87,16 @@ public void testClientSideExpansionEventsOrderClient() { attributes.setMode(client); menu.setGroupMode(client); - super.testRequestEventsBefore(serverExpansionEvents); + super.testRequestEventsBefore(clientExpansionEvents); topGroup.toggle(); - super.testRequestEventsAfter(serverExpansionEvents); + group1.toggle(); + selenium.getEval(new JavaScript("window.metamerEvents =3D \"\";")); + topGroup.toggle(); + super.testRequestEventsAfter(clientExpansionEvents); } = @Test + @IssueTracking("https://issues.jboss.org/browse/RF-10564") public void testClientSideCollapsionEventsOrderClient() { attributes.setMode(client); menu.setGroupMode(client); @@ -103,7 +110,9 @@ public void testClientSideExpansionEventsOrderAjax() { attributes.setMode(ajax); menu.setGroupMode(ajax); + topGroup.toggle(); super.testRequestEventsBefore(ajaxExpansionEvents); + selenium.getEval(new JavaScript("window.metamerEvents =3D \"\";")); topGroup.toggle(); super.testRequestEventsAfter(ajaxExpansionEvents); } @@ -112,31 +121,30 @@ public void testClientSideCollapsionEventsOrderAjax() { attributes.setMode(ajax); menu.setGroupMode(ajax); - topGroup.toggle(); super.testRequestEventsBefore(ajaxCollapsionEvents); topGroup.toggle(); super.testRequestEventsAfter(ajaxCollapsionEvents); } = - @Test(groups =3D "4.0.0.Final") - @IssueTracking("https://issues.jboss.org/browse/RFPL-1223") - public void testClientSideExpansionEventsOrderServer() { + @Test + @Use(field =3D "event", value =3D "serverExpansionEvents") + public void testClientSideExpansionEventsServer() { attributes.setMode(server); menu.setGroupMode(server); topGroup.toggle(); - super.testRequestEventsBefore(serverExpansionEvents); + menu.setGroupMode(null); + testRequestEventsBeforeByAlert(event); topGroup.toggle(); - super.testRequestEventsAfter(serverExpansionEvents); + testRequestEventsAfterByAlert(event); } = - @Test(groups =3D "4.0.0.Final") - @IssueTracking("https://issues.jboss.org/browse/RFPL-1223") - public void testClientSideCollapsionEventsOrderServer() { + @Test + @Use(field =3D "event", value =3D "serverCollapsionEvents") + public void testClientSideCollapsionEventsServer() { attributes.setMode(server); - menu.setGroupMode(server); + menu.setGroupMode(null); + testRequestEventsBeforeByAlert(event); topGroup.toggle(); - super.testRequestEventsBefore(serverCollapsionEvents); - topGroup.toggle(); - super.testRequestEventsAfter(serverCollapsionEvents); + testRequestEventsAfterByAlert(event); } } --===============5502212041342769318==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 04:26:35 2011 Content-Type: multipart/mixed; boundary="===============3771003713543643452==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22083 - modules/tests/metamer/trunk/application/src/main/webapp/components/a4jStatus. Date: Tue, 08 Mar 2011 04:26:35 -0500 Message-ID: <201103080926.p289QZeN010807@svn01.web.mwc.hst.phx2.redhat.com> --===============3771003713543643452== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-08 04:26:35 -0500 (Tue, 08 Mar 2011) New Revision: 22083 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/a4jSt= atus/referencedUsage.xhtml Log: fixed status tests - name referencing (RF-10709) Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/a4jStatus/referencedUsage.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/a4jS= tatus/referencedUsage.xhtml 2011-03-08 09:19:58 UTC (rev 22082) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/a4jS= tatus/referencedUsage.xhtml 2011-03-08 09:26:35 UTC (rev 22083) @@ -42,7 +42,7 @@ = - + @@ -57,7 +57,7 @@ = - + --===============3771003713543643452==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 05:01:32 2011 Content-Type: multipart/mixed; boundary="===============1255873956846934557==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22084 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/model. Date: Tue, 08 Mar 2011 05:01:31 -0500 Message-ID: <201103081001.p28A1V5n014426@svn01.web.mwc.hst.phx2.redhat.com> --===============1255873956846934557== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-08 05:01:31 -0500 (Tue, 08 Mar 2011) New Revision: 22084 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/model/CollapsibleSubTable.java Log: CST - fixed no data tests Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/model/CollapsibleSubTable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/model/CollapsibleSubTable.java 2011-03-08 09:26:35 UTC (r= ev 22083) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/model/CollapsibleSubTable.java 2011-03-08 10:01:31 UTC (r= ev 22084) @@ -61,7 +61,14 @@ } = public boolean isNoData() { - return selenium.isElementPresent(noData) && selenium.isVisible(noD= ata); + if (!selenium.isElementPresent(noData)) { + return false; + } + if (selenium.isVisible(noData)) { + return !selenium.getText(noData).isEmpty(); + } else { + return selenium.getText(noData).isEmpty(); + } } = public boolean isVisible() { --===============1255873956846934557==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 08:11:23 2011 Content-Type: multipart/mixed; boundary="===============0173152135537498809==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22085 - trunk/examples/richfaces-showcase. Date: Tue, 08 Mar 2011 08:11:23 -0500 Message-ID: <201103081311.p28DBNf3024238@svn01.web.mwc.hst.phx2.redhat.com> --===============0173152135537498809== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: juankprada Date: 2011-03-08 08:11:23 -0500 (Tue, 08 Mar 2011) New Revision: 22085 Modified: trunk/examples/richfaces-showcase/readme.txt Log: RF-10583 Updated readme file for the Showcase application. = The information about RF project was added along with setting up instructio= ns and a new formatting that will be consistent accross all readme files wi= thin the distribution package Modified: trunk/examples/richfaces-showcase/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/readme.txt 2011-03-08 10:01:31 UTC (r= ev 22084) +++ trunk/examples/richfaces-showcase/readme.txt 2011-03-08 13:11:23 UTC (r= ev 22085) @@ -1,68 +1,170 @@ -RichFaces showcase is an application intended to show RichFaces components= in action. It contains set of small use-cases implemented using RichFaces = components. These use-cases for the demo are chosen from most popular ques= tions on the user forums. You will be able to find a lot of useful informa= tion and will be able to re-use some of it to implement the same cases for = your applications. = - -1 Building and Running the application - -1.1. Requirements - -- Maven 2.1.0 or later -- Servers: Apache Tomcat 6.0 or any JEE6 application server (e.g. JBoss AS= 6) -- JDK 1.6 - -1.2 Optional Additional Software -- Eclipse IDE + JBoss Tools (to explore and run the application in IDE). -- You're free to use any other IDE also but we haven't tested an applicati= on in other environments. = - -1.3 Build/Deploy - -1.3.1) Tomcat = -To build the project you need to navigate to the /examples/richfaces-showc= ase and run - -mvn clean package - -When you see the BUILD SUCCESSFUL message you can deploy the application o= n the server. You can deploy it on the server by copying .war file from 'ta= rget' folder to = -the TOMCAT_HOME/webapps folder. Then, launch the startup.sh or startup.bat= script from TOMCAT_HOME/bin/ directory to start the server. - -1.3.2) JEE6 server(JBoss AS 6) -To build the project you need to navigate to the /examples/richfaces-showc= ase and run - -mvn clean package -Pjee6 - -When you see the BUILD SUCCESSFUL message you can deploy the application o= n the server. You can deploy it on the server by copying .war file from 'ta= rget' folder to = -the JBOSS_HOME/server/default/deploy folder(or change "default/" to used p= rofile folder). Then, launch the run.sh or run.bat script from JBOSS_HOME/b= in/ directory to start the server. - -2) Publishing to Google Application Engine - = -We have completed a resource plugin which generates static resources which= allow us to create Google App Engine compatible applications using RichFac= es. This means deploying to and working with GAE is a piece of cake. Here= is how you can deploy your own RichFaces showcase example. +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = ---) Update the GAE application name, and register it with google. Do this= by updating the /webapp-gae/WEB-INF/appengine-web.xml following the GAE st= andard documentation. + RichFaces - Ajax enabled JSF 2.0 component library = ---) Only if using MyFaces: Configure the MyFaces encryption secret values = in the /webapp-gae/WEB-INF/web.xml. Replace the "-- Insert some secret her= e --" with a base64 encoded password. This is important because otherwise = MyFaces will generate random keys, and this causes issues in a cluster envi= ronment like GAE. + RichFaces 4.0.CR1 SHOWCASE + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) = -See below for more information: - MyFaces - http://wiki.apache.org/myfaces/Secure_Your_Application - Mojarra - http://wikis.sun.com/display/GlassFish/JavaServerFacesRI#JavaS= erverFacesRI-HowcanIsecureviewstatewhenusingclientsidestatesaving%3F +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = ---) Build using: = +RichFaces showcase is an application created to show RichFaces components +in action. It contains a set of small use-cases implemented using RichFaces +components. = = -mvn clean package -Pgae - ---) Use GAE SDK and the appcfg script just as you would for any other GAE = application. - -There are some additional changes that were made in order to make richface= s-showcase GAE compatible: - * WebConfiguration class from com.sun.faces were patched removing code wh= ich is not compatible with GAE - * web.xml with additional properties for GAE created and placed at src\ma= in\webapp-gae\WEB-INF\ (it replaces common one during build with GAE profil= e) - * check pom.xml GAE profile section in order to check additional dependen= cies for that configuration. - -3) Working with the project in Eclipse IDE: -In order to explore, run and deploy the application in Eclipse IDE you can= use one of the following options: - - * Just import as maven project if using m2eclipse plugin. - = - * without m2eclipse - build it with the - - mvn clean install eclipse:clean eclipse:eclipse = - - comand and just import as existent project. - -You can find more details in the RichFaces Getting Started Guide (visit do= cumentation page at http://jboss.org/richfaces) - +The examples shown in the application were chosen from the most popular +questions at the user forum. You will find a lot of useful information on = +how to implement RichFaces components and re-use the code to implement the = +components in your own application. + +This file explains how to build and execute the showcase application on +your own server. + + +BUILDING AND RUNNING THE APPLICATION +------------------------------------ + + 1. Requirements + = + In order to build the Showcase application you will need: + + - Maven 2.1.0 or later + - Servers: Apache Tomcat 6.0 or any JEE6 application server = + (e.g. JBoss AS 6) + - JDK 1.6 + + Also optional Additional Software would make it easy for you to work = + with the sources of the application: + = + - Eclipse IDE + JBoss Tools (to explore and run the application = + in IDE). You're obviously free to use any other IDE you wish, but + JBoss Tools is recommended. = + + 2. Build/Deploy + + - Deploying on Tomcat + + To build the project for Tomcat you need to navigate to the = + /examples/richfaces-showcase and run: + = + mvn clean package + = + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on Tomcat, copy the .war = + file from 'target' folder to TOMCAT_HOME/webapps folder. Then, = + launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ = + directory to start the server. + + - Deploying on JEE6 server (JBoss AS 6) + = + To build the project for a JEE6 server you need to navigate to the = + /examples/richfaces-showcase and run + + mvn clean package -Pjee6 + + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on the application server = + copy the .war file from 'target' folder to the JBOSS_HOME/server/default= /deploy = + folder (or change "default/" to used profile folder). Then, launch = + the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start = + the server. + + +After deploying the examples to your server open a browser and type = +http://localhost:8080/richfaces-showcase to view the examples. + + - Publishing to Google Application Engine (GAE) + = + We have completed a resource plugin which generates static resources = + allowing us to create Google App Engine compatible applications = + using RichFaces. This means deploying to and working with GAE is = + a piece of cake. Here is how you can deploy your own RichFaces showcase = + example: + + * Update the GAE application name, and register it with google. = + Do this by updating the /webapp-gae/WEB-INF/appengine-web.xml = + following the GAE standard documentation. + + * if using MyFaces: Configure the MyFaces encryption secret values = + in the /webapp-gae/WEB-INF/web.xml. Replace the "-- Insert some se= cret here --" = + with a base64 encoded password. This is important because = + otherwise MyFaces will generate random keys, and this causes = + issues in a cluster environment like GAE. + = + For more information on JSF encryption check: + MyFaces - http://wiki.apache.org/myfaces/Secure_Your_Applicatio + Mojarra - http://wikis.sun.com/display/GlassFish/JavaServerFacesRI#Ja= vaServerFacesRI-HowcanIsecureviewstatewhenusingclientsidestatesaving%3F + = + * Build using: mvn clean package -Pgae + + * Use GAE SDK and the appcfg script just as you would for any= other = + GAE application. + + There are some additional changes that were made in order to make = + richfaces-showcase GAE compatible: + = + * WebConfiguration class from com.sun.faces were patched removing = + code which is not compatible with GAE + + * web.xml with additional properties for GAE created and placed = + at src\main\webapp-gae\WEB-INF\ (it replaces common one during = + build with GAE profile) + + * check pom.xml GAE profile section in order to check additional = + dependencies for that configuration + + +SETTING UP ECLIPSE TO WORK WITH THE SHOWCASE +-------------------------------------------- + +In order to explore, run and deploy the Showcase using Eclipse IDE you can= use = +one of the following options: + + - You could use JBoss Tools with m2eclipse plugin and just import = + the examples as maven-based projects. + * Open Eclipse and go to File > Import + * Expand the project type named Maven and select Import Maven = + Project + * Browse the directory in which you placed the examples, select = + it and press OK. + * Press next on the import wizard to finish importing the = + examples. + + - Or if you are not using m2eclipse execute use Maven to convert the = + project to an Eclipse project: + * Open a terminal inside the RichFaces examples directory + * execute mvn eclipse:ecllipse + * Open Eclipse and select File > Import + * Select Import as existing project into workspace after build = + is complete. + * Follow the instructions on the import wizard. + +You are now able to work with the Showcase within Eclipse. + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on RichFaces 4, please visit RichFaces = +website at: + + - http://www.jboss.org/richfaces. + +Or check the Wiki for more information on build instructions for the examp= les at: + + - http://community.jboss.org/wiki/HowtoworkwithRichFaces4xexamplessour= ces + +To report or check the status of issues related to RichFaces Examples = +use the project's Jira at: + = + - https://issues.jboss.org/browse/RF + +Community support and help can be obtained from the RichFaces forums at: + + - http://community.jboss.org/en/richfaces?view=3Ddiscussions + + + +### --===============0173152135537498809==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 10:49:09 2011 Content-Type: multipart/mixed; boundary="===============5482189006449996168==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22086 - modules/tests/metamer/trunk/application. Date: Tue, 08 Mar 2011 10:49:09 -0500 Message-ID: <201103081549.p28Fn9V9019323@svn01.web.mwc.hst.phx2.redhat.com> --===============5482189006449996168== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-08 10:49:08 -0500 (Tue, 08 Mar 2011) New Revision: 22086 Modified: modules/tests/metamer/trunk/application/pom.xml Log: removed download.java.net from maven repositories Modified: modules/tests/metamer/trunk/application/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/pom.xml 2011-03-08 13:11:23 UTC= (rev 22085) +++ modules/tests/metamer/trunk/application/pom.xml 2011-03-08 15:49:08 UTC= (rev 22086) @@ -40,14 +40,6 @@ http://nexus.qa.jboss.com:8081/nexus/content/repositories= /releases - = - - - maven-repository2.dev.java.net - Java.net Repository for Maven 2 - http://download.java.net/maven/2 - - = 8080 --===============5482189006449996168==-- From richfaces-svn-commits at lists.jboss.org Tue Mar 8 14:31:02 2011 Content-Type: multipart/mixed; boundary="===============8750510140939324614==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22087 - branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/org.richfaces. Date: Tue, 08 Mar 2011 14:31:02 -0500 Message-ID: <201103081931.p28JV2H4001056@svn01.web.mwc.hst.phx2.redhat.com> --===============8750510140939324614== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: alexsmirnov Date: 2011-03-08 14:31:01 -0500 (Tue, 08 Mar 2011) New Revision: 22087 Modified: branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/org= .richfaces/richfaces-csv.js Log: RESOLVED - issue RF-10708: error in IE7 = https://issues.jboss.org/browse/RF-10708, reviewed by Nick Modified: branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resour= ces/org.richfaces/richfaces-csv.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/richfaces-csv.js 2011-03-08 15:49:08 UTC (rev 22086) +++ branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/richfaces-csv.js 2011-03-08 19:31:01 UTC (rev 22087) @@ -189,7 +189,7 @@ params.a.call(element,event,id); } return result; - }, + } }); = /* --===============8750510140939324614==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 01:49:34 2011 Content-Type: multipart/mixed; boundary="===============6370694878896458960==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22088 - in modules/docs/trunk/Component_Reference/src/main/docbook/en-US: extras and 1 other directories. Date: Wed, 09 Mar 2011 01:49:33 -0500 Message-ID: <201103090649.p296nXZH005320@svn01.web.mwc.hst.phx2.redhat.com> --===============6370694878896458960== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-09 01:49:33 -0500 (Wed, 09 Mar 2011) New Revision: 22088 Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richcollapsibleSubTable.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richcollapsibleSubTableToggler.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richdataGrid.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richdataScroller.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richtree.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richtreeNode.xml Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Common_Ajax_attributes.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Tables_and_grids.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Compo= nent_Reference-Trees.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/exa= m-Component_Reference-data-Data_reference_example.xml_sample modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richdataTable.xml modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richlist.xml Log: Finished first round of skinning references Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Common_Ajax_attributes.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Common_Ajax_attributes.xml 2011-03-08 19:31:01 UTC (rev 220= 87) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Common_Ajax_attributes.xml 2011-03-09 06:49:33 UTC (rev 220= 88) @@ -103,7 +103,7 @@
<varname>immediate</varname> - If the immediate attribute is set to true<= /literal>, the default ActionListener is executed immediately during the Ap= ply Request Values phase of the request processing lifecycle, rather than w= aitingfor the Invoke Application phase. This allows some data model values = to be updated regardless of whether the Validation phase is successful or n= ot. + If the immediate attribute is set to true<= /literal>, the default ActionListener is executed immediately during the Ap= ply Request Values phase of the request processing lifecycle, rather than w= aiting for the Invoke Application phase. This allows some data model values= to be updated regardless of whether the Validation phase is successful or = not.
= Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Tables_and_grids.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-08 19:31:01 UTC (rev 22087) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Tables_and_grids.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -283,12 +283,10 @@ = - = = @@ -660,6 +658,11 @@ = +
+ Style classes and skin parameters + +
+
<sgmltag><rich:collapsibleSubTableToggler></sgmltag></titl= e> <para> @@ -706,6 +709,11 @@ </listitem> </itemizedlist> </section> + + <section id=3D"sect-Component_Reference-richcollapsibleSubTableToggler-= Style_classes_and_skin_parameters"> + <title>Style classes and skin parameters + +
= @@ -1164,7 +1172,7 @@ --> =
- Patial updates + Partial updates As <rich:dataGrid> the component is based on = the <a4j:repeat> component, it can be partially up= dated with Ajax. Refer to for details on partially updating = the <rich:dataGrid> component. @@ -1201,14 +1209,10 @@
= - = @@ -1454,12 +1458,11 @@ = - + = = @@ -1635,6 +1638,11 @@ + = +
+ Style classes and skin parameters + +
= Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/cha= p-Component_Reference-Trees.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Trees.xml 2011-03-08 19:31:01 UTC (rev 22087) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/chap-Comp= onent_Reference-Trees.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -345,6 +345,14 @@ + +
+ Style classes and skin parameters + + Styling for the <rich:tree> component is most= ly applied to the tree nodes. Refer to for details on sty= ling tree nodes. In addition, the <rich:tree> comp= onent can make use of the style classes outlined in . + + +
=
<sgmltag><rich:treeNode></sgmltag> @@ -422,6 +430,11 @@
+ +
+ Style classes and skin parameters + +
= Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ext= ras/exam-Component_Reference-data-Data_reference_example.xml_sample =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/ex= am-Component_Reference-data-Data_reference_example.xml_sample 2011-03-08 19= :31:01 UTC (rev 22087) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/extras/ex= am-Component_Reference-data-Data_reference_example.xml_sample 2011-03-09 06= :49:33 UTC (rev 22088) @@ -1 +1 @@ - + Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richcollapsibleSubTable.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richcollapsibleSubTable.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richcollapsibleSubTable.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,400 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-cst + + + This class defines styles for the table. + + + + + + No skin parameters. + + = + + + + + .rf-cst-r + + + This class defines styles for a table row. + + + + + + No skin parameters. + + = + + + + + .rf-cst-fst-r + + + This class defines styles for the first row in a table. + + + + + + No skin parameters. + + = + + + + + .rf-cst-c + + + This class defines styles for a table cell. + + + + + + tableBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-cst-hdr + + + This class defines styles for a table header. + + + + + + No skin parameters. + + = + + + + + .rf-cst-hdr-fst + + + This class defines styles for the first header. + + + + + + No skin parameters. + + = + + + + + .rf-cst-hdr-fst-r + + + This class defines styles for the first row in the header. + + + + + + No skin parameters. + + = + + + + + .rf-cst-hdr-c + + + This class defines styles for a header cell. + + + + + + tableSubHeaderBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-cst-shdr + + + This class defines styles for a table sub-header. + + + + + + No skin parameters. + + = + + + + + .rf-cst-shdr-fst + + + This class defines styles for the first sub-header. + + + + + + No skin parameters. + + = + + + + + .rf-cst-shdr-c + + + This class defines styles for a sub-header cell. + + + + + + tableSubHeaderBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-cst-ftr + + + This class defines styles for a table footer. + + + + + + No skin parameters. + + = + + + + + .rf-cst-ftr-fst + + + This class defines styles for the first footer. + + + + + + No skin parameters. + + = + + + + + .rf-cst-ftr-c + + + This class defines styles for a footer cell. + + + + + + tableSubFooterBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-cst-sftr + + + This class defines styles for a table sub-footer. + + + + + + No skin parameters. + + = + + + + + .rf-cst-sftr-fst + + + This class defines styles for the first sub-footer. + + + + + + No skin parameters. + + = + + + + + .rf-cst-sftr-c + + + This class defines styles for a sub-footer cell. + + + + + + tableSubFooterBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + +
Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richcollapsibleSubTableToggler.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richcollapsibleSubTableToggler.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richcollapsibleSubTableToggler.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,71 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-csttg + + + This class defines styles for toggle control. + + + + + + No skin parameters. + + = + + + + + .rf-csttg-exp + + + This class defines styles for toggle control which expands the su= b-table. + + + + + + No skin parameters. + + = + + + + + .rf-csttg-colps + + + This class defines styles for toggle control which collapses the = sub-table. + + + + + + No skin parameters. + + = + + +
Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richdataGrid.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataGrid.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataGrid.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,320 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-dg + + + This class defines styles for the grid. + + + + + + tableBackgroundColor + background-color + + + tableBorderWidth + border-left-width, border-top-width= + + + tableBorderColor + border-left-color, border-top-color= + + = + + + + + .rf-dg-cap + + + This class defines styles for the grid caption. + + + + + + No skin parameters. + + = + + + + + .rf-dg-r + + + This class defines styles for a grid row. + + + + + + No skin parameters. + + = + + + + + .rf-dg-c + + + This class defines styles for a grid cell. + + + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-dg-nd-c + + + This class defines styles for a node cell. + + + + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-dg-th + + + This class defines styles for the grid header section. + + + + + + tableBorderWidth + border-bottom-width + + + tableBorderColor + border-bottom-color + + = + + + + + .rf-dg-h + + + This class defines styles for a grid header. + + + + + + No skin parameters. + + = + + + + + .rf-dg-h-f + + + This class defines styles for the first header. + + + + + + No skin parameters. + + = + + + + + .rf-dg-h-r + + + This class defines styles for a header row. + + + + + + No skin parameters. + + = + + + + + .rf-dg-h-c + + + This class defines styles for a header cell. + + + + + + tableHeaderBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + tableHeaderTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-dg-f + + + This class defines styles for a grid footer. + + + + + + No skin parameters. + + = + + + + + .rf-dg-f-f + + + This class defines styles for the first footer. + + + + + + No skin parameters. + + = + + + + + .rf-dg-f-c + + + This class defines styles for a footer cell. + + + + + + tableFooterBackgroundColor + background-color + + + tableBorderWidth + border-bottom-width, border-right-w= idth + + + tableBorderColor + border-bottom-color, border-right-c= olor + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + +
Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richdataScroller.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataScroller.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataScroller.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,265 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-ds + + + This class defines styles for the data scroller. + + + + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + + tableBackgroundColor + background + + = + + + + + .rf-ds-btn + + + This class defines styles for buttons in the data scroller. + + + + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + + tableBorderColor + border-color + + + headerBackgroundColor + background-color + + = + + + + + .rf-ds-btn-first + + + This class defines styles for the first butt= on. + + + + + + No skin parameters. + + = + + + + + .rf-ds-btn-fastrwd + + + This class defines styles for the fast rewind button. + + + + + + No skin parameters. + + = + + + + + .rf-ds-btn-prev + + + This class defines styles for the previous b= utton. + + + + + + No skin parameters. + + = + + + + + .rf-ds-btn-next + + + This class defines styles for the next butto= n. + + + + + + No skin parameters. + + = + + + + + .rf-ds-btn-fastfwd + + + This class defines styles for the fast forward button. + + + + + + No skin parameters. + + = + + + + + .rf-ds-btn-last + + + This class defines styles for the last butto= n. + + + + + + No skin parameters. + + = + + + + + .rf-ds-nmb-btn + + + This class defines styles for page number buttons in the data scr= oller. + + + + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + + tableBorderColor + border-color + + + tableBackgroundColor + background-color + + = + + + + + .rf-ds-press + + + This class defines styles for a data scroller when a control is p= ressed. + + + + + + tableBorderColor + border-color + + + tableBackgroundColor + background + + = + + + + + .rf-ds-act + + + This class defines styles for an active data scroller. + + + + + + tableBorderColor + color + + = + + + + + .rf-ds-dis + + + This class defines styles for a disabled data scroller. + + + + + + tableBorderColor + color + + = + + +
Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richdataTable.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataTable.xml 2011-03-08 19:31:01 UTC (rev 22087) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataTable.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -47,7 +47,7 @@ - .rich-dt-cap + .rf-dt-cap This class defines styles for the table caption. @@ -63,7 +63,7 @@ - .rich-dt-r + .rf-dt-r This class defines styles for a table row. @@ -79,7 +79,7 @@ - .rich-dt-fst-r + .rf-dt-fst-r This class defines styles for the first row in a table. @@ -165,7 +165,7 @@ - .rich-dt-hdr + .rf-dt-hdr This class defines styles for a table header. @@ -181,7 +181,7 @@ - .rich-dt-hdr-fst + .rf-dt-hdr-fst This class defines styles for the first header. @@ -234,7 +234,7 @@ - .rich-dt-shdr + .rf-dt-shdr This class defines styles for a table sub-header. @@ -250,7 +250,7 @@ - .rich-dt-shdr-fst + .rf-dt-shdr-fst This class defines styles for the first sub-header. @@ -303,7 +303,7 @@ - .rich-dt-ftr + .rf-dt-ftr This class defines styles for a table footer. @@ -319,7 +319,7 @@ - .rich-dt-ftr-fst + .rf-dt-ftr-fst This class defines styles for the first footer. @@ -372,7 +372,7 @@ - .rich-dt-sftr + .rf-dt-sftr This class defines styles for a table sub-footer. @@ -388,7 +388,7 @@ - .rich-dt-sftr-fst + .rf-dt-sftr-fst This class defines styles for the first sub-footer. Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richlist.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richlist.xml 2011-03-08 19:31:01 UTC (rev 22087) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richlist.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -17,37 +17,107 @@
+ = - + - .rich-list + .rf-ulst-itm - This class defines styles for an HTML <ul> element. + This class defines styles for an item in an unordered list. - No skin parameters. + generalTextColor + color - = - + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + - .rich-list-item + .rf-olst-itm - This class defines styles for an HTML <il> element. + This class defines styles for an item in an unordered list. - No skin parameters. + generalTextColor + color + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-dlst-trm + + + This class defines styles for the term of an item in a definition= list. + + + + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-dlst-dfn + + + This class defines styles for the definition of an item in a defi= nition list. + + + + + + generalTextColor + color + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richtree.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richtree.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richtree.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,87 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-tr-nd + + + This class defines styles for the nodes in a tree. + + + + + + No skin parameters. + + = + + + + + .rf-tr-nd-last + + + This class defines styles for last node in a tree. + + + + + + No skin parameters. + + = + + + + + .rf-tr-nd-colps + + + This class defines styles for a collapsed tree node. + + + + + + No skin parameters. + + = + + + + + .rf-tr-nd-exp + + + This class defines styles for an expanded tree node. + + + + + + No skin parameters. + + = + + +
Added: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinni= ng/tabl-richtreeNode.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richtreeNode.xml (rev 0) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richtreeNode.xml 2011-03-09 06:49:33 UTC (rev 22088) @@ -0,0 +1,270 @@ + + + + + Style classes (selectors) and corresponding skin parameters + + + + + + + + Class (selector) + Skin Parameters + Mapped CSS properties + + + + = + + + + + .rf-trn + + + This class defines styles for a tree node. + + + + + + generalFamilyFont + font-family + + + generalSizeFont + font-size + + = + + + + + .rf-trn-lbl + + + This class defines styles for a tree node label. + + + + + + No skin parameters. + + = + + + + + .rf-trn-cnt + + + This class defines styles for tree node content. + + + + + + No skin parameters. + + = + + + + + .rf-trn-sel + + + This class defines styles for a selected tree node. + + + + + + additionalBackgroundColor + background + + = + + + + + .rf-trn-ldn + + + This class defines styles for a tree node when it is loading. + + + + + + additionalBackgroundColor + background + + = + + + + + .rf-trn-hnd + + + This class defines styles for a tree node handle. + + + + + + No skin parameters. + + = + + + + + .rf-trn-hnd-lf + + + This class defines styles for the handle of a leaf node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-hnd-colps + + + This class defines styles for the handle of a collapsed node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-hnd-exp + + + This class defines styles for the handle of an expanded node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-hnd-ldn-fct + + + This class defines styles for the loading facet of a tree node ha= ndle. + + + + + + No skin parameters. + + = + + + + + .rf-trn-ico + + + This class defines styles for tree node icon. + + + + + + No skin parameters. + + = + + + + + .rf-trn-ico-lf + + + This class defines styles for the icon of a leaf node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-ico-colps + + + This class defines styles for the icon of a collapsed node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-ico-exp + + + This class defines styles for the icon of an expanded node. + + + + + + No skin parameters. + + = + + + + + .rf-trn-ico-cst + + + This class defines styles for a custom node icon. + + + + + + No skin parameters. + + = + + +
--===============6370694878896458960==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 04:24:26 2011 Content-Type: multipart/mixed; boundary="===============4646824153501214378==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22089 - modules/tests/metamer/trunk/application/src/main/webapp/templates. Date: Wed, 09 Mar 2011 04:24:26 -0500 Message-ID: <201103090924.p299OQco006689@svn01.web.mwc.hst.phx2.redhat.com> --===============4646824153501214378== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 04:24:26 -0500 (Wed, 09 Mar 2011) New Revision: 22089 Modified: modules/tests/metamer/trunk/application/src/main/webapp/templates/header= .xhtml Log: disabled ui:debug due to MYFACES-3061 (RF-10668) Modified: modules/tests/metamer/trunk/application/src/main/webapp/templates= /header.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/templates/heade= r.xhtml 2011-03-09 06:49:33 UTC (rev 22088) +++ modules/tests/metamer/trunk/application/src/main/webapp/templates/heade= r.xhtml 2011-03-09 09:24:26 UTC (rev 22089) @@ -65,9 +65,12 @@ = - + = + = @@ -90,8 +93,11 @@ updateStatusChecker(); - - + = + = = --===============4646824153501214378==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 04:24:56 2011 Content-Type: multipart/mixed; boundary="===============1674906983867125383==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22090 - modules/tests/metamer/trunk/application/src/main/webapp/components/richDataScroller. Date: Wed, 09 Mar 2011 04:24:55 -0500 Message-ID: <201103090924.p299OtTw006707@svn01.web.mwc.hst.phx2.redhat.com> --===============1674906983867125383== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 04:24:55 -0500 (Wed, 09 Mar 2011) New Revision: 22090 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richD= ataScroller/simple.xhtml Log: fixed nested rendering in data scroller sample Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richDataScroller/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= DataScroller/simple.xhtml 2011-03-09 09:24:26 UTC (rev 22089) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= DataScroller/simple.xhtml 2011-03-09 09:24:55 UTC (rev 22090) @@ -46,7 +46,7 @@ = - +

--===============7520456050095321812== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 04:25:27 -0500 (Wed, 09 Mar 2011) New Revision: 22091 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richT= ree/treeAdaptors.xhtml Log: added @for for all outputLabels in tree sample Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richTree/treeAdaptors.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Tree/treeAdaptors.xhtml 2011-03-09 09:24:55 UTC (rev 22090) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Tree/treeAdaptors.xhtml 2011-03-09 09:25:27 UTC (rev 22091) @@ -162,22 +162,22 @@ = - + = - - + + = - + = - + @@ -185,33 +185,33 @@ = - + = - + = - - - + + + = - + = - + = - - - + + + = - + = - + --===============7520456050095321812==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 04:26:01 2011 Content-Type: multipart/mixed; boundary="===============3183480036628246811==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22092 - modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer. Date: Wed, 09 Mar 2011 04:26:01 -0500 Message-ID: <201103090926.p299Q1x1006944@svn01.web.mwc.hst.phx2.redhat.com> --===============3183480036628246811== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 04:26:00 -0500 (Wed, 09 Mar 2011) New Revision: 22092 Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/Attribute.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/Extensions.java Log: updated Attribute and Extensions with equals, hashCode and toString Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/Attribute.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/Attribute.java 2011-03-09 09:25:27 UTC (rev 22091) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/Attribute.java 2011-03-09 09:26:00 UTC (rev 22092) @@ -30,8 +30,10 @@ import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; = -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; = /** * Representation an attribute of a JSF component. @@ -41,9 +43,9 @@ */ @XmlRootElement(name =3D "property", namespace =3D "http://java.sun.com/xm= l/ns/javaee") public class Attribute implements Serializable { - - private static final long serialVersionUID =3D -6716974687380275186L; - private Logger logger; + = + private static final long serialVersionUID =3D 6142493504360646686L; + = private String name; private Object value; private Class type; @@ -53,11 +55,9 @@ private Extensions extensions; = public Attribute() { - logger =3D LoggerFactory.getLogger(getClass()); } = public Attribute(String name) { - logger =3D LoggerFactory.getLogger(getClass()); this.name =3D name; } = @@ -176,4 +176,19 @@ public boolean isRequired() { return extensions.getRequired(); } + = + @Override + public boolean equals(Object obj) { + return EqualsBuilder.reflectionEquals(this, obj); + } + = + @Override + public int hashCode() { + return HashCodeBuilder.reflectionHashCode(this, true); + } + = + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.MULT= I_LINE_STYLE); + } } Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/Extensions.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/Extensions.java 2011-03-09 09:25:27 UTC (rev 22091) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/Extensions.java 2011-03-09 09:26:00 UTC (rev 22092) @@ -26,6 +26,11 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; = +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + /** * Representation of CDK extension of a RichFaces component in faces-confi= g.xml. * = @@ -97,4 +102,19 @@ public void setRequired(boolean required) { this.required =3D required; } + = + @Override + public boolean equals(Object obj) { + return EqualsBuilder.reflectionEquals(this, obj); + } + = + @Override + public int hashCode() { + return HashCodeBuilder.reflectionHashCode(this, true); + } + = + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.MULT= I_LINE_STYLE); + } } --===============3183480036628246811==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 04:27:34 2011 Content-Type: multipart/mixed; boundary="===============2824882190233890457==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22093 - in modules/tests/metamer/trunk: application/src/main/java/org/richfaces/tests/metamer/model/treeAdaptor and 2 other directories. Date: Wed, 09 Mar 2011 04:27:34 -0500 Message-ID: <201103090927.p299RYu2007084@svn01.web.mwc.hst.phx2.redhat.com> --===============2824882190233890457== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 04:27:32 -0500 (Wed, 09 Mar 2011) New Revision: 22093 Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/AbstractNode.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/LazyLoadable.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/ModelNodeImpl.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/RecursiveNodeImpl.java modules/tests/metamer/trunk/application/src/test/java/org/richfaces/test= s/metamer/TestRichTreeModelRecursiveAdaptorBeanSerialization.java Removed: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/LazyLoadingListener.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/Reference.java Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/bean/RichTreeModelRecursiveAdaptorBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/KeyConverter.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/LazyLoadingChecker.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/ModelNode.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/Node.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/model/treeAdaptor/RecursiveNode.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richTreeModelAdaptor/TestTreeModelAdaptorSelection.java Log: refactored tree to support serialization (needed for MyFaces) (RF-1224) Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/bean/RichTreeModelRecursiveAdaptorBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichTreeModelRecursiveAdaptorBean.java 2011-03-09 09:26:00 = UTC (rev 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichTreeModelRecursiveAdaptorBean.java 2011-03-09 09:27:32 = UTC (rev 22093) @@ -30,15 +30,15 @@ import java.util.concurrent.atomic.AtomicReference; = import javax.annotation.PostConstruct; +import javax.el.ELContext; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; +import javax.faces.context.FacesContext; = import org.richfaces.component.UITreeModelRecursiveAdaptor; import org.richfaces.tests.metamer.Attributes; -import org.richfaces.tests.metamer.model.treeAdaptor.LazyLoadingListener; -import org.richfaces.tests.metamer.model.treeAdaptor.Node; import org.richfaces.tests.metamer.model.treeAdaptor.RecursiveNode; -import org.richfaces.tests.metamer.model.treeAdaptor.Reference; +import org.richfaces.tests.metamer.model.treeAdaptor.RecursiveNodeImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; = @@ -51,7 +51,7 @@ public class RichTreeModelRecursiveAdaptorBean implements Serializable { = = - private static final long serialVersionUID =3D 4008175400649809L; + private static final long serialVersionUID =3D 1L; private static Logger logger; private static List rootNodes; = @@ -64,17 +64,9 @@ /* * Nodes which was loaded lazily in the current request */ - private Set lazyInitializedNodes =3D new LinkedHashSet(); + private Set lazyInitializedNodes =3D new LinkedHashSet= (); = - private LazyLoadingListener nodeLazyLoadingListener =3D new Lazy= LoadingListener() { - private static final long serialVersionUID =3D 1L; - - public void notify(Node node) { - lazyInitializedNodes.add(node); - }; - }; - - public Set getLazyInitializedNodes() { + public Set getLazyInitializedNodes() { return lazyInitializedNodes; } = @@ -101,16 +93,7 @@ = public List getRootNodes() { if (!rootNodesInitialized) { - rootNodes =3D RecursiveNode.createChildren(null, leafChildrenN= ullable, - new Reference>() { - private static final long serialVersionUID =3D 1L; - - @Override - public LazyLoadingListener get() { - return nodeLazyLoadingListener; - } - }); - rootNodesInitialized =3D true; + rootNodes =3D RecursiveNodeImpl.createChildren(true, "", 1, fa= lse); } return rootNodes; } @@ -138,4 +121,9 @@ public static List getRootNodesStatically() { return rootNodes; } + = + public static RichTreeModelRecursiveAdaptorBean getFacesContext() { + ELContext elContext =3D FacesContext.getCurrentInstance().getELCon= text(); + return (RichTreeModelRecursiveAdaptorBean) elContext.getELResolver= ().getValue(elContext, null, "richTreeModelRecursiveAdaptorBean"); + } } Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/model/treeAdaptor/AbstractNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/AbstractNode.java (rev= 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/AbstractNode.java 2011-03-09 09:27:32 UTC (rev= 22093) @@ -0,0 +1,81 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.model.treeAdaptor; + +import java.io.Serializable; + +import org.richfaces.tests.metamer.bean.RichTreeModelRecursiveAdaptorBean; + +/** + * @author Lukas Fryc + * @version $Revision$ + */ +public abstract class AbstractNode implements Serializable, LazyLoadable, = Node { + + private static final long serialVersionUID =3D 1L; + + private boolean isRoot; + private int number; + private String parentLabel; + + protected AbstractNode(boolean isRoot, int number, String parentLabel)= { + this.number =3D number; + this.parentLabel =3D parentLabel; + this.isRoot =3D isRoot; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.INode#isRoot() + */ + @Override + public boolean isRoot() { + return isRoot; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.INode#getNumber() + */ + @Override + public int getNumber() { + return number; + } + = + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.INode#getParentL= abel() + */ + @Override + public String getParentLabel() { + return parentLabel; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.INode#getLabel() + */ + @Override + public abstract String getLabel(); + = + @Override + public void notifyLoaded() { + RichTreeModelRecursiveAdaptorBean bean =3D RichTreeModelRecursiveA= daptorBean.getFacesContext(); + bean.getLazyInitializedNodes().add(this.getLabel()); + } +} Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/model/treeAdaptor/KeyConverter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/KeyConverter.java 2011-03-09 09:26:00 UTC (rev= 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/KeyConverter.java 2011-03-09 09:27:32 UTC (rev= 22093) @@ -66,7 +66,7 @@ break; = case 'K': - for (ModelNode.K key : model.getMap().keySet()) { + for (ModelNodeImpl.K key : model.getMap().keySet()= ) { if (key.number =3D=3D num) { return key; } @@ -85,8 +85,8 @@ } = public String getAsString(FacesContext context, UIComponent component,= Object value) { - if (value instanceof ModelNode.K) { - ModelNode.K k =3D (ModelNode.K) value; + if (value instanceof ModelNodeImpl.K) { + ModelNodeImpl.K k =3D (ModelNodeImpl.K) value; return k.getLabel(); } = Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/model/treeAdaptor/LazyLoadable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadable.java (rev= 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadable.java 2011-03-09 09:27:32 UTC (rev= 22093) @@ -0,0 +1,38 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.model.treeAdaptor; + +/** + *

+ * Marks that given object can be checked for lazy loading. + *

+ * = + *

+ * Needs to implement {@link #notifyLoaded()} which performs notification = about accessing object by external entity. + *

+ * = + * @author Lukas Fryc + * @version $Revision$ + */ +public interface LazyLoadable { + void notifyLoaded(); +} Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/model/treeAdaptor/LazyLoadingChecker.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadingChecker.java 2011-03-09 09:26:00 UT= C (rev 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadingChecker.java 2011-03-09 09:27:32 UT= C (rev 22093) @@ -1,3 +1,24 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.model.treeAdaptor; = import static java.lang.reflect.Modifier.isStatic; @@ -3,52 +24,36 @@ = import java.io.Serializable; +import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; +import java.lang.reflect.Proxy; = -import javassist.util.proxy.MethodHandler; -import javassist.util.proxy.ProxyFactory; -import javassist.util.proxy.ProxyObject; +/** + *

+ * Wraps {@link LazyLoadable} entity with proxy which performs notificatio= n by {@link LazyLoadable#notifyLoaded()} to + * let know about accessing methods of that wrapped instance. + *

+ * = + * @author Lukas Fryc + * @version $Revision$ + */ +public final class LazyLoadingChecker implements InvocationHandler, Serializable { + private static final long serialVersionUID =3D 1L; = -import org.apache.commons.lang.Validate; - -public final class LazyLoadingChecker implements MethodHandler, Seriali= zable { - private static final long serialVersionUID =3D 1L; - = T instance; - Reference> listenerReference =3D null; = - private LazyLoadingChecker(T instance, Reference> listenerReference) { + private LazyLoadingChecker(T instance) { this.instance =3D instance; - this.listenerReference =3D listenerReference; } = @SuppressWarnings("unchecked") - public static T wrapInstance(T instance, Reference> listenerReference) { - Validate.notNull(listenerReference); - ProxyFactory f =3D new ProxyFactory(); - f.setSuperclass(instance.getClass()); - Class c =3D f.createClass(); - - T proxy; - try { - proxy =3D (T) c.newInstance(); - } catch (InstantiationException e) { - throw new IllegalStateException(e); - } catch (IllegalAccessException e) { - throw new IllegalStateException(e); - } - - ((ProxyObject) proxy).setHandler(new LazyLoadingChecker(instanc= e, listenerReference)); - return proxy; + public static T wrapInstance(T= instance) { + return (T) Proxy.newProxyInstance(instance.getClass().getClassLoad= er(), instance.getClass().getInterfaces(), + new LazyLoadingChecker(instance)); } = @Override - public Object invoke(Object self, Method m, Method proceed, Object[] a= rgs) throws Throwable { + public Object invoke(Object proxy, Method m, Object[] args) throws Thr= owable { if (!isStatic(m.getModifiers())) { - LazyLoadingListener listener =3D listenerReference.get(); - if (listener !=3D null) { - listener.notify(instance); - } else { - throw new IllegalStateException(); - } + instance.notifyLoaded(); } Object result =3D m.invoke(instance, args); Deleted: modules/tests/metamer/trunk/application/src/main/java/org/richface= s/tests/metamer/model/treeAdaptor/LazyLoadingListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadingListener.java 2011-03-09 09:26:00 U= TC (rev 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/LazyLoadingListener.java 2011-03-09 09:27:32 U= TC (rev 22093) @@ -1,7 +0,0 @@ -package org.richfaces.tests.metamer.model.treeAdaptor; - -import java.io.Serializable; - -public interface LazyLoadingListener extends Serializable { - void notify(T instance); -} Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/model/treeAdaptor/ModelNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/ModelNode.java 2011-03-09 09:26:00 UTC (rev 22= 092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/ModelNode.java 2011-03-09 09:27:32 UTC (rev 22= 093) @@ -21,137 +21,24 @@ *************************************************************************= ******/ package org.richfaces.tests.metamer.model.treeAdaptor; = -import java.io.Serializable; -import java.util.LinkedHashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.concurrent.atomic.AtomicReference; = +import org.richfaces.tests.metamer.model.treeAdaptor.ModelNodeImpl.A; +import org.richfaces.tests.metamer.model.treeAdaptor.ModelNodeImpl.B; +import org.richfaces.tests.metamer.model.treeAdaptor.ModelNodeImpl.K; +import org.richfaces.tests.metamer.model.treeAdaptor.ModelNodeImpl.V; + /** * @author Lukas Fryc * @version $Revision$ */ -public class ModelNode extends Node { - private static final long serialVersionUID =3D 1L; +public interface ModelNode extends Node { + A getValue(); = - private static final int BS =3D 3; - private static final int KS =3D 4; - List bs; - Map map; - List rs; + List getList(); = - public ModelNode() { - super(null, null, null); - } + Map getMap(); = - protected ModelNode(Node parent, AtomicReference nullable, - Reference> lazyLoadingListenerReference)= { - super(parent, nullable, lazyLoadingListenerReference); - } - - public static ModelNode getInstance(Node parent, AtomicReference nullable, - Reference> lazyLoadingListenerReference)= { - return lazyLoadingChecker(new ModelNode(parent, nullable, lazyLoad= ingListenerReference)); - } - - public String getLabel() { - return isRoot() ? "M" : getParent().getLabel() + "-M"; - } - - public A getValue() { - return new A(); - } - - public List getList() { - if (bs =3D=3D null) { - bs =3D new LinkedList(); - for (int i =3D 0; i < BS; i++) { - bs.add(new B(i)); - } - } - return bs; - } - - public Map getMap() { - if (map =3D=3D null) { - map =3D new LinkedHashMap(); - for (int i =3D 0; i < KS; i++) { - map.put(new K(i), new V(i)); - } - } - return map; - } - - public List getRecursive() { - if (rs =3D=3D null) { - rs =3D RecursiveNode.createChildren(this, getNullable(), null); - } - return rs; - } - - public class A implements Serializable { - private static final long serialVersionUID =3D 1L; - - public String getLabel() { - return ModelNode.this.getLabel() + "-A"; - } - } - - public class B implements Serializable { - private static final long serialVersionUID =3D 1L; - - int number; - - public B(int number) { - this.number =3D number; - } - - public String getLabel() { - return ModelNode.this.getLabel() + "-B-" + number; - } - } - - public class K implements Serializable, Comparable { - private static final long serialVersionUID =3D 1L; - - int number; - - public K(int number) { - this.number =3D number; - } - - public String getLabel() { - return ModelNode.this.getLabel() + "-K-" + number; - } - = - @Override - public int compareTo(K o) { - return this.number - o.number; - } - = - @Override - public String toString() { - return Integer.toString(number); - } - } - - public class V implements Serializable { - private static final long serialVersionUID =3D 1L; - - int number; - - public V(int number) { - this.number =3D number; - } - - public String getLabel() { - return ModelNode.this.getLabel() + "-V-" + number; - } - } - - @Override - public String toString() { - return getLabel(); - } -} \ No newline at end of file + List getRecursive(); +} Copied: modules/tests/metamer/trunk/application/src/main/java/org/richfaces= /tests/metamer/model/treeAdaptor/ModelNodeImpl.java (from rev 22092, module= s/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer= /model/treeAdaptor/ModelNode.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/ModelNodeImpl.java (re= v 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/ModelNodeImpl.java 2011-03-09 09:27:32 UTC (re= v 22093) @@ -0,0 +1,217 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.model.treeAdaptor; + +import java.io.Serializable; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.commons.lang.builder.HashCodeBuilder; + +/** + * @author Lukas Fryc + * @version $Revision$ + */ +public class ModelNodeImpl extends AbstractNode implements ModelNode { + private static final long serialVersionUID =3D 1L; + + private static final int BS =3D 3; + private static final int KS =3D 4; + List bs; + Map map; + List rs; + + protected ModelNodeImpl(boolean isRoot, int number, String parentLabel= ) { + super(isRoot, number, parentLabel); + } + + public static ModelNode getInstance(boolean isRoot, int number, String= parentLabel) { + ModelNodeImpl modelNode =3D new ModelNodeImpl(isRoot, number, pare= ntLabel); + return LazyLoadingChecker.wrapInstance(modelNode); + } + + /* + * (non-Javadoc) + * = + * @see org.richfaces.tests.metamer.model.treeAdaptor.IModelNode#getLa= bel() + */ + @Override + public String getLabel() { + return isRoot() ? "M" : getParentLabel() + "-M"; + } + + /* + * (non-Javadoc) + * = + * @see org.richfaces.tests.metamer.model.treeAdaptor.IModelNode#getVa= lue() + */ + @Override + public A getValue() { + return new A(getLabel()); + } + + /* + * (non-Javadoc) + * = + * @see org.richfaces.tests.metamer.model.treeAdaptor.IModelNode#getLi= st() + */ + @Override + public List getList() { + if (bs =3D=3D null) { + bs =3D new LinkedList(); + for (int i =3D 0; i < BS; i++) { + bs.add(new B(getLabel(), i)); + } + } + return bs; + } + + /* + * (non-Javadoc) + * = + * @see org.richfaces.tests.metamer.model.treeAdaptor.IModelNode#getMa= p() + */ + @Override + public Map getMap() { + if (map =3D=3D null) { + map =3D new LinkedHashMap(); + for (int i =3D 0; i < KS; i++) { + map.put(new K(getLabel(), i), new V(getLabel(), i)); + } + } + return map; + } + + /* + * (non-Javadoc) + * = + * @see org.richfaces.tests.metamer.model.treeAdaptor.IModelNode#getRe= cursive() + */ + @Override + public List getRecursive() { + if (rs =3D=3D null) { + rs =3D RecursiveNodeImpl.createChildren(false, getLabel(), 1, = true); + } + return rs; + } + + public static class A implements Serializable { + private static final long serialVersionUID =3D 1L; + + String parentLabel; + + public A(String parentLabel) { + this.parentLabel =3D parentLabel; + } + + public String getLabel() { + return parentLabel + "-A"; + } + } + + public static class B implements Serializable { + private static final long serialVersionUID =3D 1L; + + int number; + String parentLabel; + = + public B(String parentLabel, int number) { + this.parentLabel =3D parentLabel; + this.number =3D number; + } + + public String getLabel() { + return parentLabel + "-B-" + number; + } + } + + public static class K implements Serializable, Comparable { + private static final long serialVersionUID =3D 1L; + + int number; + String parentLabel; + + public K(String parentLabel, int number) { + this.parentLabel =3D parentLabel; + this.number =3D number; + } + + public String getLabel() { + return parentLabel + "-K-" + number; + } + + @Override + public int compareTo(K o) { + return this.getLabel().compareTo(o.getLabel()); + } + + @Override + public boolean equals(Object obj) { + if (obj =3D=3D null) { + return false; + } + if (obj =3D=3D this) { + return true; + } + if (obj.getClass() !=3D getClass()) { + return false; + } + K rhs =3D (K) obj; + return new EqualsBuilder().append(getLabel(), rhs.getLabel()).= isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(getLabel()).toHashCo= de(); + + } + + @Override + public String toString() { + return Integer.toString(number); + } + } + + public static class V implements Serializable { + private static final long serialVersionUID =3D 1L; + + int number; + String parentLabel; + + public V(String parentLabel, int number) { + this.parentLabel =3D parentLabel; + this.number =3D number; + } + + public String getLabel() { + return parentLabel + "-V-" + number; + } + } + + @Override + public String toString() { + return getLabel(); + } +} \ No newline at end of file Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/model/treeAdaptor/Node.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/Node.java 2011-03-09 09:26:00 UTC (rev 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/Node.java 2011-03-09 09:27:32 UTC (rev 22093) @@ -21,85 +21,18 @@ *************************************************************************= ******/ package org.richfaces.tests.metamer.model.treeAdaptor; = -import java.io.Serializable; -import java.util.Deque; -import java.util.LinkedList; -import java.util.concurrent.atomic.AtomicReference; - /** * @author Lukas Fryc * @version $Revision$ */ -public abstract class Node implements Serializable { - = - private static final long serialVersionUID =3D 1L; - = - private Node parent; - private AtomicReference nullable; - private Reference> lazyLoadingListenerRefere= nce =3D new NodeReference(); +public interface Node { = - protected Node(Node parent, AtomicReference nullable, - Reference> lazyLoadingListenerReference)= { - this.parent =3D parent; - this.nullable =3D nullable; - if (lazyLoadingListenerReference !=3D null) { - this.lazyLoadingListenerReference =3D lazyLoadingListenerRefer= ence; - } - } + public abstract boolean isRoot(); = - public static T lazyLoadingChecker(T node) { - return (T) LazyLoadingChecker.wrapInstance(node, node.getLazyLoadi= ngListenerReference()); - } + public abstract int getNumber(); = - public Node getParent() { - return parent; - } + public abstract String getParentLabel(); = - public boolean isRoot() { - return parent =3D=3D null; - } - = - public AtomicReference getNullable() { - return nullable; - } - - public int getLevel() { - return isRoot() ? 1 : parent.getLevel() + 1; - } - - public Node getRoot() { - return isRoot() ? this : parent.getRoot(); - } - - public Iterable getPredecessorsFromRoot() { - Deque list =3D new LinkedList(); - list.addFirst(this); - - while (list.getFirst().parent !=3D null) { - list.addFirst(list.getFirst().parent); - } - - return list; - } - public abstract String getLabel(); = - public Reference> getLazyLoadingListenerRefe= rence() { - return lazyLoadingListenerReference; - } - - public void setLazyLoadingListener(Reference= > lazyLoadingListener) { - this.lazyLoadingListenerReference =3D lazyLoadingListener; - } - - public class NodeReference implements Reference> { - @Override - public LazyLoadingListener get() { - Node root =3D getRoot(); - if (root =3D=3D Node.this) { - return null; - } - return getRoot().getLazyLoadingListenerReference().get(); - } - } -} +} \ No newline at end of file Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/model/treeAdaptor/RecursiveNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/RecursiveNode.java 2011-03-09 09:26:00 UTC (re= v 22092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/RecursiveNode.java 2011-03-09 09:27:32 UTC (re= v 22093) @@ -21,244 +21,23 @@ *************************************************************************= ******/ package org.richfaces.tests.metamer.model.treeAdaptor; = -import java.io.Serializable; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; = /** * @author Lukas Fryc * @version $Revision$ */ -public class RecursiveNode extends Node { - private static final long serialVersionUID =3D 1L; - = - private static final int CHILDREN =3D 4; - private static final int LEVELS =3D 2; - private static final List EMPTY_LIST =3D new LinkedList= (); - private static final Map EMPTY_MAP =3D new Has= hMap(); +public interface RecursiveNode extends Node { = - int number; - List children =3D null; - NodeMap nodeMap =3D new NodeMap(); - ModelNode model; + public abstract ModelNode getModel(); = - public RecursiveNode() { - super(null, null, null); - } + public abstract boolean isLeaf(); = - protected RecursiveNode(Node parent, AtomicReference nullable= , int number, - Reference> lazyLoadingListenerReference)= { - super(parent, nullable, lazyLoadingListenerReference); - this.number =3D number; - } + public abstract List getRecursiveList(); = - public static RecursiveNode getInstance(Node parent, AtomicReference nullable, int number, - Reference> lazyLoadingListenerReference)= { - return lazyLoadingChecker(new RecursiveNode(parent, nullable, numb= er, lazyLoadingListenerReference)); - } + public abstract Map getRecursiveMap(); = - public int getNumber() { - return number; - } + public abstract int getRecursionLevel(); = - public boolean isLeaf() { - return getRecursionLevel() >=3D LEVELS + (isOddBranch() ? 0 : 1); - } - - public List getRecursiveList() { - if (isLeaf()) { - return getEmptyList(); - } - if (children =3D=3D null) { - children =3D createChildren(this, getNullable(), null); - } - return children; - } - - public Map getRecursiveMap() { - if (isLeaf()) { - return getEmptyMap(); - } - return nodeMap; - } - - private List getEmptyList() { - return getNullable().get() ? null : EMPTY_LIST; - } - - private Map getEmptyMap() { - return getNullable().get() ? null : EMPTY_MAP; - } - - public String getLabel() { - String parentLabel =3D (isRoot() ? "" : getParent().getLabel() + "= -") + "R-"; - String recursionLabel =3D (isRecursionRoot() ? parentLabel : getPa= rent().getLabel() + ".") + number; - return recursionLabel; - } - - public ModelNode getModel() { - if (isLeaf() && !isPreceededByModel()) { - if (model =3D=3D null) { - model =3D ModelNode.getInstance(this, getNullable(), null); - } - return model; - } - return null; - } - - public int getRecursionLevel() { - return isRecursionRoot() ? 1 : 1 + ((RecursiveNode) getParent()).g= etRecursionLevel(); - } - - private boolean isRecursionRoot() { - if (isRoot()) { - return true; - } else { - return !(getParent() instanceof RecursiveNode); - } - } - - public static List createChildren(Node parent, AtomicRe= ference nullable, - Reference> lazyLoadingListenerReference)= { - List children =3D new LinkedList(); - for (int i =3D 0; i < CHILDREN; i++) { - RecursiveNode node =3D RecursiveNode.getInstance(parent, nulla= ble, i, lazyLoadingListenerReference); - children.add(node); - } - return children; - } - - private boolean isPreceededByModel() { - for (Node predecessor : getPredecessorsFromRoot()) { - if (predecessor instanceof ModelNode) { - return true; - } - } - return false; - } - - private boolean isOddBranch() { - for (Node predecessor : getPredecessorsFromRoot()) { - if (predecessor instanceof RecursiveNode) { - return ((RecursiveNode) predecessor).number % 2 =3D=3D 1; - } - } - return this.number % 2 =3D=3D 1; - } - - @Override - public String toString() { - return getLabel(); - } - - public class NodeMap implements Map, Serializa= ble { - = - private static final long serialVersionUID =3D 1L; - - @Override - public int size() { - return getRecursiveList().size(); - } - - @Override - public boolean isEmpty() { - return getRecursiveList().isEmpty(); - } - - @Override - public boolean containsKey(Object key) { - throw new UnsupportedOperationException("not implemented"); - } - - @Override - public boolean containsValue(Object value) { - throw new UnsupportedOperationException("not implemented"); - } - - @Override - public RecursiveNode get(Object key) { - if (key instanceof Integer) { - return getRecursiveList().get((Integer) key); - } - throw new IllegalStateException("there is no value for the key= '" + key + "' (type " - + key.getClass().getName() + ")"); - } - - @Override - public RecursiveNode put(Integer key, RecursiveNode value) { - throw new UnsupportedOperationException("not supported"); - } - - @Override - public RecursiveNode remove(Object key) { - throw new UnsupportedOperationException("not supported"); - } - - @Override - public void putAll(Map= m) { - throw new UnsupportedOperationException("not supported"); - } - - @Override - public void clear() { - throw new UnsupportedOperationException("not supported"); - } - - @Override - public Set keySet() { - HashSet set =3D new HashSet(); - for (int i =3D 0; i < getRecursiveList().size(); i++) { - set.add(i); - } - return set; - } - - @Override - public Collection values() { - return getRecursiveList(); - } - - @Override - public Set> entrySet()= { - HashSet> set =3D new HashSet= >(); - int i =3D 0; - for (RecursiveNode node : getRecursiveList()) { - set.add(new MapEntry(i++, node)); - } - return set; - } - - } - - public class MapEntry implements Map.Entry { - - int key; - RecursiveNode node; - - public MapEntry(int key, RecursiveNode node) { - this.key =3D key; - this.node =3D node; - } - - @Override - public Integer getKey() { - return key; - } - - @Override - public RecursiveNode getValue() { - return node; - } - - @Override - public RecursiveNode setValue(RecursiveNode value) { - throw new UnsupportedOperationException("not supported"); - } - } } \ No newline at end of file Copied: modules/tests/metamer/trunk/application/src/main/java/org/richfaces= /tests/metamer/model/treeAdaptor/RecursiveNodeImpl.java (from rev 22092, mo= dules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/met= amer/model/treeAdaptor/RecursiveNode.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/RecursiveNodeImpl.java = (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/RecursiveNodeImpl.java 2011-03-09 09:27:32 UTC= (rev 22093) @@ -0,0 +1,264 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.model.treeAdaptor; + +import java.io.Serializable; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.richfaces.tests.metamer.bean.RichTreeModelRecursiveAdaptorBean; + +/** + * @author Lukas Fryc + * @version $Revision$ + */ +public class RecursiveNodeImpl extends AbstractNode implements RecursiveNo= de { + private static final long serialVersionUID =3D 1L; + + private static final int CHILDREN =3D 4; + private static final int LEVELS =3D 2; + private static final List EMPTY_LIST =3D new LinkedList= (); + private static final Map EMPTY_MAP =3D new Has= hMap(); + + int recursionLevel; + boolean oddBranch; + List children =3D null; + NodeMap nodeMap =3D new NodeMap(); + ModelNode model; + + protected RecursiveNodeImpl(boolean isRoot, int number, String parentL= abel, int recursionLevel, boolean oddBranch) { + super(isRoot, number, parentLabel); + this.recursionLevel =3D recursionLevel; + this.oddBranch =3D oddBranch; + } + + public static RecursiveNode getInstance(boolean isRoot, int number, St= ring parentLabel, int recursionLevel, boolean oddBranch) { + RecursiveNodeImpl recursiveNode =3D new RecursiveNodeImpl(isRoot, = number, parentLabel, recursionLevel, oddBranch); + return LazyLoadingChecker.wrapInstance(recursiveNode); + } + + public static List createChildren(boolean createRoots, = String parentLabel, int recursionLevel, boolean preferedOddBranch) { + List children =3D new LinkedList(); + for (int i =3D 0; i < CHILDREN; i++) { + boolean oddBranch =3D preferedOddBranch; + if (createRoots) { + oddBranch =3D i % 2 =3D=3D 1; + } + RecursiveNode node =3D RecursiveNodeImpl.getInstance(createRoo= ts, i, parentLabel, recursionLevel, oddBranch); + children.add(node); + } + return children; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#g= etModel() + */ + @Override + public ModelNode getModel() { + if (isLeaf() && model =3D=3D null) { + model =3D ModelNodeImpl.getInstance(false, 1, getLabel()); + } + return model; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#i= sLeaf() + */ + @Override + public boolean isLeaf() { + return getRecursionLevel() >=3D LEVELS + (oddBranch ? 0 : 1); + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#g= etRecursiveList() + */ + @Override + public List getRecursiveList() { + if (isLeaf()) { + return getEmptyList(); + } + if (children =3D=3D null) { + children =3D createChildren(false, getLabel(), recursionLevel = + 1, this.oddBranch); + } + return children; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#g= etRecursiveMap() + */ + @Override + public Map getRecursiveMap() { + if (isLeaf()) { + return getEmptyMap(); + } + return nodeMap; + } + + private List getEmptyList() { + return isNullable() ? null : EMPTY_LIST; + } + + private Map getEmptyMap() { + return isNullable() ? null : EMPTY_MAP; + } + + private boolean isNullable() { + return RichTreeModelRecursiveAdaptorBean.getFacesContext().isLeafC= hildrenNullable(); + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#g= etLabel() + */ + @Override + public String getLabel() { + String parentLabel =3D (isRoot() ? "" : getParentLabel() + "-") + = "R-"; + String recursionLabel =3D (isRecursionRoot() ? parentLabel : getPa= rentLabel() + ".") + getNumber(); + return recursionLabel; + } + + /* (non-Javadoc) + * @see org.richfaces.tests.metamer.model.treeAdaptor.IRecursiveNode#g= etRecursionLevel() + */ + @Override + public int getRecursionLevel() { + return recursionLevel; + } + + private boolean isRecursionRoot() { + return recursionLevel =3D=3D 1; + } + + @Override + public String toString() { + return getLabel(); + } + + public class NodeMap implements Map, Serializa= ble { + + private static final long serialVersionUID =3D 1L; + + @Override + public int size() { + return getRecursiveList().size(); + } + + @Override + public boolean isEmpty() { + return getRecursiveList().isEmpty(); + } + + @Override + public boolean containsKey(Object key) { + throw new UnsupportedOperationException("not implemented"); + } + + @Override + public boolean containsValue(Object value) { + throw new UnsupportedOperationException("not implemented"); + } + + @Override + public RecursiveNode get(Object key) { + if (key instanceof Integer) { + return getRecursiveList().get((Integer) key); + } + throw new IllegalStateException("there is no value for the key= '" + key + "' (type " + + key.getClass().getName() + ")"); + } + + @Override + public RecursiveNode put(Integer key, RecursiveNode value) { + throw new UnsupportedOperationException("not supported"); + } + + @Override + public RecursiveNode remove(Object key) { + throw new UnsupportedOperationException("not supported"); + } + + @Override + public void putAll(Map= m) { + throw new UnsupportedOperationException("not supported"); + } + + @Override + public void clear() { + throw new UnsupportedOperationException("not supported"); + } + + @Override + public Set keySet() { + HashSet set =3D new HashSet(); + for (int i =3D 0; i < getRecursiveList().size(); i++) { + set.add(i); + } + return set; + } + + @Override + public Collection values() { + return getRecursiveList(); + } + + @Override + public Set> entrySet()= { + HashSet> set =3D new HashSet= >(); + int i =3D 0; + for (RecursiveNode node : getRecursiveList()) { + set.add(new MapEntry(i++, node)); + } + return set; + } + + } + + public class MapEntry implements Map.Entry { + + int key; + RecursiveNode node; + + public MapEntry(int key, RecursiveNode node) { + this.key =3D key; + this.node =3D node; + } + + @Override + public Integer getKey() { + return key; + } + + @Override + public RecursiveNode getValue() { + return node; + } + + @Override + public RecursiveNode setValue(RecursiveNode value) { + throw new UnsupportedOperationException("not supported"); + } + } +} \ No newline at end of file Deleted: modules/tests/metamer/trunk/application/src/main/java/org/richface= s/tests/metamer/model/treeAdaptor/Reference.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/Reference.java 2011-03-09 09:26:00 UTC (rev 22= 092) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/model/treeAdaptor/Reference.java 2011-03-09 09:27:32 UTC (rev 22= 093) @@ -1,8 +0,0 @@ -package org.richfaces.tests.metamer.model.treeAdaptor; - -import java.io.Serializable; - -public interface Reference extends Serializable { - = - public T get(); -} Added: modules/tests/metamer/trunk/application/src/test/java/org/richfaces/= tests/metamer/TestRichTreeModelRecursiveAdaptorBeanSerialization.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/test/java/org/richfaces/tes= ts/metamer/TestRichTreeModelRecursiveAdaptorBeanSerialization.java = (rev 0) +++ modules/tests/metamer/trunk/application/src/test/java/org/richfaces/tes= ts/metamer/TestRichTreeModelRecursiveAdaptorBeanSerialization.java 2011-03-= 09 09:27:32 UTC (rev 22093) @@ -0,0 +1,170 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer; + +import static org.testng.Assert.assertEquals; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.PrintStream; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.Arrays; +import java.util.Collection; +import java.util.Comparator; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import org.richfaces.tests.metamer.bean.RichTreeModelRecursiveAdaptorBean; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +import com.google.common.io.NullOutputStream; + +/** + * @author Lukas Fryc + * @version $Revision$ + */ +public class TestRichTreeModelRecursiveAdaptorBeanSerialization { + + private Set notEquals =3D new TreeSet(); + + PrintStream sysout; + + @BeforeClass + public void redirectOut() { + sysout =3D System.out; + System.setOut(new PrintStream(new NullOutputStream())); + } + + @AfterClass(alwaysRun =3D true) + public void returnOut() { + System.setOut(sysout); + } + + @Test + public void testBeanSerialization() throws IOException, ClassNotFoundE= xception, IllegalArgumentException, + IllegalAccessException { + + RichTreeModelRecursiveAdaptorBean bean =3D new RichTreeModelRecurs= iveAdaptorBean(); + bean.init(); + + Object obj1 =3D bean; + + ByteArrayOutputStream byteArrayOutputStream =3D new ByteArrayOutpu= tStream(); + ObjectOutputStream outputStream =3D new ObjectOutputStream(byteArr= ayOutputStream); + outputStream.writeObject(obj1); + + byte[] bytes =3D byteArrayOutputStream.toByteArray(); + + ObjectInputStream inputStream =3D new ObjectInputStream(new ByteAr= rayInputStream(bytes)); + Object obj2 =3D inputStream.readObject(); + + verifyEqualsDeeply(obj1, obj2); + } + + public void verifyEqualsDeeply(Object obj1, Object obj2) throws Illega= lArgumentException, IllegalAccessException { + + if (obj1 =3D=3D null) { + if (obj2 =3D=3D null) { + return; + } + throw new AssertionError("obj1 is null, but obj2 is not null"); + } + + Class classO =3D obj1.getClass(); + assertEquals(obj2.getClass(), classO, "Both objects should be inst= ances of the same class"); + + if (obj1.equals(obj2)) { + return; + } + + int hash =3D cohash(obj1, obj2); + if (notEquals.contains(hash)) { + return; + } + + notEquals.add(hash); + + if (Collection.class.isAssignableFrom(classO)) { + Collection col1 =3D (Collection) obj1; + Collection col2 =3D (Collection) obj2; + assertEquals(col1.toArray(new Object[col1.size()]), col2.toArr= ay(new Object[col2.size()])); + } else if (Map.class.isAssignableFrom(classO)) { + Map map1 =3D (Map) obj1; + Map map2 =3D (Map) obj2; + + Object[] array1 =3D map1.keySet().toArray(new Object[map1.size= ()]); + Arrays.sort(array1, new HashCodeComparator()); + + Object[] array2 =3D map2.keySet().toArray(new Object[map2.size= ()]); + Arrays.sort(array2, new HashCodeComparator()); + + assertEquals(array1, array2); + + array1 =3D map1.values().toArray(new Object[map1.size()]); + Arrays.sort(array1, new HashCodeComparator()); + + array2 =3D map2.values().toArray(new Object[map2.size()]); + Arrays.sort(array2, new HashCodeComparator()); + + assertEquals(array1, array2); + } else { + for (Field field : classO.getDeclaredFields()) { + + if (Modifier.isStatic(field.getModifiers())) { + continue; + } + if (Modifier.isTransient(field.getModifiers())) { + continue; + } + + boolean accessible =3D field.isAccessible(); + if (!accessible) { + field.setAccessible(true); + } + Object nObj1 =3D field.get(obj1); + Object nObj2 =3D field.get(obj2); + if (!accessible) { + field.setAccessible(false); + } + verifyEqualsDeeply(nObj1, nObj2); + } + } + } + + public int cohash(Object obj1, Object obj2) { + return 17 * obj1.hashCode() * obj2.hashCode() + obj2.hashCode() + = 11; + } + + public class HashCodeComparator implements Comparator { + @Override + public int compare(Object o1, Object o2) { + return o1.hashCode() - o2.hashCode(); + } + } +} Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richTreeModelAdaptor/TestTreeModelAdaptorSelection.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTreeModelAdaptor/TestTreeModelAdaptorSelection.java 2= 011-03-09 09:26:00 UTC (rev 22092) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTreeModelAdaptor/TestTreeModelAdaptorSelection.java 2= 011-03-09 09:27:32 UTC (rev 22093) @@ -51,7 +51,7 @@ PathsCrate pathsForListModel =3D new PathsCrate("listModel", new Integ= er[][] { { 2, 1, 3 }, { 3, 3, 2, 2 } }); PathsCrate pathsForMapModel =3D new PathsCrate("mapModel", new Integer= [][] { { 2, 1, 5 }, { 3, 3, 2, 6 } }); PathsCrate pathsForRecursiveModel =3D new PathsCrate("recursiveModel",= new Integer[][] { { 4, 1, 10, 2 }, - { 1, 4, 3, 11, 4, 1 } }); + { 1, 4, 3, 11, 4 } }); = @Inject @Use(enumeration =3D true) --===============2824882190233890457==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 05:15:04 2011 Content-Type: multipart/mixed; boundary="===============5130392510021773758==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22094 - in modules/tests/metamer/trunk/application/src/main: java/org/richfaces/tests/metamer/bean and 4 other directories. Date: Wed, 09 Mar 2011 05:15:03 -0500 Message-ID: <201103091015.p29AF3IN017535@svn01.web.mwc.hst.phx2.redhat.com> --===============5130392510021773758== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 05:15:02 -0500 (Wed, 09 Mar 2011) New Revision: 22094 Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/bean/RichValidatorBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/converter/ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/converter/EmptyStringToNullConverter.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/AssertFalseBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/AssertTrueBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/DecimalMinMaxBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/DigitsBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/FutureBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/MaxBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/MinBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/MinMaxBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/NotEmptyBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/NotNullBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/PastBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/PatternBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/SizeBean.java modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validation/Validable.java modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/ modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/csv.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/jsr303.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/list.xhtml Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/bean/RichBean.java Log: added 2 pages for testing validation Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/bean/RichBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichBean.java 2011-03-09 09:27:32 UTC (rev 22093) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -161,6 +161,7 @@ components.put("richToolbarGroup", "Rich Toolbar Group"); components.put("richTooltip", "Rich Tooltip"); components.put("richTree", "Rich Tree"); + components.put("richValidator", "Rich Validator"); } = private void createSkinList() { Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/bean/RichValidatorBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichValidatorBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichValidatorBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,68 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.bean; + +import java.io.Serializable; + +import javax.annotation.PostConstruct; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.ViewScoped; + +import org.richfaces.component.behavior.ClientValidatorImpl; +import org.richfaces.tests.metamer.Attributes; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Managed bean for rich:validator. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean(name =3D "richValidatorBean") +(a)ViewScoped +public class RichValidatorBean implements Serializable { + + private static final long serialVersionUID =3D -1L; + private static Logger logger; + private Attributes attributes; + + /** + * Initializes the managed bean. + */ + @PostConstruct + public void init() { + logger =3D LoggerFactory.getLogger(getClass()); + logger.debug("initializing bean " + getClass().getName()); + + attributes =3D Attributes.getBehaviorAttributesFromFacesConfig(Cli= entValidatorImpl.class, getClass()); + } + + public Attributes getAttributes() { + return attributes; + } + + public void setAttributes(Attributes attributes) { + this.attributes =3D attributes; + } + +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/converter/EmptyStringToNullConverter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/converter/EmptyStringToNullConverter.java = (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/converter/EmptyStringToNullConverter.java 2011-03-09 10:15:02 UT= C (rev 22094) @@ -0,0 +1,59 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.converter; + +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.convert.Converter; +import javax.faces.convert.FacesConverter; + +/** + * Converter used for converting empty strings to null. + * = + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)FacesConverter(value =3D "emptyStringToNullConverter") +public class EmptyStringToNullConverter implements Converter { + + /** + * {@inheritDoc} + */ + public Object getAsObject(FacesContext context, UIComponent component,= String value) { + if (value.isEmpty()) { + return null; + } else { + return value; + } + } + + /** + * {@inheritDoc} + */ + public String getAsString(FacesContext context, UIComponent component,= Object value) { + if (value =3D=3D null) { + return ""; + } + + return value.toString(); + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/AssertFalseBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/AssertFalseBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/AssertFalseBean.java 2011-03-09 10:15:02 UTC (rev 220= 94) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.AssertFalse; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class AssertFalseBean extends Validable { + + public AssertFalseBean() { + value =3D false; + } + + @AssertFalse + @Override + public Boolean getValue() { + return value; + } + + @Override + public void setValue(Boolean intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Boolean, false"; + } + + @Override + public String getLabel() { + return "assertFalse"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/AssertTrueBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/AssertTrueBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/AssertTrueBean.java 2011-03-09 10:15:02 UTC (rev 2209= 4) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.AssertTrue; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class AssertTrueBean extends Validable { + + public AssertTrueBean() { + value =3D true; + } + + @AssertTrue + @Override + public Boolean getValue() { + return value; + } + + @Override + public void setValue(Boolean intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Boolean, true"; + } + + @Override + public String getLabel() { + return "assertTrue"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/DecimalMinMaxBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/DecimalMinMaxBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/DecimalMinMaxBean.java 2011-03-09 10:15:02 UTC (rev 2= 2094) @@ -0,0 +1,63 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.math.BigDecimal; +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.DecimalMax; +import javax.validation.constraints.DecimalMin; + +/** + * Helper bean for testing JSR-303. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean +public class DecimalMinMaxBean extends Validable { + + public DecimalMinMaxBean() { + value =3D new BigDecimal(3); + } + + @DecimalMin("2.5") + @DecimalMax("9.688") + @Override + public BigDecimal getValue() { + return value; + } + + @Override + public void setValue(BigDecimal intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Decimal, from 2.5 to 9.688"; + } + + @Override + public String getLabel() { + return "decimalMinMax"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/DigitsBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/DigitsBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/DigitsBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,62 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.math.BigDecimal; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Digits; + +/** + * Helper bean for testing JSR-303. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean +public class DigitsBean extends Validable { + + public DigitsBean() { + value =3D new BigDecimal("2.567"); + } + + @Digits(integer =3D 3, fraction =3D 4) + @Override + public BigDecimal getValue() { + return value; + } + + @Override + public void setValue(BigDecimal intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Decimal, 3 digits integer and 4 fraction"; + } + + @Override + public String getLabel() { + return "digits"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/FutureBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/FutureBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/FutureBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,62 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.util.Date; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Future; + +/** + * Helper bean for testing JSR-303. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean +public class FutureBean extends Validable { + + public FutureBean() { + value =3D new Date(System.currentTimeMillis() + 4 * 24 * 3600 * 10= 00); + } + + @Future + @Override + public Date getValue() { + return value; + } + + @Override + public void setValue(Date intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Date, future"; + } + + @Override + public String getLabel() { + return "future"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/MaxBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MaxBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MaxBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Max; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class MaxBean extends Validable { + + public MaxBean() { + value =3D 9; + } + + @Max(10) + @Override + public Integer getValue() { + return value; + } + + @Override + public void setValue(Integer intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Integer, max 10"; + } + + @Override + public String getLabel() { + return "max"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/MinBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MinBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MinBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Min; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class MinBean extends Validable { + + public MinBean() { + value =3D 4; + } + + @Min(2) + @Override + public Integer getValue() { + return value; + } + + @Override + public void setValue(Integer intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Integer, min 2"; + } + + @Override + public String getLabel() { + return "min"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/MinMaxBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MinMaxBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/MinMaxBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,62 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class MinMaxBean extends Validable { + + public MinMaxBean() { + value =3D 4; + } + + @Min(2) + @Max(10) + @Override + public Integer getValue() { + return value; + } + + @Override + public void setValue(Integer intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Integer, from 2 to 10"; + } + + @Override + public String getLabel() { + return "minMax"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/NotEmptyBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/NotEmptyBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/NotEmptyBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import org.hibernate.validator.constraints.NotEmpty; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class NotEmptyBean extends Validable { + + public NotEmptyBean() { + value =3D "RichFaces 4"; + } + + @NotEmpty + @Override + public String getValue() { + return value; + } + + @Override + public void setValue(String text) { + this.value =3D text; + } + + @Override + public String getDescription() { + return "Text, not empty"; + } + + @Override + public String getLabel() { + return "notEmpty"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/NotNullBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/NotNullBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/NotNullBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.NotNull; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class NotNullBean extends Validable { + + public NotNullBean() { + value =3D "RichFaces 4"; + } + + @NotNull + @Override + public String getValue() { + return value; + } + + @Override + public void setValue(String text) { + this.value =3D text; + } + + @Override + public String getDescription() { + return "Text value, not null"; + } + + @Override + public String getLabel() { + return "notNull"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/PastBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/PastBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/PastBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,62 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.util.Date; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Past; + +/** + * Helper bean for testing JSR-303. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean +public class PastBean extends Validable { + + public PastBean() { + value =3D new Date(System.currentTimeMillis() - 4 * 24 * 3600 * 10= 00); + } + + @Past + @Override + public Date getValue() { + return value; + } + + @Override + public void setValue(Date intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Date, past"; + } + + @Override + public String getLabel() { + return "past"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/PatternBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/PatternBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/PatternBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,60 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Pattern; + +/** + * Helper bean for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +(a)ManagedBean +public class PatternBean extends Validable { + + public PatternBean() { + value =3D "richFaces 4"; + } + + @Pattern(regexp =3D "[a-z].*") + @Override + public String getValue() { + return value; + } + + @Override + public void setValue(String text) { + this.value =3D text; + } + + @Override + public String getDescription() { + return "Text, pattern '[a-z].*'"; + } + + @Override + public String getLabel() { + return "pattern"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/SizeBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/SizeBean.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/SizeBean.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,64 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.util.ArrayList; +import java.util.List; +import javax.faces.bean.ManagedBean; +import javax.validation.constraints.Size; + +/** + * Helper bean for testing JSR-303. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)ManagedBean +public class SizeBean extends Validable> { + + public SizeBean() { + value =3D new ArrayList(); + value.add("A"); + value.add("B"); + } + + @Size(min =3D 2, max =3D 4) + @Override + public List getValue() { + return value; + } + + @Override + public void setValue(List intValue) { + this.value =3D intValue; + } + + @Override + public String getDescription() { + return "Selection size, from 2 to 4"; + } + + @Override + public String getLabel() { + return "size"; + } +} Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validation/Validable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/Validable.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validation/Validable.java 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,55 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validation; + +import java.lang.reflect.ParameterizedType; + +import javax.faces.context.FacesContext; +import javax.faces.convert.Converter; + +/** + * Helper abstract class for testing JSR-303. + * + * @author asmirnov, Pavol Pitona= k + * @version $Revision$ + */ +public abstract class Validable { + + T value; + + public T getValue() { + return value; + } + + public void setValue(T value) { + this.value =3D value; + } + + public Converter getConverter() { + Class parameterType =3D (Class) ((ParameterizedType) getClas= s().getGenericSuperclass()).getActualTypeArguments()[0]; + return FacesContext.getCurrentInstance().getApplication().createCo= nverter(parameterType); + } + + public abstract String getDescription(); + + public abstract String getLabel(); +} Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichValidator/csv.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ + + + + +
+ \ No newline at end of file Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichValidator/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ +
+ + + + +
+ \ No newline at end of file Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichValidator/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/list.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/list.xhtml 2011-03-09 10:15:02 UTC (rev 22094) @@ -0,0 +1,46 @@ + + + + + + + + + Rich Validator + + + + + Simple page that contains rich:validator testing th= e support for JSR-303 and input boxes for all validator's attributes. + + + + Page containing input with various JSR-303 validators. + + + + + + + --===============5130392510021773758==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 05:34:14 2011 Content-Type: multipart/mixed; boundary="===============4221919951019819686==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22095 - modules/tests/metamer/trunk/application. Date: Wed, 09 Mar 2011 05:34:14 -0500 Message-ID: <201103091034.p29AYEmB019676@svn01.web.mwc.hst.phx2.redhat.com> --===============4221919951019819686== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 05:34:14 -0500 (Wed, 09 Mar 2011) New Revision: 22095 Modified: modules/tests/metamer/trunk/application/pom.xml Log: added mojarra_2_1-development profile Modified: modules/tests/metamer/trunk/application/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/pom.xml 2011-03-09 10:15:02 UTC= (rev 22094) +++ modules/tests/metamer/trunk/application/pom.xml 2011-03-09 10:34:14 UTC= (rev 22095) @@ -537,6 +537,21 @@ + mojarra_2_1-development + + + com.sun.faces + jsf-api + 2.1.0-b11 + + + com.sun.faces + jsf-impl + 2.1.0-b11 + + + + jee-development --===============4221919951019819686==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 05:34:44 2011 Content-Type: multipart/mixed; boundary="===============4221814270700944839==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22096 - modules/tests/metamer/trunk/application/src/main/webapp/templates. Date: Wed, 09 Mar 2011 05:34:43 -0500 Message-ID: <201103091034.p29AYhFR019687@svn01.web.mwc.hst.phx2.redhat.com> --===============4221814270700944839== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 05:34:43 -0500 (Wed, 09 Mar 2011) New Revision: 22096 Modified: modules/tests/metamer/trunk/application/src/main/webapp/templates/header= .xhtml Log: moved commented code because it is considered as component in grid Modified: modules/tests/metamer/trunk/application/src/main/webapp/templates= /header.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/templates/heade= r.xhtml 2011-03-09 10:34:14 UTC (rev 22095) +++ modules/tests/metamer/trunk/application/src/main/webapp/templates/heade= r.xhtml 2011-03-09 10:34:43 UTC (rev 22096) @@ -65,12 +65,6 @@ = - = - = @@ -96,6 +90,9 @@ = --===============4221814270700944839==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 05:35:12 2011 Content-Type: multipart/mixed; boundary="===============0606431249507749985==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22097 - modules/tests/metamer/trunk/application/src/main/webapp/components/richHashParam. Date: Wed, 09 Mar 2011 05:35:12 -0500 Message-ID: <201103091035.p29AZCPo020047@svn01.web.mwc.hst.phx2.redhat.com> --===============0606431249507749985== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 05:35:12 -0500 (Wed, 09 Mar 2011) New Revision: 22097 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richH= ashParam/simple.xhtml Log: hashParameter - popup panel sample - added fix for shadow (RFPL-1243) Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richHashParam/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= HashParam/simple.xhtml 2011-03-09 10:34:43 UTC (rev 22096) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= HashParam/simple.xhtml 2011-03-09 10:35:12 UTC (rev 22097) @@ -72,10 +72,10 @@ - - - - + + + + --===============0606431249507749985==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 07:03:28 2011 Content-Type: multipart/mixed; boundary="===============1159025643798198676==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22098 - in branches/4.0.X/core: api/src/main/java/org/ajax4jsf/model and 15 other directories. Date: Wed, 09 Mar 2011 07:03:28 -0500 Message-ID: <201103091203.p29C3SAm008285@svn01.web.mwc.hst.phx2.redhat.com> --===============1159025643798198676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-09 07:03:27 -0500 (Wed, 09 Mar 2011) New Revision: 22098 Removed: branches/4.0.X/core/impl/src/test/java/org/richfaces/skin/SkinThreadsTes= tCase.java Modified: branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSObject.j= ava branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSReferenc= e.java branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/PropertyUt= ils.java branches/4.0.X/core/api/src/main/java/org/ajax4jsf/model/SequenceDataMod= el.java branches/4.0.X/core/api/src/main/java/org/richfaces/cache/CacheFactory.j= ava branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/AjaxConsta= nts.java branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/util/CoreA= jaxRendererUtils.java branches/4.0.X/core/api/src/main/java/org/richfaces/resource/ImageType.j= ava branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinFactory.java branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinNotFoundExc= eption.java branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/im= pl/AtmospherePushHandler.java branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCac= he.java branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCac= heFactory.java branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/OSCacheCacheF= actory.java branches/4.0.X/core/impl/src/main/java/org/richfaces/context/RenderCompo= nentCallback.java branches/4.0.X/core/impl/src/main/java/org/richfaces/renderkit/util/Core= RendererUtils.java branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/AbstractBa= seResource.java branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ExternalSt= aticResource.java branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ResourceFa= ctoryImpl.java branches/4.0.X/core/impl/src/main/java/org/richfaces/skin/SkinBean.java branches/4.0.X/core/impl/src/main/java/org/richfaces/util/Util.java branches/4.0.X/core/impl/src/test/java/org/richfaces/cache/BaseCacheTest= .java branches/4.0.X/core/impl/src/test/java/org/richfaces/context/AjaxTableCo= mponentImpl.java Log: TODOs and small refactorings Modified: branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSO= bject.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSObject.= java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSObject.= java 2011-03-09 12:03:27 UTC (rev 22098) @@ -38,8 +38,6 @@ */ public JSObject(String name, Object... parameters) { super(name, parameters); - - // TODO Auto-generated constructor stub } = public void appendScript(Appendable target) throws IOException { Modified: branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSR= eference.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSReferen= ce.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/JSReferen= ce.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -54,8 +54,6 @@ * @param index */ public JSReference(String name, Object index) { - - // TODO Auto-generated constructor stub this.name =3D name; this.index =3D index; } Modified: branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/Pro= pertyUtils.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/PropertyU= tils.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/ajax4jsf/javascript/PropertyU= tils.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -56,8 +56,6 @@ PropertyDescriptor[] descriptors =3D null; = try { - - // TODO - cache introspection info? BeanInfo beanInfo =3D Introspector.getBeanInfo(bean.getClass()= ); = descriptors =3D beanInfo.getPropertyDescriptors(); Modified: branches/4.0.X/core/api/src/main/java/org/ajax4jsf/model/Sequence= DataModel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/ajax4jsf/model/SequenceDataMo= del.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/ajax4jsf/model/SequenceDataMo= del.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -42,46 +42,6 @@ this.wrappedModel =3D wrapped; } = - /* - * (non-Javadoc) - * @see org.ajax4jsf.ajax.repeat.ExtendedDataModel#dataIterator(org.aj= ax4jsf.ajax.repeat.Range) - */ - -/* public Iterator dataIterator(Range range) { - final SequenceRange seqRange =3D (SequenceRange) range; - int rows =3D seqRange.getRows(); - int rowCount =3D wrapped.getRowCount(); - final int firstRow =3D seqRange.getFirstRow(); - if(rows > 0){ - rows +=3D firstRow; - if(rowCount >=3D0){ - rows =3D Math.min(rows, rowCount); - } - } else if(rowCount >=3D0 ){ - rows =3D rowCount; - } - final int maxRow =3D rows; - return new Iterator(){ - - int rowIndex =3D firstRow; - - public boolean hasNext() { - // TODO Auto-generated method stub - return maxRow < 0 || rowIndex < maxRow; - } - - public Object next() { - // TODO Auto-generated method stub - return new Integer(rowIndex++); - } - - public void remove() { - throw new IllegalStateException(); - } - - }; - } -*/ public void walk(FacesContext context, DataVisitor visitor, Range rang= e, Object argument) { final SequenceRange seqRange =3D (SequenceRange) range; int rows =3D seqRange.getRows(); @@ -152,8 +112,6 @@ * @see javax.faces.model.DataModel#getRowCount() */ public int getRowCount() { - - // TODO Auto-generated method stub return wrappedModel.getRowCount(); } = @@ -162,8 +120,6 @@ * @see javax.faces.model.DataModel#getRowData() */ public E getRowData() { - - // TODO Auto-generated method stub return wrappedModel.getRowData(); } = @@ -172,8 +128,6 @@ * @see javax.faces.model.DataModel#getRowIndex() */ public int getRowIndex() { - - // TODO Auto-generated method stub return wrappedModel.getRowIndex(); } = @@ -182,8 +136,6 @@ * @see javax.faces.model.DataModel#getWrappedData() */ public Object getWrappedData() { - - // TODO Auto-generated method stub return wrappedModel.getWrappedData(); } = @@ -192,8 +144,6 @@ * @see javax.faces.model.DataModel#isRowAvailable() */ public boolean isRowAvailable() { - - // TODO Auto-generated method stub return wrappedModel.isRowAvailable(); } = Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/cache/CacheFa= ctory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/cache/CacheFactory.= java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/cache/CacheFactory.= java 2011-03-09 12:03:27 UTC (rev 22098) @@ -35,13 +35,11 @@ public interface CacheFactory { = /** - * creates a new implementation specific Cache object using the env pa= rameters. - * @param env implementation specific environment parameters passed to= the - * CacheFactory. - * @param cacheLoader implementation of the {@link CacheLoader} to use - * @param cacheConfigurationloader TODO + * Creates a new implementation specific Cache object using the env pa= rameters. + * @param facesContext + * @param cacheName + * @param env * @return an implementation specific Cache object. - * @throws CacheException if any error occurs. */ public Cache createCache(FacesContext facesContext, String cacheName, = Map env); = Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/Aja= xConstants.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/AjaxConst= ants.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/AjaxConst= ants.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -35,7 +35,6 @@ = public static final String BEHAVIOR_EVENT_PARAMETER =3D "javax.faces.b= ehavior.event"; = - //TODO - review public static final String AJAX_COMPONENT_ID_PARAMETER =3D "org.richfa= ces.ajax.component"; = } Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/uti= l/CoreAjaxRendererUtils.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/util/Core= AjaxRendererUtils.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/renderkit/util/Core= AjaxRendererUtils.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -50,25 +50,6 @@ public final class CoreAjaxRendererUtils { = /** - * Attribute for keep JavaScript function name for call before updating - * DOM tree. - */ - public static final String ONBEFOREDOMUPDATE_ATTR_NAME =3D "onbeforedo= mupdate"; - - /** - * Attribute for keep JavaScript function name for call after complete - * request. - */ - public static final String ONCOMPLETE_ATTR_NAME =3D "oncomplete"; - - public static final String DATA_ATTR_NAME =3D "data"; - - /** - * Attribute to keep - */ - public static final String LIMITRENDER_ATTR_NAME =3D "limitRender"; - - /** * @since 3.3.0 */ public static final String AJAX_PROCESS_ATTRIBUTE =3D "process"; @@ -238,57 +219,4 @@ return null; } = - - /** - * Calculate, must be component render only given areas, or all sended= from - * server. - * - * @param component - * @return true if client must render ONLY given areas. - */ - public static boolean isAjaxLimitRender(UIComponent component) { - boolean result =3D false; - - Object limitRenderObject =3D component.getAttributes().get(LIMITRE= NDER_ATTR_NAME); - if (limitRenderObject instanceof Boolean) { - result =3D ((Boolean) limitRenderObject).booleanValue(); - } else { - result =3D Boolean.valueOf(String.valueOf(limitRenderObject)); - } - - return result; - } - - - /** - * Get function name for call on completed ajax request. - * - * @param component for wich calculate function name - * @return name of JavaScript function or null - */ - //TODO nick - refactor - remove this method? - public static String getAjaxOncomplete(UIComponent component) { - return (String) component.getAttributes().get(ONCOMPLETE_ATTR_NAME= ); - } - - /** - * Get function name for call before update DOM. - * - * @param component for wich calculate function name - * @return name of JavaScript function or null - */ - //TODO nick - refactor - remove this method? - public static String getAjaxOnBeforeDomUpdate(UIComponent component) { - return (String) component.getAttributes().get(ONBEFOREDOMUPDATE_AT= TR_NAME); - } - - /** - * @param component - * @return - * @since 4.0 - */ - public static Object getAjaxData(UIComponent component) { - return component.getAttributes().get(DATA_ATTR_NAME); - } - } Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/resource/Imag= eType.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/resource/ImageType.= java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/resource/ImageType.= java 2011-03-09 12:03:27 UTC (rev 22098) @@ -50,8 +50,6 @@ return new BufferedImage(width, height, BufferedImage.TYPE_BYT= E_INDEXED, SAFE_WEB_COLORS_MODEL); } }, - - // TODO - add common png8 JPEG("jpeg") { @Override public BufferedImage createImage(int width, int height) { Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinFact= ory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinFactory.ja= va 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinFactory.ja= va 2011-03-09 12:03:27 UTC (rev 22098) @@ -28,22 +28,13 @@ /** * Base factory class ( implement Singleton design pattern ). Produce self * instance to build current skin configuration. At present, realised as l= azy - * creation factory. TODO - select point to initialize. + * creation factory. * * @author asmirnov(a)exadel.com (latest modification by $Author: alexsmir= nov $) * @version $Revision: 1.1.2.1 $ $Date: 2007/01/09 18:59:43 $ */ public abstract class SkinFactory { = - /** - * Initialize skin factory. TODO - make call from init() method of any - * servlet or custom faces element method ??? If exist resource - * META-INF/services/org.richfaces.skin.SkinFactory , create - * instance of class by name from first line of this file. If such cla= ss - * have constructor with {@link SkinFactory} parameter, instantiate it= with - * instance of default factory ( as usual in JSF ). If any error occur= s in - * instantiate custom factory, return default. - */ @Deprecated public static final SkinFactory getInstance() { return getInstance(FacesContext.getCurrentInstance()); Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinNotF= oundException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinNotFoundEx= ception.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/skin/SkinNotFoundEx= ception.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -34,25 +34,17 @@ = public SkinNotFoundException() { super(); - - // TODO Auto-generated constructor stub } = public SkinNotFoundException(String arg0) { super(arg0); - - // TODO Auto-generated constructor stub } = public SkinNotFoundException(Throwable arg0) { super(arg0); - - // TODO Auto-generated constructor stub } = public SkinNotFoundException(String arg0, Throwable arg1) { super(arg0, arg1); - - // TODO Auto-generated constructor stub } } Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/application/= push/impl/AtmospherePushHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/i= mpl/AtmospherePushHandler.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/i= mpl/AtmospherePushHandler.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -22,6 +22,7 @@ package org.richfaces.application.push.impl; = import java.io.IOException; +import java.text.MessageFormat; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; @@ -73,8 +74,6 @@ } = public void onRequest(AtmosphereResource resource) throws IOException { - // TODO Auto-generated method stub - HttpServletRequest req =3D resource.getRequest(); HttpServletResponse resp =3D resource.getResponse(); = @@ -87,7 +86,9 @@ } = if (session =3D=3D null) { - //TODO - debug log + if (LOGGER.isDebugEnabled()) { + LOGGER.debug(MessageFormat.format("Session {0} was not fou= nd", pushSessionId)); + } resp.sendError(HttpServletResponse.SC_BAD_REQUEST); return; } @@ -98,8 +99,7 @@ Request request =3D createRequest(resource, session); request.suspend(); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } } = Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossC= acheCache.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCa= che.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCa= che.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -17,12 +17,17 @@ import org.jboss.cache.Cache; import org.jboss.cache.Fqn; import org.jboss.cache.eviction.ExpirationAlgorithmConfig; +import org.richfaces.log.Logger; +import org.richfaces.log.RichfacesLogger; = /** * @author Nick Belaevski * @since 4.0 */ public class JBossCacheCache implements org.richfaces.cache.Cache { + = + private static final Logger LOGGER =3D RichfacesLogger.CACHE.getLogger= (); + = private static final String RESOURCE =3D "resource"; private Cache cache; = @@ -59,29 +64,17 @@ transaction.commit(); } } catch (SystemException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } catch (SecurityException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } catch (IllegalStateException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } catch (RollbackException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } catch (HeuristicMixedException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } catch (HeuristicRollbackException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } } = Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossC= acheCacheFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCa= cheFactory.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/JBossCacheCa= cheFactory.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -82,9 +82,7 @@ try { stream.close(); } catch (IOException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOG.debug(e.getMessage(), e); } } } Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/OSCach= eCacheFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/OSCacheCache= Factory.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/cache/OSCacheCache= Factory.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -32,6 +32,7 @@ import java.util.Map; import java.util.Properties; = +import javax.faces.FacesException; import javax.faces.context.FacesContext; = import org.ajax4jsf.resource.util.URLToStreamHelper; @@ -75,8 +76,7 @@ try { stream.close(); } catch (IOException e) { - - // TODO: handle exception + LOG.debug(e.getMessage(), e); } } } @@ -91,17 +91,13 @@ try { cacheProperties.putAll(loadProperties()); } catch (IOException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + throw new FacesException(e.getMessage(), e); } = try { cacheProperties.putAll(loadProperties()); } catch (IOException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + throw new FacesException(e.getMessage(), e); } = cacheProperties.putAll(env); Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/context/Rend= erComponentCallback.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/context/RenderComp= onentCallback.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/context/RenderComp= onentCallback.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -28,7 +28,6 @@ import javax.faces.context.FacesContext; = import org.ajax4jsf.component.AjaxClientBehavior; -import org.richfaces.renderkit.util.CoreAjaxRendererUtils; import org.richfaces.renderkit.util.CoreRendererUtils; = /** @@ -82,10 +81,10 @@ data =3D behavior.getData(); } else { renderValue =3D target.getAttributes().get("render"); - limitRender =3D CoreAjaxRendererUtils.isAjaxLimitRender(target= ); - onbeforedomupdate =3D CoreAjaxRendererUtils.getAjaxOnBeforeDom= Update(target); - oncomplete =3D CoreAjaxRendererUtils.getAjaxOncomplete(target); - data =3D CoreAjaxRendererUtils.getAjaxData(target); + limitRender =3D isTrue(target.getAttributes().get("limitRender= ")); + onbeforedomupdate =3D (String) target.getAttributes().get("onb= eforedomupdate"); + oncomplete =3D (String) target.getAttributes().get("oncomplete= "); + data =3D target.getAttributes().get("data"); } = Collection unresolvedRenderIds =3D toCollection(renderValu= e); @@ -93,4 +92,16 @@ renderIds =3D CoreRendererUtils.INSTANCE.findComponentsFor(facesCo= ntext, target, unresolvedRenderIds); } = + private boolean isTrue(Object value) { + boolean result =3D false; + + if (value instanceof Boolean) { + result =3D ((Boolean) value).booleanValue(); + } else { + result =3D Boolean.valueOf(String.valueOf(value)); + } + + return result; + } + } Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/renderkit/ut= il/CoreRendererUtils.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/renderkit/util/Cor= eRendererUtils.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/renderkit/util/Cor= eRendererUtils.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -118,9 +118,6 @@ */ public Collection findComponentsFor(FacesContext context, UICo= mponent component, Collection shortIds) { - - // TODO - implement - // TODO add support for @* Set result =3D new LinkedHashSet(shortIds.size()); = if (checkKeyword(shortIds, ALL)) { Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/Abs= tractBaseResource.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/AbstractB= aseResource.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/AbstractB= aseResource.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -56,7 +56,6 @@ super(); } = - // TODO remove FacesContext argument? protected int getContentLength(FacesContext context) { return -1; } @@ -116,9 +115,7 @@ } } } catch (IOException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error(e.getMessage(), e); } } else { if (LOGGER.isDebugEnabled()) { @@ -140,7 +137,6 @@ return classLoader; } = - //TODO nick - review private String getResourceVersion() { if (this instanceof VersionedResource) { return ((VersionedResource) this).getVersion(); @@ -151,8 +147,6 @@ = @Override public String getRequestPath() { - - // TODO - cache resource request path in request scope FacesContext context =3D FacesContext.getCurrentInstance(); ResourceCodec resourceCodec =3D ServiceTracker.getService(context,= ResourceCodec.class); String libraryName =3D getLibraryName(); @@ -207,8 +201,6 @@ String contentType =3D getContentType(); = if (contentType !=3D null) { - - // TODO add content-encoding? headers.put("Content-Type", contentType); } = Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/Ext= ernalStaticResource.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ExternalS= taticResource.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ExternalS= taticResource.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -98,7 +98,6 @@ = @Override public URL getURL() { - //TODO - review throw new UnsupportedOperationException(); } = Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/Res= ourceFactoryImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ResourceF= actoryImpl.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/resource/ResourceF= actoryImpl.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -303,7 +303,6 @@ * @return */ protected Resource createHandlerDependentResource(ResourceKey resource= Key, Map parameters) { - // TODO nick - libraryName as package name? if (!Strings.isNullOrEmpty(resourceKey.getLibraryName())) { return null; } @@ -357,7 +356,6 @@ private boolean checkResourceMarker(String resourceName) { ClassLoader contextClassLoader =3D Thread.currentThread().getConte= xtClassLoader(); = - // TODO resource marker extension name? URL resourceMarkerUrl =3D contextClassLoader.getResource("META-INF= /" + resourceName + ".resource.properties"); = Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/skin/SkinBea= n.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/skin/SkinBean.java= 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/skin/SkinBean.java= 2011-03-09 12:03:27 UTC (rev 22098) @@ -39,8 +39,6 @@ * @see org.richfaces.skin.Skin#hashCode(javax.faces.context.FacesCont= ext) */ public int hashCode(FacesContext context) { - - // TODO Auto-generated method stub return getSkin().hashCode(context); } = @@ -50,8 +48,6 @@ */ @Override public Set entrySet() { - - // TODO Auto-generated method stub return Collections.EMPTY_SET; } = @@ -84,7 +80,7 @@ private Skin getSkin() { FacesContext context =3D FacesContext.getCurrentInstance(); = - return SkinFactory.getInstance().getSkin(context); + return SkinFactory.getInstance(context).getSkin(context); } = /* @@ -102,8 +98,6 @@ */ @Override public boolean isEmpty() { - - // TODO Auto-generated method stub return false; } = @@ -130,7 +124,7 @@ /* Static methods for manipulate skins */ public static Object skinHashCode() { FacesContext context =3D FacesContext.getCurrentInstance(); - int hashCode =3D SkinFactory.getInstance().getSkin(context).hashCo= de(context); + int hashCode =3D SkinFactory.getInstance(context).getSkin(context)= .hashCode(context); byte[] bs =3D ByteBuffer.allocate(4).putInt(hashCode).array(); = return bs; Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/util/Util.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/util/Util.java 201= 1-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/util/Util.java 201= 1-03-09 12:03:27 UTC (rev 22098) @@ -167,9 +167,7 @@ try { result =3D (Date) ((Format) RFC1123_DATE_FORMATTER.clone()= ).parseObject(s); } catch (ParseException e) { - - // TODO Auto-generated catch block - e.printStackTrace(); + RESOURCE_LOGGER.error(e.getMessage(), e); } } = Modified: branches/4.0.X/core/impl/src/test/java/org/richfaces/cache/BaseCa= cheTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/test/java/org/richfaces/cache/BaseCacheTes= t.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/test/java/org/richfaces/cache/BaseCacheTes= t.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -203,8 +203,6 @@ try { thread.join(); } catch (InterruptedException e) { - - // TODO Auto-generated catch block failure.set(true); } } Modified: branches/4.0.X/core/impl/src/test/java/org/richfaces/context/Ajax= TableComponentImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/test/java/org/richfaces/context/AjaxTableC= omponentImpl.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/test/java/org/richfaces/context/AjaxTableC= omponentImpl.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -65,10 +65,6 @@ = assert idsToVisit !=3D null; = - if (idsToVisit =3D=3D VisitContext.ALL_IDS) { - // TODO - } - // All ids or non-empty collection means we need to visit our chil= dren. return !idsToVisit.isEmpty(); } @@ -124,8 +120,6 @@ try { setRowIndex(oldRowIndex); } catch (Exception e) { - - // TODO: handle exception LOG.error(e.getMessage(), e); } } Deleted: branches/4.0.X/core/impl/src/test/java/org/richfaces/skin/SkinThre= adsTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/test/java/org/richfaces/skin/SkinThreadsTe= stCase.java 2011-03-09 10:35:12 UTC (rev 22097) +++ branches/4.0.X/core/impl/src/test/java/org/richfaces/skin/SkinThreadsTe= stCase.java 2011-03-09 12:03:27 UTC (rev 22098) @@ -1,115 +0,0 @@ -///** -// * License Agreement. -// * -// * Rich Faces - Natural Ajax for Java Server Faces (JSF) -// * -// * Copyright (C) 2007 Exadel, Inc. -// * -// * This library is free software; you can redistribute it and/or -// * modify it under the terms of the GNU Lesser General Public -// * License version 2.1 as published by the Free Software Foundation. -// * -// * This library 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 library; if not, write to the Free Software -// * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1= 301 USA -// */ -// -//package org.richfaces.skin; -// -//import javax.faces.context.FacesContext; -// -//import org.ajax4jsf.tests.AbstractThreadedAjax4JsfTestCase; -//import org.richfaces.skin.Skin; -//import org.richfaces.skin.SkinFactory; -// -///** -// * @author asmirnov(a)exadel.com (latest modification by $Author: ishaba= lov $) -// * @version $Revision: 1.1.2.2 $ $Date: 2007/02/20 20:58:11 $ -// * = -// */ -//public class SkinThreadsTestCase extends AbstractThreadedAjax4JsfTestCas= e { -// -// /** -// * @param s -// */ -// public SkinThreadsTestCase(String s) { -// super(s); -// // TODO Auto-generated constructor stub -// } -// -// /* -// * (non-Javadoc) -// * = -// * @see com.exadel.vcp.tests.VcpJsfTestCase#setUp() -// */ -//public void setUp() throws Exception { -// // TODO Auto-generated method stub -// super.setUp(); -// servletContext.setAttribute("skin", new Bean()); -// } -// /* -// * (non-Javadoc) -// * = -// * @see com.exadel.vcp.tests.VcpJsfTestCase#tearDown() -// */ -// public void tearDown() throws Exception { -// // TODO Auto-generated method stub -// super.tearDown(); -// } -// -// = -// public class SkinTestRunnable extends TestCaseRunnable { -// -// = -// /** -// * = -// */ -// public SkinTestRunnable() { -// // TODO Auto-generated constructor stub -// } -// -// /* (non-Javadoc) -// * @see com.exadel.vcp.tests.ThreadedVcpJsfTestCase.TestCaseRunnab= le#runTestCase(javax.faces.context.FacesContext) -// */ -// public void runTestCase(FacesContext context) throws Throwable { -// context.getExternalContext().getRequestMap().put("test", new B= ean()); -// Skin skin =3D SkinFactory.getInstance().getSkin(context); -// assertNotNull(skin); -// assertEquals("TEST", skin.getRenderKitId(context)); -// assertEquals("binded.string", skin.getParameter(context, "bind= .property")); -// assertEquals("bindedstring", skin.getParameter(context, "strin= g.property")); -// assertEquals("10", skin.getParameter(context, "int.property")); -// assertNull(skin.getParameter(context, "notexist")); -// } -// = -// } -// = -// /** -// * Test skin factory for thread-safe. -// */ -// public void testThreadsafe() { -// TestCaseRunnable[] runnables =3D new TestCaseRunnable[20]; -// for (int i =3D 0; i < runnables.length; i++) { -// runnables[i] =3D new SkinTestRunnable(); -// = -// } -// this.runTestCaseRunnables(runnables); -// } -// /* -// * (non-Javadoc) -// * = -// * @see com.exadel.vcp.tests.VcpJsfTestCase#getSkinName() -// */ -// protected String getSkinName() { -// // TODO Auto-generated method stub -// return "#{skin.name}"; -// } -//} - - - --===============1159025643798198676==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 07:17:53 2011 Content-Type: multipart/mixed; boundary="===============8625369661706209706==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22099 - in branches/4.0.X/core: impl/src/main/java/org/richfaces/application/push/impl/jms and 1 other directory. Date: Wed, 09 Mar 2011 07:17:53 -0500 Message-ID: <201103091217.p29CHrbF009476@svn01.web.mwc.hst.phx2.redhat.com> --===============8625369661706209706== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-09 07:17:53 -0500 (Wed, 09 Mar 2011) New Revision: 22099 Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/Top= icsContext.java branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/im= pl/jms/SessionImpl.java Log: Small push refactorings Modified: branches/4.0.X/core/api/src/main/java/org/richfaces/application/p= ush/TopicsContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/To= picsContext.java 2011-03-09 12:03:27 UTC (rev 22098) +++ branches/4.0.X/core/api/src/main/java/org/richfaces/application/push/To= picsContext.java 2011-03-09 12:17:53 UTC (rev 22099) @@ -53,13 +53,7 @@ } = public Topic getTopic(TopicKey key) { - Topic topic =3D topics.get(key.getTopicName()); - = - if (topic =3D=3D null) { - //TODO - } - = - return topic; + return topics.get(key.getTopicName()); } = public void removeTopic(TopicKey key) { Modified: branches/4.0.X/core/impl/src/main/java/org/richfaces/application/= push/impl/jms/SessionImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/i= mpl/jms/SessionImpl.java 2011-03-09 12:03:27 UTC (rev 22098) +++ branches/4.0.X/core/impl/src/main/java/org/richfaces/application/push/i= mpl/jms/SessionImpl.java 2011-03-09 12:17:53 UTC (rev 22099) @@ -21,6 +21,7 @@ */ package org.richfaces.application.push.impl.jms; = +import java.text.MessageFormat; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; @@ -156,12 +157,26 @@ TopicKey rootTopicKey =3D topicKey.getRootTopicKey(); Topic pushTopic =3D topicsContext.getTopic(rootTopicKey); = - try { - //TODO - publish another events - pushTopic.publishEvent(new SessionPreSubscriptionEvent(pus= hTopic, topicKey, this)); - } catch (EventAbortedException e) { + String errorMessage =3D null; + = + if (pushTopic =3D=3D null) { + errorMessage =3D MessageFormat.format("Topic ''{0}'' is no= t configured", topicKey.getTopicAddress()); = + } else { + try { + //TODO - publish another events + pushTopic.publishEvent(new SessionPreSubscriptionEvent= (pushTopic, topicKey, this)); + } catch (EventAbortedException e) { + if (e.getMessage() !=3D null) { + errorMessage =3D e.getMessage(); + } else { + errorMessage =3D MessageFormat.format("Unknown err= or connecting to ''{0}'' topic", topicKey.getTopicAddress()); + } + } + } + + if (errorMessage !=3D null) { itr.remove(); - failedSubscriptions.put(topicKey, e.getMessage()); + failedSubscriptions.put(topicKey, errorMessage); } } } --===============8625369661706209706==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 07:37:28 2011 Content-Type: multipart/mixed; boundary="===============0395436164136917629==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22100 - branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html. Date: Wed, 09 Mar 2011 07:37:28 -0500 Message-ID: <201103091237.p29CbSCp011715@svn01.web.mwc.hst.phx2.redhat.com> --===============0395436164136917629== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-09 07:37:28 -0500 (Wed, 09 Mar 2011) New Revision: 22100 Modified: branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/M= enuItemRendererBase.java Log: https://issues.jboss.org/browse/RF-10695 Menu Item - click event processed = two times. Reviewed by Alex Kolonitsky. Modified: branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit= /html/MenuItemRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/= MenuItemRendererBase.java 2011-03-09 12:17:53 UTC (rev 22099) +++ branches/4.0.X/ui/output/ui/src/main/java/org/richfaces/renderkit/html/= MenuItemRendererBase.java 2011-03-09 12:37:28 UTC (rev 22100) @@ -9,6 +9,7 @@ import org.richfaces.component.AbstractMenuItem; import org.richfaces.component.Mode; import org.richfaces.renderkit.AjaxCommandRendererBase; +import org.richfaces.renderkit.util.HandlersChain; = public class MenuItemRendererBase extends AjaxCommandRendererBase { = @@ -82,7 +83,40 @@ return ""; } } - = + + /** overridden due to {@link https://issues.jboss.org/browse/RF-10695} + * + * @param context + * @param component + * @return + */ + + @Override + public String getOnClick(FacesContext context, UIComponent component) { + StringBuffer onClick =3D new StringBuffer(); + + if (!getUtils().isBooleanAttribute(component, "disabled")) { + HandlersChain handlersChain =3D new HandlersChain(context, com= ponent); + + handlersChain.addBehaviors("click", "action"); + handlersChain.addAjaxSubmitFunction(); + + String handlerScript =3D handlersChain.toScript(); + + if (handlerScript !=3D null) { + onClick.append(handlerScript); + } + + if (!"reset".equals(component.getAttributes().get("type"))) { + onClick.append(";return false;"); + } + } else { + onClick.append("return false;"); + } + + return onClick.toString(); + } + protected Mode resolveSubmitMode(AbstractMenuItem menuItem) { if (menuItem.getMode() !=3D null) { return menuItem.getMode(); @@ -92,7 +126,7 @@ return parent.getMode(); } return Mode.server; - } = + } = protected String getStyleClass(FacesContext facesContext, UIComponent = component, String ddMenuStyle, String menuGroupStyle, String menuItemStyle)= { UIComponent ddMenu =3D getDDMenu(component); --===============0395436164136917629==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 08:13:39 2011 Content-Type: multipart/mixed; boundary="===============5601617347510195715==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22101 - branches/4.0.X/ui/misc/ui/src/main/java/org/richfaces/component/behavior. Date: Wed, 09 Mar 2011 08:13:39 -0500 Message-ID: <201103091313.p29DDdsS021180@svn01.web.mwc.hst.phx2.redhat.com> --===============5601617347510195715== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: Alex.Kolonitsky Date: 2011-03-09 08:13:38 -0500 (Wed, 09 Mar 2011) New Revision: 22101 Modified: branches/4.0.X/ui/misc/ui/src/main/java/org/richfaces/component/behavior= /ComponentControlBehavior.java Log: RF-9938 Taglib: component control has no attributes - reviewed by Anton Belevich Modified: branches/4.0.X/ui/misc/ui/src/main/java/org/richfaces/component/b= ehavior/ComponentControlBehavior.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/misc/ui/src/main/java/org/richfaces/component/behavio= r/ComponentControlBehavior.java 2011-03-09 12:37:28 UTC (rev 22100) +++ branches/4.0.X/ui/misc/ui/src/main/java/org/richfaces/component/behavio= r/ComponentControlBehavior.java 2011-03-09 13:13:38 UTC (rev 22101) @@ -49,7 +49,7 @@ private List children; = enum PropertyKeys { - target, selector, operation, onbeforeoperation + target, selector, operation, onbeforeoperation, event } = public List getChildren() { @@ -60,6 +60,15 @@ } = @Attribute + public String getEvent() { + return (String) getStateHelper().eval(PropertyKeys.event); + } + + public void setEvent(String event) { + getStateHelper().put(PropertyKeys.event, event); + } + = + @Attribute public String getTarget() { return (String) getStateHelper().eval(PropertyKeys.target); } --===============5601617347510195715==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 08:24:26 2011 Content-Type: multipart/mixed; boundary="===============7292638975087903299==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22102 - in branches/4.0.X/ui/dnd/ui/src/main: resources/META-INF and 2 other directories. Date: Wed, 09 Mar 2011 08:24:26 -0500 Message-ID: <201103091324.p29DOQco022022@svn01.web.mwc.hst.phx2.redhat.com> --===============7292638975087903299== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-09 08:24:25 -0500 (Wed, 09 Mar 2011) New Revision: 22102 Added: branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/ branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/attributes/ branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/attributes/drop= Listener-props.xml Modified: branches/4.0.X/ui/dnd/ui/src/main/java/org/richfaces/component/AbstractD= ropTarget.java Log: https://issues.jboss.org/browse/RF-10660 Taglib: drop target missing attrib= utes. Reviewed by Alex Kolonitsky. Modified: branches/4.0.X/ui/dnd/ui/src/main/java/org/richfaces/component/Ab= stractDropTarget.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/dnd/ui/src/main/java/org/richfaces/component/Abstract= DropTarget.java 2011-03-09 13:13:38 UTC (rev 22101) +++ branches/4.0.X/ui/dnd/ui/src/main/java/org/richfaces/component/Abstract= DropTarget.java 2011-03-09 13:24:25 UTC (rev 22102) @@ -42,6 +42,7 @@ family =3D AbstractDropTarget.COMPONENT_FAMILY, = generate =3D "org.richfaces.component.UIDropTarget", renderer =3D @JsfRenderer(type =3D "org.richfaces.DropTargetRender= er"), + attributes =3D {"dropListener-props.xml"}, tag =3D @Tag(name=3D"dropTarget" ,handler=3D"org.richfaces.view.fa= celets.DropHandler", type =3D TagType.Facelets) ) public abstract class AbstractDropTarget extends UIComponentBase { @@ -64,6 +65,9 @@ public abstract Object getExecute(); = @Attribute + public abstract Object getRender(); + + @Attribute public abstract Object getAcceptedTypes(); = @Attribute Copied: branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/attributes= /dropListener-props.xml (from rev 22088, branches/4.0.X/ui/input/ui/src/mai= n/resources/META-INF/cdk/attributes/fileUploadListener-props.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/attributes/dro= pListener-props.xml (rev 0) +++ branches/4.0.X/ui/dnd/ui/src/main/resources/META-INF/cdk/attributes/dro= pListener-props.xml 2011-03-09 13:24:25 UTC (rev 22102) @@ -0,0 +1,20 @@ + + + + + dropListener + javax.el.MethodExpression + + --===============7292638975087903299==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 08:51:52 2011 Content-Type: multipart/mixed; boundary="===============7338058114000339269==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22103 - branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component. Date: Wed, 09 Mar 2011 08:51:52 -0500 Message-ID: <201103091351.p29Dpq9J025070@svn01.web.mwc.hst.phx2.redhat.com> --===============7338058114000339269== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-09 08:51:52 -0500 (Wed, 09 Mar 2011) New Revision: 22103 Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/Abs= tractDataScroller.java Log: https://issues.jboss.org/browse/RF-10662 Taglib: data scroller missing attr= ibute render. Reviewed by Alex Kolonitsky. Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/compon= ent/AbstractDataScroller.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/Ab= stractDataScroller.java 2011-03-09 13:24:25 UTC (rev 22102) +++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/component/Ab= stractDataScroller.java 2011-03-09 13:51:52 UTC (rev 22103) @@ -96,6 +96,9 @@ public abstract String getLastPageMode(); = @Attribute + public abstract Object getRender(); + + @Attribute public abstract int getMaxPages(); = public int getMaxPagesOrDefault() { --===============7338058114000339269==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 08:56:44 2011 Content-Type: multipart/mixed; boundary="===============2348494678672129827==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22104 - in trunk: archetypes/richfaces-archetype-simpleapp/src/main/resources/archetype-resources and 1 other directories. Date: Wed, 09 Mar 2011 08:56:43 -0500 Message-ID: <201103091356.p29DuhCB025998@svn01.web.mwc.hst.phx2.redhat.com> --===============2348494678672129827== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: juankprada Date: 2011-03-09 08:56:43 -0500 (Wed, 09 Mar 2011) New Revision: 22104 Modified: trunk/archetypes/richfaces-archetype-simpleapp/readme.txt trunk/archetypes/richfaces-archetype-simpleapp/src/main/resources/archet= ype-resources/readme.txt trunk/dist/readme-examples.txt trunk/dist/readme-ui.txt Log: RF-10583 Updates readme files for distribution package as well as readme files used = in the archetype description and in a maven generated project. Modified: trunk/archetypes/richfaces-archetype-simpleapp/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/archetypes/richfaces-archetype-simpleapp/readme.txt 2011-03-09 13= :51:52 UTC (rev 22103) +++ trunk/archetypes/richfaces-archetype-simpleapp/readme.txt 2011-03-09 13= :56:43 UTC (rev 22104) @@ -1,9 +1,69 @@ -RichFaces 4 Archetype +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = + RichFaces - Ajax enabled JSF 2.0 component library = -This archetype creates a simple RichFaces 4 application. To generate a pro= ject from the archetype, run + RichFaces 4.0.CR1 EXAMPLES + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) = - mvn archetype:generate -DarchetypeGroupId=3Dorg.richfaces.archetypes -= DarchetypeArtifactId=3Drichfaces-archetype-simpleapp = - -DarchetypeVersion=3D -DgroupId=3D -DartifactId= =3D -Dversion=3D1.0-SNAPSHOT +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = +RichFaces 4 is a component library for JSF2 and an advanced framework for +easily integrating AJAX capabilities into business applications. = +This file explains how to generate a RichFaces application as a Maven 2 +project. If you find any issue with the project, please report = +the issue on the RichFaces user forum (http://community.jboss.org/en/richf= aces) = +or jira (https://issues.jboss.org/browse/RF). + + +USING THE ARCHETYPE: +-------------------- + + +1. Install Maven 2 (see http://maven.apache.org for details) + = +2. Generate the project from the archetype = + = +After installing Maven 2, open a terminal inside the directory you +want your project to be created and execute the command below: + = + mvn archetype:generate -DarchetypeGroupId=3Dorg.richfaces.archetype= s = + -DarchetypeArtifactId=3Drichfaces-archetype-simpleap= p = + -DarchetypeVersion=3D = + -DgroupId=3D = + -DartifactId=3D = + -Dversion=3D1.0-SNAPSHOT + +After executing the command, Maven will generate your project structure. +Make sure you replace the parameters values enclosed by < > according = +to your needs. = + = + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on RichFaces 4 features, how to migrate from +previous versions, and answers to the most frequently asked questions (FAQ= ), +please visit RichFaces website at: + +http://www.jboss.org/richfaces. + +Or the Wiki at: + + - http://community.jboss.org/wiki/richfaceswikihomepage + +To report or check the status of issues related to RichFaces use the = +project's Jira at: + + - https://issues.jboss.org/browse/RF + +Community support and help can be obtained from the RichFaces forums at: + + - http://community.jboss.org/en/richfaces?view=3Ddiscussions + + +### Modified: trunk/archetypes/richfaces-archetype-simpleapp/src/main/resources= /archetype-resources/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/archetypes/richfaces-archetype-simpleapp/src/main/resources/arche= type-resources/readme.txt 2011-03-09 13:51:52 UTC (rev 22103) +++ trunk/archetypes/richfaces-archetype-simpleapp/src/main/resources/arche= type-resources/readme.txt 2011-03-09 13:56:43 UTC (rev 22104) @@ -1,9 +1,85 @@ -Project generated with richfaces-archetype-simpleapp +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -To build this project for Tomcat 6 run + RichFaces - Ajax enabled JSF 2.0 component library = - mvn clean package + RichFaces 4.0.CR1 + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) = -If you wan to create a binaries for both Tomcat 6 and JBoss 6 run +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = - mvn clean package -P release \ No newline at end of file +This project is an application generated with richfaces-achttype-simpleapp= . = +This file explains how to build and set up the project using Maven. If you +find any issue related to RichFaces framework, please report the issue on +the RichFaces user forum (http://community.jboss.org/en/richfaces) or +jira (https://issues.jboss.org/browse/RF). + + +SETTING UP THE APPLICATION +-------------------------- + +1. Requirements + +In order to build the Examples applications you will need: + - Maven 2.1.0 or later + - Servers: Apache Tomcat 6.0 or any JEE6 application server = + (e.g. Jboss AS 6) + - JDK 1.6 + +Also optional Additional Software would make it easy for you to work = +with the sources of the application: + + - Eclipse IDE + JBoss Tools (to explore and run the application = + in IDE). You're obviously free to use any other IDE you wish, but + JBoss Tools is recommended. = + +2. Build/Deploy + + - Deploying on Tomcat + + To build the project for Tomcat you need to navigate to the = + /examples/richfaces-showcase and run: + = + mvn clean package + = + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on Tomcat, copy the .war = + file from 'target' folder to TOMCAT_HOME/webapps folder. Then, = + launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ = + directory to start the server. + + - Deploying on JEE6 server (JBoss AS 6) + = + To build the project for a JEE6 server you need to navigate to the = + /examples/richfaces-showcase and run + + mvn clean package -Pjee6 + + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on the application server = + copy the .war file from 'target' folder to the JBOSS_HOME/server/def= ault/deploy = + folder (or change "default/" to used profile folder). Then, launch = + the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start = + the server. + + + - If you wan to create a binaries for both Tomcat 6 and JBoss 6 run + + mvn clean package -P release + + +After deploying the examples to your server open a browser and type = +http://localhost:8080/projectName to execute the application. + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on this project please contact the developer. + +For more information on RichFaces 4, please visit RichFaces = +website at: + + - http://www.jboss.org/richfaces. Modified: trunk/dist/readme-examples.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/dist/readme-examples.txt 2011-03-09 13:51:52 UTC (rev 22103) +++ trunk/dist/readme-examples.txt 2011-03-09 13:56:43 UTC (rev 22104) @@ -1,39 +1,134 @@ -RichFaces 4.0 Examples -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D -Version 4.0.0.M3 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -This software is distributed under the terms of the FSF Lesser Gnu Public = License (see lgpl.txt). = + RichFaces - Ajax enabled JSF 2.0 component library = -Getting up and running quickly -------------------------------- -The core-demo and richfaces-showcase demo applications should be built usi= ng Maven 2.1.0 + RichFaces 4.0.CR1 EXAMPLES + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) = -tomcat6/jetty targeted build: +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -1) execute "mvn clean package" in root application folder(examples/richfac= es-showcase or examples/core-demo) -2) Deploy to tomcat 6.x (built .war file is located in the 'target' folder= ) or just run using maven on jetty using "mvn clean jetty:run-war" +RichFaces 4 is a component library for JSF2 and an advanced framework for +easily integrating AJAX capabilities into business applications. = -JEE6 (GlassFish 3, JBoss AS 6) server targeted build: = -1) execute "mvn clean package -Pjee6" in root application folder(examples/= richfaces-showcase or examples/core-demo) -2) Deploy built application (built .war file is located in the 'target' fo= lder) to application server +This file explains how to set up the RichFaces examples bundled with the +distribution package. If you find any issue with the project, please repor= t = +the issue on the RichFaces user forum (http://community.jboss.org/en/richf= aces) = +or jira (https://issues.jboss.org/browse/RF). = -Type http://localhost:8080/richfaces-showcase http://localhost:8080/core-d= emo in your browser address bar after starting server. = -More additional information about build profiles for concrete applications= and working with them - inside readme's for application itself. = +SETTING UP THE EXAMPLES +----------------------- = -NOTE: richfaces-showcase contains readme.txt which shows how to publish th= e application to Google Application Engine. = + 1. Requirements + = + In order to build the Examples applications you will need: + - Maven 2.1.0 or later + - Servers: Apache Tomcat 6.0 or any JEE6 application server = + (e.g. Jboss AS 6) + - JDK 1.6 = -Using IDE to work with examples -------------------------------- - *You could use JBoss Tools with m2eclipse plugin and just import the exam= ples as maven-based projects. - = - *Or if you have not using m2eclipse - execute: - mvn eclipse:ecllipse = - in root example folder and import to ecplise just as existent project aft= er build complete. = + Also optional Additional Software would make it easy for you to work = + with the sources of the application: = + - Eclipse IDE + JBoss Tools (to explore and run the application = + in IDE). You're free to use any other IDE also but we haven't = + tested the application in other environments. = = + 2. Build/Deploy = -Learn more ----------- -RichFaces Project - http://www.jboss.org/richfaces -RichFaces 4.0 Wiki - http://www.jboss.org/community/wiki/RichFaces40Planni= ng \ No newline at end of file + - Deploy on Tomcat/Jetty + + To build the project for Tomcat you need to navigate to the = + /examples/richfaces-showcase or /examples/core-demo directories = + and run: + + mvn clean package + + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on Tomcat, copy the .war = + file from 'target' folder to TOMCAT_HOME/webapps folder. Then, = + launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ = + directory to start the server. + + - Deploy on JEE6 server (JBoss AS 6) + + To build the project for a JEE6 server you need to navigate to the = + /examples/richfaces-showcase or /examples/core-demo directory = + and run: + + mvn clean package -Pjee6 + = + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deoploy it on the application server = + copy the .war file from 'target' folder to the JBOSS_HOME/server/default= /deploy = + folder (or change "default/" to used profile folder). Then, launch = + the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start = + the server. + +After deploying the examples to your server open a browser and type = +http://localhost:8080/richfaces-showcase or http://localhost:8080/core-dem= o = +to view the examples. + +Additional information about build profiles for these applications = +and working with them can be found inside the readme files for application = +itself. = + +NOTE: richfaces-showcase contains readme.txt which shows how to = +publish the application to Google Application Engine. = + + +USING AN IDE TO WORK WITH EXAMPLES +---------------------------------- + +In order to explore, run and deploy the examples using Eclipse IDE you can= use = +one of the following options: + = + - You could use JBoss Tools with m2eclipse plugin and just import = + the examples as maven-based projects. + * Open Eclipse and go to File > Import + * Expand the project type named Maven and select Import Maven = + Project + * Browse the directory in which you placed the examples, select = + it and press OK. + * Press next on the import wizard to finish importing the = + examples. + + - Or if you are not using m2eclipse execute use Maven to convert the = + project to an Eclipse project: + * Open a terminal inside the RichFaces examples directory + * execute mvn eclipse:ecllipse + * Open Eclipse and select File > Import + * Select Import as existing project into workspace after build = + is complete. + * Follow the instructions on the import wizard. + +You are now able to work with the examples within Eclipse. + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on RichFaces 4, please visit RichFaces = +website at: + + - http://www.jboss.org/richfaces. + +Or check the Wiki for more information on build instructions for the examp= les at: + + - http://community.jboss.org/wiki/HowtoworkwithRichFaces4xexamplessour= ces + +To report or check the status of issues related to RichFaces Examples = +use the project's Jira at: + = + - https://issues.jboss.org/browse/RF + +Community support and help can be obtained from the RichFaces forums at: + + - http://community.jboss.org/en/richfaces?view=3Ddiscussions + + + +### Modified: trunk/dist/readme-ui.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/dist/readme-ui.txt 2011-03-09 13:51:52 UTC (rev 22103) +++ trunk/dist/readme-ui.txt 2011-03-09 13:56:43 UTC (rev 22104) @@ -1,47 +1,185 @@ -RichFaces - Ajax enabled JSF 2.0 component library -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D -Version 4.0.0.CR1 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -This software is distributed under the terms of the FSF Lesser Gnu Public = License (see lgpl.txt). = + RichFaces - Ajax enabled JSF 2.0 component library = -Getting up and running quickly -------------------------------- + RichFaces 4.0.CR1 + http://www.jboss.org/richfaces + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) = -1) Put RichFaces libraries and its dependencies in your application librar= ies folder: - 1.1) richfaces-core-api.jar - 1.2) richfaces-core-impl.jar - 1.3) richfaces-components-api.jar - 1.4) richfaces-components-ui.jar - 1.5) sac-1.3, cssparser-0.9.5 - required for components CSS work - 1.6) google-guava-r08 - core runtime dependency. - 1.7) annotations.jar from org.richfaces.cdk - - It's optional and only needs to be added if RichFaces components wi= ll be = - created/accessed dynamically in your apps actions/listeners. = - 1.8) validation-api.jar and any implementation like hibernate-validators= .jar = - - It's optional and should be added if you using Client or Graph Vali= dation. Should be added only if it's not provided by server(Java EE 6 serve= rs) = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = -For optimal performance it's recommended to add one of these caching frame= works to application classpath: EhCache, JBoss Cache, OsCache. = +RichFaces 4 is a component library for JSF2 and an advanced framework for +easily integrating AJAX capabilities into business applications. = -2) As opposed to the previous 3.x.y versions of RichFaces, no special conf= iguration steps are necessary. = -You don't need to modify web.xml or faces-config.xml (except a4j:push comp= onent that requires additional configuration in web.xml; = -please refer to the documentation) +This file explains how to obtain and install the RichFaces component = +library. If you find any issue with the project, please report the issue +on the RichFaces user forum (http://community.jboss.org/en/richfaces) = +or jira (https://issues.jboss.org/browse/RF). = -3) Add RichFaces namespaces/taglibs declaration to your VDL/XHTML pages wh= ich will use RichFaces components - Use xmlns:a4j=3D"http://richfaces.org/a4j" namespace for core components - Use xmlns:rich=3D"http://richfaces.org/rich" namespace for rich compone= nts = -4) Add one of the available RichFaces components to your page and try it! -4.1) Take a look at the RichFaces examples for assistance with usage. +FEATURES +-------- = -For more information on getting started with, or without maven, take a loo= k at wiki's Getting Started Guide. - - http://community.jboss.org/wiki/GettingstartedwithRichFaces4x + - 100+ AJAX enabled components in two libraries. + * a4j page centric AJAX controls. + * rich self contained, ready to use components. + - Whole set of JSF2 benefits while working with AJAX. + - Skinnability mechanism. + - Component Development Kit (CDK). + - Dynamic resource handling. + - Testing facilities for components, actions, listeners and pages + - Broad cross-browser support. + - Large and active community = -Available Components/Behaviors/Tags/Functions = ---------------------------------- +OBTAINING RICHFACES 4.X +----------------------- + + 1. Obtaining the latest stable distribution package + = + You can download the distribution package directly from the RichFaces = + project website at http://www.jboss.org/richfaces. Source code is also = + available to download from the same site. + + +SETTING UP YOUR PROJECT +----------------------- + + 1. Manually + = + After downloading the distribution package, extract its content in a + folder of your choice. = + + Search for the 'artifacts' directory in the extracted files. There you + will find 'framework' and 'ui' directories, each of them having the = + jars needed to use RichFaces inside your project. + = + - From 'ui' directory: Copy richfaces-components-api-4.x.jar and = + richfaces-components-ui-4.x.jar to your application libraries = + folder. + + - From 'framerok' directory: Copy richfaces-core-api-4.x.jar and + richfaces-core-impl-4.x.jar to your application libraries folder. + = + In addition to the RichFaces jars, a number of dependencies are = + required in order to properly configure the framework. + = + = + a. sac-1.3, cssparser-0.9.5 - required for components CSS work. + + b. google-guava-r08 - core runtime dependency. + + c. annotations.jar - from org.richfaces.cdk. = + = + - It's optional and only needs to be added if RichFaces componen= ts = + will be created/accessed dynamically in your apps actions/list= eners. + + d. validation-api.jar and any implementation like hibernate-validat= ors.jar = + = + - It's optional and should be added if you using Client or Graph = + Validation. Should be added only if it's not provided by a = + server (Java EE 6 servers). + + + 2. Using Maven + = + To setup your project using Maven, follow the instruction on the wiki = at + http://community.jboss.org/wiki/HowtoaddRichFaces4xtomavenbasedproject + = + +For optimal performance it's recommended to add one of these caching frame= works = +to application classpath: EhCache, JBoss Cache, OsCache. = + + +GETTING STARTED +--------------- + +1. After setting up the project to use RichFaces component library, no = + special configuration steps are necessary. You don't need to modify = + web.xml or faces-config.xml as with previous versions of RichFaces, = + except for a4j:push component that requires additional configuration = + in web.xml + +2. Add RichFaces namespaces/taglibs declarations to your VDL/XHTML pages = + which will use RichFaces components. + + - Use xmlns:a4j=3D"http://richfaces.org/a4j" namespace for core compone= nts + - Use xmlns:rich=3D"http://richfaces.org/rich" namespace for rich compo= nents + +3. Add on of the available RichFaces components to your page and try it! = + Take a look at the RichFaces examples for assistance with usage. + +4. For more information on getting started with RichFaces, visit the wiki'= s = + Getting Started Guide at http://community.jboss.org/wiki/GettingStarted= WithRichFaces4x + + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on RichFaces 4 features, how to migrate from +previous versions, and answers to the most frequently asked questions (FAQ= ), +please visit RichFaces website at: + +http://www.jboss.org/richfaces. + +Or the Wiki at: + + - http://community.jboss.org/wiki/richfaceswikihomepage + +To report or check the status of issues related to RichFaces use the = +project's Jira at: + + - https://issues.jboss.org/browse/RF + +Community support and help can be obtained from the RichFaces forums at: + + - http://community.jboss.org/en/richfaces?view=3Ddiscussions + +Also you can follow us on Twitter at: + = + - http://twitter.com/richfaces + + +FUTURE RELEASES +--------------- + +For information on future releases and new features that are planned for n= ext +version please visit project's wiki at: +http://www.jboss.org/community/wiki/RichFaces40Planning + + +GET INVOLVED +------------ + +RichFaces is an Open Source project built by people across the globe. = +If you want to help create the next version of RichFaces take a look at = +this sites + + - RichFaces source code: + http://www.jboss.org/richfaces/sourcecode + + - How to build RichFaces 4.0: = + http://community.jboss.org/docs/DOC-15747?uniqueTitle=3Dfalse + = + - RichFaces 4.0 Directory structure: + http://community.jboss.org/wiki/RichFaces40BuildDirectoryStructure + + - RichFaces developer forums + http://community.jboss.org/en/richfaces/dev?view=3Ddiscussions + + - RichFaces Planning (Jira): + https://issues.jboss.org/browse/RFPL + +We hope to see your contributions! + + +AVAILABLE COMPONENTS/BEHAVIORS/TAGS/FUNCTIONS +--------------------------------------------- Core: ---------------------------------- - +--------------------------------------------- a4j:ajax a4j:commandLink a4j:commandButton @@ -153,7 +291,52 @@ rich:validator rich:graphValidator = -Learn more ----------- -RichFaces Project - http://www.jboss.org/richfaces -RichFaces 4.0 Wiki - http://www.jboss.org/community/wiki/RichFaces40Planni= ng + +New in Version 4.0.CR1 +---------------------- + + - Finally completed with Taglib's corrections for better IDE support = + https://issues.jboss.org/browse/RF-9936 + - Stabilized CSV feature with messages, localization and customization = + improvements https://issues.jboss.org/browse/RF-10556 + https://issues.jboss.org/browse/RF-10434 https://issues.jboss.org/br= owse/RF-10611 + - Stabilized messages components https://issues.jboss.org/browse/RF-10= 293 = + https://issues.jboss.org/browse/RF-10370 + - A lots of stabilization issues resolved for Switchable Panels and = + Panel Menu + - Important push problems solved https://issues.jboss.org/browse/RF-10= 457 = + https://issues.jboss.org/browse/RF-10473 https://issues.jboss.org/br= owse/RF-10487 = + and more customization options added https://issues.jboss.org/browse= /RF-10454 + - A lot of stabilization issues for MyFaces support got resolved + - Environment updates: JQuery 1.5, MyFaces 2.0.4, Mojara 2.0.4, Atmosp= here 0.6.4 + - RichFaces showcase has been updated with new design (https://issues.= jboss.org/browse/RF-9636) = + and now runs under myFaces stable! + + +New in Version 4.0.M6 +--------------------- + + - Client Side Validation feature is ready!! All the standard JSF + and most of the JSR-303 validators are available on the client by us= ing = + just behavior! We will post detailed blog with exam= ples = + in a few days. + - ObjectValidation feature also was finalized and allows you to valida= te = + complete objects and dependent fields by just using JSR-303 validato= rs = + and the component. This will also be covered i= n an + up coming blog. + - The Ajax framework is improved and now provides ignoreDupResponce co= re = + feature! Together with queue it adds great optimization to your Ajax= 'ififed + pages. + - All the richfaces components client side API are reviewed and stabil= ized. = + API Tables will be documented soon in the component reference. + - Further review and corrections in components for improving IDE's sup= port. + - richfaces-showcase demo application is updated with new showcases fo= r = + validation components and new examples for previously released compo= nents. + - Further improvements in Component Development Kit. + - Stabilization works for migrated code. Automation tests with quint, = junit. = + Review of attributes and facets for consistency and stability are do= ne = + and most issues get fixed. + + = + +### --===============2348494678672129827==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 09:38:44 2011 Content-Type: multipart/mixed; boundary="===============5005390398665729227==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22105 - in branches/4.0.X: ui/input/ui/src/main/java/org/richfaces/renderkit and 1 other directories. Date: Wed, 09 Mar 2011 09:38:43 -0500 Message-ID: <201103091438.p29Echn0003463@svn01.web.mwc.hst.phx2.redhat.com> --===============5005390398665729227== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-09 09:38:43 -0500 (Wed, 09 Mar 2011) New Revision: 22105 Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInput= .xhtml branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceSelec= t.xhtml branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplace= InputRendererBase.java branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplace= SelectRendererBase.java branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml Log: RF-10689: @defaultValue is fixed for null value. Reviewed by Anton Belevich. Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/inpla= ceInput.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInpu= t.xhtml 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInpu= t.xhtml 2011-03-09 14:38:43 UTC (rev 22105) @@ -1,22 +1,20 @@ - + - + xmlns:h=3D"http://java.sun.com/jsf/html" + xmlns:f=3D"http://java.sun.com/jsf/core" + xmlns:ui=3D"http://java.sun.com/jsf/facelets" + xmlns:in=3D"http://richfaces.org/input"> + = - InplaceInput + InplaceInput = - - - - - - - + + + + Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/inpla= ceSelect.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceSele= ct.xhtml 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceSele= ct.xhtml 2011-03-09 14:38:43 UTC (rev 22105) @@ -19,7 +19,7 @@
InplaceSelect Test App Fresh off his victory in the Florida primary, Sen. John McCain is pois= ed to take another big prize. Former - + Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= InplaceInputRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eInputRendererBase.java 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eInputRendererBase.java 2011-03-09 14:38:43 UTC (rev 22105) @@ -21,20 +21,19 @@ */ package org.richfaces.renderkit; = -import java.io.IOException; -import java.util.Collections; -import java.util.Map; +import org.richfaces.component.AbstractInplaceInput; +import org.richfaces.component.InplaceComponent; +import org.richfaces.component.InplaceState; +import org.richfaces.renderkit.util.HtmlDimensions; = import javax.faces.application.ResourceDependencies; import javax.faces.application.ResourceDependency; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; +import java.io.IOException; +import java.util.Collections; +import java.util.Map; = -import org.richfaces.component.AbstractInplaceInput; -import org.richfaces.component.InplaceComponent; -import org.richfaces.component.InplaceState; -import org.richfaces.renderkit.util.HtmlDimensions; - /** * @author Anton Belevich * = @@ -51,38 +50,6 @@ @ResourceDependency(library =3D "org.richfaces", name =3D "inplace= Input.ecss") }) public class InplaceInputRendererBase extends InputRendererBase { = - public static final String OPTIONS_EDIT_EVENT =3D "editEvent"; - = - public static final String OPTIONS_STATE =3D "state"; - - public static final String OPTIONS_EDIT_CONTAINER =3D "editContainer"; - - public static final String OPTIONS_INPUT =3D "input"; - - public static final String OPTIONS_FOCUS =3D "focusElement"; - - public static final String OPTIONS_BUTTON_OK =3D "okbtn"; - - public static final String OPTIONS_LABEL =3D "label"; - - public static final String OPTIONS_DEFAULT_LABEL =3D "defaultLabel"; - - public static final String OPTIONS_BUTTON_CANCEL =3D "cancelbtn"; - - public static final String OPTIONS_SHOWCONTROLS =3D "showControls"; - - public static final String OPTIONS_NONE_CSS =3D "noneCss"; - - public static final String OPTIONS_CHANGED_CSS =3D "changedCss"; - = - public static final String OPTIONS_EDIT_CSS =3D "editCss"; - - public static final String OPTIONS_INITIAL_VALUE =3D "initialValue"; - - public static final String OPTIONS_SAVE_ON_BLUR =3D "saveOnBlur"; - = - = - = = //TODO: anton - move to RenderUtils (we use the same in the calendar b= ase renderer) ? = protected static final Map INPLACE_INPUT_H= ANDLER_ATTRIBUTES =3D Collections Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= InplaceSelectRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eSelectRendererBase.java 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eSelectRendererBase.java 2011-03-09 14:38:43 UTC (rev 22105) @@ -22,18 +22,17 @@ = package org.richfaces.renderkit; = -import java.io.IOException; -import java.util.List; +import org.richfaces.component.AbstractInplaceSelect; +import org.richfaces.component.InplaceComponent; +import org.richfaces.renderkit.util.HtmlDimensions; = import javax.faces.application.ResourceDependencies; import javax.faces.application.ResourceDependency; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; +import java.io.IOException; +import java.util.List; = -import org.richfaces.component.AbstractInplaceSelect; -import org.richfaces.component.InplaceComponent; -import org.richfaces.renderkit.util.HtmlDimensions; - /** * @author Anton Belevich * = @@ -55,17 +54,9 @@ @ResourceDependency(library =3D "org.richfaces", name =3D "inplace= Select.js"), @ResourceDependency(library =3D "org.richfaces", name =3D "inplace= Select.ecss") }) public class InplaceSelectRendererBase extends InplaceInputRendererBase { - = - public static final String OPTIONS_OPEN_ON_EDIT =3D "openOnEdit"; - = - public static final String OPTIONS_SAVE_ON_SELECT =3D "saveOnSelect"; - = + public static final String ITEM_CSS =3D "rf-is-opt"; = - = - public static final String SELECT_ITEM_CSS =3D "rf-is-sel"; = = - public static final String LIST_CSS =3D "rf-is-lst-cord"; - public List getConvertedSelectItems(FacesContext fac= esContext, UIComponent component) { return SelectHelper.getConvertedSelectItems(facesContext, componen= t); } Modified: branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.templa= te.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml= 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml= 2011-03-09 14:38:43 UTC (rev 22105) @@ -41,11 +41,12 @@ - = + + - #{inplaceValue} + #{defaultLabel} = @@ -89,7 +90,8 @@ - + + new RichFaces.ui.InplaceInput("#{clientId}", #{toScriptArgs(options)}= ); Modified: branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.templ= ate.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xm= l 2011-03-09 13:56:43 UTC (rev 22104) +++ branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xm= l 2011-03-09 14:38:43 UTC (rev 22105) @@ -36,12 +36,13 @@ = - = + + = - #{inplaceValue} + #{defaultLabel} = = @@ -106,7 +107,8 @@ - + + new RichFaces.ui.InplaceSelect("#{clientId}", #{toScriptArgs(options)= }); --===============5005390398665729227==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 09:43:32 2011 Content-Type: multipart/mixed; boundary="===============6819055044252836907==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22106 - in branches/4.0.X: ui/validator/ui/src/main/resources/META-INF/resources/org.richfaces and 1 other directory. Date: Wed, 09 Mar 2011 09:43:31 -0500 Message-ID: <201103091443.p29EhV5t003948@svn01.web.mwc.hst.phx2.redhat.com> --===============6819055044252836907== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-09 09:43:31 -0500 (Wed, 09 Mar 2011) New Revision: 22106 Modified: branches/4.0.X/core/impl/src/main/resources/META-INF/resources/richfaces= -base-component.js branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/org= .richfaces/message.js Log: https://issues.jboss.org/browse/RF-10722 Reviewed by Pavel Modified: branches/4.0.X/core/impl/src/main/resources/META-INF/resources/ri= chfaces-base-component.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/core/impl/src/main/resources/META-INF/resources/richface= s-base-component.js 2011-03-09 14:38:43 UTC (rev 22105) +++ branches/4.0.X/core/impl/src/main/resources/META-INF/resources/richface= s-base-component.js 2011-03-09 14:43:31 UTC (rev 22106) @@ -415,7 +415,7 @@ __bindEventHandlers: function () { }, destroy: function () { - rf.Event.unbind(this.id, this.namespace); + rf.Event.unbindById(this.id, this.namespace); $super.destroy.call(this); } }); Modified: branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resour= ces/org.richfaces/message.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/message.js 2011-03-09 14:38:43 UTC (rev 22105) +++ branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/message.js 2011-03-09 14:43:31 UTC (rev 22106) @@ -1,37 +1,6 @@ (function($, rf) { - - rf.ui =3D rf.ui || {}; = // Constructor definition - rf.ui.Base =3D function(componentId, options, defaultOptions) { - this.namespace =3D "."+rf.Event.createNamespace(this.name, componentId); - // call constructor of parent class - $super.constructor.call(this, componentId); - this.options =3D $.extend(this.options, defaultOptions, options); - this.attachToDom(); - this.__bindEventHandlers(); - }; - - // Extend component class and add protected methods from parent class to = our container - rf.BaseComponent.extend(rf.ui.Base); - - // define super class link - var $super =3D rf.ui.Base.$super; - - $.extend(rf.ui.Base.prototype, { - __bindEventHandlers: function () { - }, - destroy: function () { - rf.Event.unbindById(this.id, this.namespace); - $super.destroy.call(this); - } - }); - = -})(jQuery, window.RichFaces || (window.RichFaces=3D{})); - -(function($, rf) { - = - // Constructor definition rf.ui.Message =3D function(componentId, options) { // call constructor of parent class $super.constructor.call(this, componentId, options, defaultOptions); @@ -90,11 +59,13 @@ } } = + var bindEventHandlers =3D function () { + rf.Event.bind(window.document, rf.Event.MESSAGE_EVENT_TYPE+this.namespac= e, onMessage, this); + }; + = $.extend(rf.ui.Message.prototype, { name: "Message", - __bindEventHandlers: function () { - rf.Event.bind(window.document, rf.Event.MESSAGE_EVENT_TYPE+this.namespa= ce, onMessage, this); - } + __bindEventHandlers: bindEventHandlers }); = })(jQuery, window.RichFaces || (window.RichFaces=3D{})); \ No newline at end of file --===============6819055044252836907==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 09:51:30 2011 Content-Type: multipart/mixed; boundary="===============5337493607813413343==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22107 - branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior. Date: Wed, 09 Mar 2011 09:51:30 -0500 Message-ID: <201103091451.p29EpU4F004770@svn01.web.mwc.hst.phx2.redhat.com> --===============5337493607813413343== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: Alex.Kolonitsky Date: 2011-03-09 09:51:30 -0500 (Wed, 09 Mar 2011) New Revision: 22107 Modified: branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior/= AjaxBehavior.java Log: RF-9952 Taglib: ajax has no attributes - reviewed by Anton Belevich Modified: branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/be= havior/AjaxBehavior.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior= /AjaxBehavior.java 2011-03-09 14:43:31 UTC (rev 22106) +++ branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior= /AjaxBehavior.java 2011-03-09 14:51:30 UTC (rev 22107) @@ -64,7 +64,7 @@ = enum PropertyKeys { data, execute, onbeforedomupdate, onbegin, oncomplete, onerror, qu= eueId, render, - status, disabled, limitRender, immediate, bypassUpdates, onbefores= ubmit + status, disabled, limitRender, immediate, bypassUpdates, onbefores= ubmit, event, listener } = private Set execute; @@ -90,6 +90,8 @@ setOnbeforedomupdate((String) value); } else if (compare(PropertyKeys.onbegin, name)) { setOnbegin((String) value); + } else if (compare(PropertyKeys.event, name)) { + setEvent((String) value); = } else if (compare(PropertyKeys.oncomplete, name)) { setOncomplete((String) value); } else if (compare(PropertyKeys.onerror, name)) { @@ -101,6 +103,9 @@ } else if (compare(PropertyKeys.disabled, name)) { value =3D expFactory.coerceToType(value, Boolean.class); setDisabled((Boolean)value); + } else if (compare(PropertyKeys.listener, name)) { + value =3D expFactory.coerceToType(value, MethodExpression.clas= s); + setListener((MethodExpression) value); = } else if (compare(PropertyKeys.limitRender, name)) { value =3D expFactory.coerceToType(value, Boolean.class); setLimitRender((Boolean) value); @@ -138,8 +143,26 @@ public void setData(Object data) { getStateHelper().put(PropertyKeys.data, data); } + = + @Attribute + public MethodExpression getListener() { + return (MethodExpression) getStateHelper().eval(PropertyKeys.liste= ner); + } = + public void setListener(MethodExpression listener) { + getStateHelper().put(PropertyKeys.listener, listener); + } + = @Attribute + public String getEvent() { + return (String) getStateHelper().eval(PropertyKeys.event); + } + + public void setEvent(String event) { + getStateHelper().put(PropertyKeys.event, event); + } = + + @Attribute public Collection getExecute() { return getCollectionValue(PropertyKeys.execute, execute); } --===============5337493607813413343==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 09:53:25 2011 Content-Type: multipart/mixed; boundary="===============5611125488333233274==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22108 - branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces. Date: Wed, 09 Mar 2011 09:53:25 -0500 Message-ID: <201103091453.p29ErPsU004783@svn01.web.mwc.hst.phx2.redhat.com> --===============5611125488333233274== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ilya_shaikovsky Date: 2011-03-09 09:53:25 -0500 (Wed, 09 Mar 2011) New Revision: 22108 Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/com= ponent-sample.xhtml Log: http://jira.jboss.org/browse/RF-10723 @Nick checked. Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/component-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponent-sample.xhtml 2011-03-09 14:51:30 UTC (rev 22107) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponent-sample.xhtml 2011-03-09 14:53:25 UTC (rev 22108) @@ -10,7 +10,7 @@ - + @@ -25,9 +25,9 @@ onbeforeitemchange=3D"return false;"> + onheaderclick=3D"document.location=3D'#{facesContext.externalContext.= requestContextPath}/richfaces/component-sample.jsf?demo=3D#{demoNavigator.c= urrentDemo.id}&sample=3D#{s.id}&skin=3D#{skinBean.skin}'" /> - + =
--===============5611125488333233274==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:04:01 2011 Content-Type: multipart/mixed; boundary="===============8721225990471405946==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22109 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richTreeNode. Date: Wed, 09 Mar 2011 10:04:01 -0500 Message-ID: <201103091504.p29F41rr012151@svn01.web.mwc.hst.phx2.redhat.com> --===============8721225990471405946== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 10:04:01 -0500 (Wed, 09 Mar 2011) New Revision: 22109 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richTreeNode/TestTreeNodeSimple.java Log: removed issue tracking for RFPL-1124 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richTreeNode/TestTreeNodeSimple.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTreeNode/TestTreeNodeSimple.java 2011-03-09 14:53:25 = UTC (rev 22108) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richTreeNode/TestTreeNodeSimple.java 2011-03-09 15:04:01 = UTC (rev 22109) @@ -25,9 +25,6 @@ import static org.jboss.test.selenium.JQuerySelectors.not; import static org.jboss.test.selenium.dom.Event.CLICK; import static org.jboss.test.selenium.dom.Event.DBLCLICK; -import static org.jboss.test.selenium.dom.Event.KEYDOWN; -import static org.jboss.test.selenium.dom.Event.KEYPRESS; -import static org.jboss.test.selenium.dom.Event.KEYUP; import static org.jboss.test.selenium.dom.Event.MOUSEDOWN; import static org.jboss.test.selenium.dom.Event.MOUSEMOVE; import static org.jboss.test.selenium.dom.Event.MOUSEOUT; @@ -53,7 +50,6 @@ import org.richfaces.component.SwitchType; import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; import org.richfaces.tests.metamer.ftest.annotations.Inject; -import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; import org.richfaces.tests.metamer.ftest.annotations.Use; import org.richfaces.tests.metamer.ftest.richTree.TreeAttributes; import org.richfaces.tests.metamer.ftest.richTree.TreeModel; @@ -83,7 +79,7 @@ @Inject @Use(empty =3D true) Event event =3D CLICK; - Event[] events =3D new Event[] { CLICK, DBLCLICK, KEYDOWN, KEYPRESS, K= EYUP, MOUSEDOWN, MOUSEMOVE, MOUSEOUT, + Event[] events =3D new Event[] { CLICK, DBLCLICK, MOUSEDOWN, MOUSEMOVE= , MOUSEOUT, MOUSEOVER, MOUSEUP }; = @Inject @@ -223,9 +219,8 @@ assertEquals(selenium.getCount(not(tree.getAnyNode(), "[lang=3Dcs]= ")), 4); } = - @Test(groups =3D "4.0.0.Final") + @Test @Use(field =3D "event", value =3D "events") - @IssueTracking("https://issues.jboss.org/browse/RFPL-1124") public void testClientEvents() { String attributeName =3D event.getEventName(); ElementLocator eventInput =3D pjq("span[id$=3DtreeNode1Attribut= es:panel] input[id$=3Don" + attributeName --===============8721225990471405946==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:09:45 2011 Content-Type: multipart/mixed; boundary="===============8380421684574099582==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22110 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richExtendedDataTable. Date: Wed, 09 Mar 2011 10:09:44 -0500 Message-ID: <201103091509.p29F9iqR012521@svn01.web.mwc.hst.phx2.redhat.com> --===============8380421684574099582== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 10:09:44 -0500 (Wed, 09 Mar 2011) New Revision: 22110 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java Log: removed issue tracking RFPL-1193 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java 20= 11-03-09 15:04:01 UTC (rev 22109) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java 20= 11-03-09 15:09:44 UTC (rev 22110) @@ -26,7 +26,6 @@ import java.net.URL; = import org.richfaces.tests.metamer.ftest.abstractions.DataTableFacetsTest; -import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; import org.richfaces.tests.metamer.ftest.model.ExtendedDataTable; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -47,64 +46,62 @@ model =3D new ExtendedDataTable(pjq("div.rf-edt[id$=3DrichEDT]")); } = - @Test(groups =3D "4.0.0.Final") - @IssueTracking("https://issues.jboss.org/browse/RFPL-1193") + @Test public void testNoDataInstantChange() { super.testNoDataInstantChange(); } = - @Test(groups =3D "4.0.0.Final") - @IssueTracking("https://issues.jboss.org/browse/RFPL-1193") + @Test public void testNoDataEmpty() { super.testNoDataEmpty(); } = - @Test + //@Test public void testHeaderInstantChange() { super.testHeaderInstantChange(); } = - @Test + //@Test public void testHeaderEmpty() { super.testHeaderEmpty(); } = - @Test + //@Test public void testStateHeaderInstantChange() { super.testStateHeaderInstantChange(); } = - @Test + //@Test public void testStateHeaderEmpty() { super.testStateHeaderEmpty(); } = - @Test + //@Test public void testStateFooterInstantChange() { super.testStateFooterInstantChange(); } = - @Test + //@Test public void testStateFooterEmpty() { super.testStateFooterEmpty(); } = - @Test + //@Test public void testCapitalHeaderInstantChange() { super.testCapitalHeaderInstantChange(); } = - @Test + //@Test public void testCapitalHeaderEmpty() { super.testCapitalHeaderEmpty(); } = - @Test + //@Test public void testCapitalFooterInstantChange() { super.testCapitalFooterInstantChange(); } = - @Test + //@Test public void testCapitalFooterEmpty() { super.testCapitalFooterEmpty(); } --===============8380421684574099582==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:11:52 2011 Content-Type: multipart/mixed; boundary="===============6004517407481961345==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22111 - in branches/4.0.X/ui/core/ui/src/main: resources/META-INF/cdk/attributes and 1 other directory. Date: Wed, 09 Mar 2011 10:11:52 -0500 Message-ID: <201103091511.p29FBqhP012984@svn01.web.mwc.hst.phx2.redhat.com> --===============6004517407481961345== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: Alex.Kolonitsky Date: 2011-03-09 10:11:51 -0500 (Wed, 09 Mar 2011) New Revision: 22111 Added: branches/4.0.X/ui/core/ui/src/main/resources/META-INF/cdk/attributes/aja= xBehavior-prop.xml Modified: branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior/= AjaxBehavior.java Log: (refactoring) RF-9952 Taglib: ajax has no attributes = - reviewed by Anton Belevich Modified: branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/be= havior/AjaxBehavior.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior= /AjaxBehavior.java 2011-03-09 15:09:44 UTC (rev 22110) +++ branches/4.0.X/ui/core/ui/src/main/java/org/ajax4jsf/component/behavior= /AjaxBehavior.java 2011-03-09 15:11:51 UTC (rev 22111) @@ -54,7 +54,8 @@ * = */ = -(a)JsfBehavior(id =3D "org.ajax4jsf.behavior.Ajax", tag =3D @Tag(name =3D = "ajax", handler =3D "org.richfaces.view.facelets.html.AjaxHandler", type = =3D TagType.Facelets)) +(a)JsfBehavior(id =3D "org.ajax4jsf.behavior.Ajax", tag =3D @Tag(name =3D = "ajax", handler =3D "org.richfaces.view.facelets.html.AjaxHandler", type = =3D TagType.Facelets), + attributes =3D {"ajaxBehavior-prop.xml"}) public class AjaxBehavior extends ClientBehavior implements AjaxClientBeha= vior { = public static final String BEHAVIOR_ID =3D "org.ajax4jsf.behavior.Ajax= "; @@ -64,7 +65,7 @@ = enum PropertyKeys { data, execute, onbeforedomupdate, onbegin, oncomplete, onerror, qu= eueId, render, - status, disabled, limitRender, immediate, bypassUpdates, onbefores= ubmit, event, listener + status, disabled, limitRender, immediate, bypassUpdates, onbefores= ubmit } = private Set execute; @@ -90,8 +91,6 @@ setOnbeforedomupdate((String) value); } else if (compare(PropertyKeys.onbegin, name)) { setOnbegin((String) value); - } else if (compare(PropertyKeys.event, name)) { - setEvent((String) value); = } else if (compare(PropertyKeys.oncomplete, name)) { setOncomplete((String) value); } else if (compare(PropertyKeys.onerror, name)) { @@ -103,9 +102,6 @@ } else if (compare(PropertyKeys.disabled, name)) { value =3D expFactory.coerceToType(value, Boolean.class); setDisabled((Boolean)value); - } else if (compare(PropertyKeys.listener, name)) { - value =3D expFactory.coerceToType(value, MethodExpression.clas= s); - setListener((MethodExpression) value); = } else if (compare(PropertyKeys.limitRender, name)) { value =3D expFactory.coerceToType(value, Boolean.class); setLimitRender((Boolean) value); @@ -143,26 +139,8 @@ public void setData(Object data) { getStateHelper().put(PropertyKeys.data, data); } - = - @Attribute - public MethodExpression getListener() { - return (MethodExpression) getStateHelper().eval(PropertyKeys.liste= ner); - } = - public void setListener(MethodExpression listener) { - getStateHelper().put(PropertyKeys.listener, listener); - } - = @Attribute - public String getEvent() { - return (String) getStateHelper().eval(PropertyKeys.event); - } - - public void setEvent(String event) { - getStateHelper().put(PropertyKeys.event, event); - } = - - @Attribute public Collection getExecute() { return getCollectionValue(PropertyKeys.execute, execute); } Added: branches/4.0.X/ui/core/ui/src/main/resources/META-INF/cdk/attributes= /ajaxBehavior-prop.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/core/ui/src/main/resources/META-INF/cdk/attributes/aj= axBehavior-prop.xml (rev 0) +++ branches/4.0.X/ui/core/ui/src/main/resources/META-INF/cdk/attributes/aj= axBehavior-prop.xml 2011-03-09 15:11:51 UTC (rev 22111) @@ -0,0 +1,26 @@ + + + + + listener + javax.el.MethodExpression + + + event + java.lang.String + + --===============6004517407481961345==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:26:11 2011 Content-Type: multipart/mixed; boundary="===============7185635234870674053==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22112 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richExtendedDataTable. Date: Wed, 09 Mar 2011 10:26:10 -0500 Message-ID: <201103091526.p29FQAJr014191@svn01.web.mwc.hst.phx2.redhat.com> --===============7185635234870674053== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 10:26:10 -0500 (Wed, 09 Mar 2011) New Revision: 22112 Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java Log: reenabled previously commented tests Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java 20= 11-03-09 15:11:51 UTC (rev 22111) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richExtendedDataTable/TestExtendedDataTableFacets.java 20= 11-03-09 15:26:10 UTC (rev 22112) @@ -56,52 +56,52 @@ super.testNoDataEmpty(); } = - //@Test + @Test public void testHeaderInstantChange() { super.testHeaderInstantChange(); } = - //@Test + @Test public void testHeaderEmpty() { super.testHeaderEmpty(); } = - //@Test + @Test public void testStateHeaderInstantChange() { super.testStateHeaderInstantChange(); } = - //@Test + @Test public void testStateHeaderEmpty() { super.testStateHeaderEmpty(); } = - //@Test + @Test public void testStateFooterInstantChange() { super.testStateFooterInstantChange(); } = - //@Test + @Test public void testStateFooterEmpty() { super.testStateFooterEmpty(); } = - //@Test + @Test public void testCapitalHeaderInstantChange() { super.testCapitalHeaderInstantChange(); } = - //@Test + @Test public void testCapitalHeaderEmpty() { super.testCapitalHeaderEmpty(); } = - //@Test + @Test public void testCapitalFooterInstantChange() { super.testCapitalFooterInstantChange(); } = - //@Test + @Test public void testCapitalFooterEmpty() { super.testCapitalFooterEmpty(); } --===============7185635234870674053==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:28:39 2011 Content-Type: multipart/mixed; boundary="===============6567092767030296756==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22113 - branches/4.0.X/examples/input-demo/src/main/webapp/examples. Date: Wed, 09 Mar 2011 10:28:39 -0500 Message-ID: <201103091528.p29FSd3A014375@svn01.web.mwc.hst.phx2.redhat.com> --===============6567092767030296756== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-09 10:28:39 -0500 (Wed, 09 Mar 2011) New Revision: 22113 Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInput= .xhtml Log: RF-10689: sample is fixed. Reviewed by Anton Belevich. Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/inpla= ceInput.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInpu= t.xhtml 2011-03-09 15:26:10 UTC (rev 22112) +++ branches/4.0.X/examples/input-demo/src/main/webapp/examples/inplaceInpu= t.xhtml 2011-03-09 15:28:39 UTC (rev 22113) @@ -13,8 +13,12 @@ = - + + + + --===============6567092767030296756==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 10:37:32 2011 Content-Type: multipart/mixed; boundary="===============5617734043677707592==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22114 - modules/tests/metamer/trunk/ftest/src/test/resources. Date: Wed, 09 Mar 2011 10:37:32 -0500 Message-ID: <201103091537.p29FbWBO015625@svn01.web.mwc.hst.phx2.redhat.com> --===============5617734043677707592== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-09 10:37:32 -0500 (Wed, 09 Mar 2011) New Revision: 22114 Added: modules/tests/metamer/trunk/ftest/src/test/resources/testng-switchable.x= ml modules/tests/metamer/trunk/ftest/src/test/resources/testng-tables.xml modules/tests/metamer/trunk/ftest/src/test/resources/testng-trees.xml Removed: modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.xml Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml Log: output and iteration splitted to decrease suites' run times RFPL-1242 Deleted: modules/tests/metamer/trunk/ftest/src/test/resources/testng-iterat= ion.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.x= ml 2011-03-09 15:28:39 UTC (rev 22113) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-iteration.x= ml 2011-03-09 15:37:32 UTC (rev 22114) @@ -1,27 +0,0 @@ - - - - - - - - - - = - - - - - - - - - - - - - - - - - Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-outpu= t.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-09 15:28:39 UTC (rev 22113) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-09 15:37:32 UTC (rev 22114) @@ -9,22 +9,12 @@ = - - - - - - - - - - = Copied: modules/tests/metamer/trunk/ftest/src/test/resources/testng-switcha= ble.xml (from rev 22112, modules/tests/metamer/trunk/ftest/src/test/resourc= es/testng-iteration.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-switchable.= xml (rev 0) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-switchable.= xml 2011-03-09 15:37:32 UTC (rev 22114) @@ -0,0 +1,26 @@ + + + + + + + + + + = + + + + + + + + + + + + + + + + Copied: modules/tests/metamer/trunk/ftest/src/test/resources/testng-tables.= xml (from rev 22112, modules/tests/metamer/trunk/ftest/src/test/resources/t= estng-iteration.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-tables.xml = (rev 0) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-tables.xml = 2011-03-09 15:37:32 UTC (rev 22114) @@ -0,0 +1,24 @@ + + + + + + + + + + = + + + + + + + + + + + + + + Added: modules/tests/metamer/trunk/ftest/src/test/resources/testng-trees.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-trees.xml = (rev 0) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-trees.xml 2= 011-03-09 15:37:32 UTC (rev 22114) @@ -0,0 +1,19 @@ + + + + + + + + + + = + + + + + + + + + --===============5617734043677707592==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 11:50:00 2011 Content-Type: multipart/mixed; boundary="===============6964742113553190779==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22115 - in branches/4.0.X: ui/input/ui/src/main/java/org/richfaces/component and 2 other directories. Date: Wed, 09 Mar 2011 11:50:00 -0500 Message-ID: <201103091650.p29Go00C028497@svn01.web.mwc.hst.phx2.redhat.com> --===============6964742113553190779== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-09 11:50:00 -0500 (Wed, 09 Mar 2011) New Revision: 22115 Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/select.xhtml branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstrac= tSelect.java branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/SelectR= endererBase.java branches/4.0.X/ui/input/ui/src/main/templates/select.template.xml Log: RF-10667: rich:select: missing attributes style, styleClass and title are f= ixed. Reviewed by Alex Kolonitsky. Modified: branches/4.0.X/examples/input-demo/src/main/webapp/examples/selec= t.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/input-demo/src/main/webapp/examples/select.xhtm= l 2011-03-09 15:37:32 UTC (rev 22114) +++ branches/4.0.X/examples/input-demo/src/main/webapp/examples/select.xhtm= l 2011-03-09 16:50:00 UTC (rev 22115) @@ -1,4 +1,5 @@ - + Select + = = @@ -18,7 +24,8 @@
Select Test App + value=3D"#{inputBean.value}" style=3D"font-size= : 2em;" styleClass=3D"my-select-class" + title=3D"Title"> @@ -41,18 +48,16 @@ = -
    -
  • - -
  • -
  • - -
  • - - -
+
    +
  • + +
  • +
  • + +
  • +
Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/= AbstractSelect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctSelect.java 2011-03-09 15:37:32 UTC (rev 22114) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctSelect.java 2011-03-09 16:50:00 UTC (rev 22115) @@ -53,4 +53,12 @@ @Attribute(hidden =3D true) public abstract String getDisabledStateClass(); = + @Attribute + public abstract String getStyle(); + + @Attribute + public abstract String getStyleClass(); + + @Attribute + public abstract String getTitle(); } Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= SelectRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Select= RendererBase.java 2011-03-09 15:37:32 UTC (rev 22114) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Select= RendererBase.java 2011-03-09 16:50:00 UTC (rev 22115) @@ -22,18 +22,17 @@ = package org.richfaces.renderkit; = -import java.io.IOException; -import java.util.List; +import org.richfaces.component.AbstractSelect; +import org.richfaces.component.AbstractSelectComponent; +import org.richfaces.renderkit.util.HtmlDimensions; = import javax.faces.application.ResourceDependencies; import javax.faces.application.ResourceDependency; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; +import java.io.IOException; +import java.util.List; = -import org.richfaces.component.AbstractSelect; -import org.richfaces.component.AbstractSelectComponent; -import org.richfaces.renderkit.util.HtmlDimensions; - /** * @author abelevich * @@ -64,13 +63,7 @@ public String getSelectInputLabel(FacesContext facesContext, UICompone= nt component) { return SelectHelper.getSelectInputLabel(facesContext, component); } - = - public String getListWidth(UIComponent component) { - AbstractSelect select =3D (AbstractSelect)component; - String width =3D getListWidth(select); - return (width !=3D null && width.trim().length() !=3D 0) ? ("width= : " + width) : ""; - } - = + protected String getMinListHeight(AbstractSelect select) { String height =3D HtmlDimensions.formatSize(select.getMinListHeigh= t()); if (height =3D=3D null || height.length() =3D=3D 0) { Modified: branches/4.0.X/ui/input/ui/src/main/templates/select.template.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/select.template.xml 2011-= 03-09 15:37:32 UTC (rev 22114) +++ branches/4.0.X/ui/input/ui/src/main/templates/select.template.xml 2011-= 03-09 16:50:00 UTC (rev 22115) @@ -19,7 +19,7 @@ = = -
+
--===============6964742113553190779==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:08:11 2011 Content-Type: multipart/mixed; boundary="===============1022439307728550842==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22116 - in modules/tests/metamer/trunk/application/src/main: java/org/richfaces/tests/metamer/bean and 2 other directories. Date: Wed, 09 Mar 2011 12:08:11 -0500 Message-ID: <201103091708.p29H8BZr004333@svn01.web.mwc.hst.phx2.redhat.com> --===============1022439307728550842== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:08:11 -0500 (Wed, 09 Mar 2011) New Revision: 22116 Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validator/ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validator/StringRichFacesValidator.java Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/bean/RichValidatorBean.java modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/csv.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/jsr303.xhtml Log: added custom validator to validation samples Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/bean/RichValidatorBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichValidatorBean.java 2011-03-09 16:50:00 UTC (rev 22115) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichValidatorBean.java 2011-03-09 17:08:11 UTC (rev 22116) @@ -45,6 +45,7 @@ private static final long serialVersionUID =3D -1L; private static Logger logger; private Attributes attributes; + private String stringValue =3D "RichFaces"; = /** * Initializes the managed bean. @@ -65,4 +66,11 @@ this.attributes =3D attributes; } = + public String getStringValue() { + return stringValue; + } + + public void setStringValue(String stringValue) { + this.stringValue =3D stringValue; + } } Copied: modules/tests/metamer/trunk/application/src/main/java/org/richfaces= /tests/metamer/validator/StringRichFacesValidator.java (from rev 22094, mod= ules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/meta= mer/bean/RichValidatorBean.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringRichFacesValidator.java = (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringRichFacesValidator.java 2011-03-09 17:08:11 UTC = (rev 22116) @@ -0,0 +1,46 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validator; + +import javax.faces.application.FacesMessage; +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.validator.FacesValidator; +import javax.faces.validator.Validator; +import javax.faces.validator.ValidatorException; + +/** + * Custom string validator that accepts only string "RichFaces". + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)FacesValidator("org.richfaces.StringRichFacesValidator") +public class StringRichFacesValidator implements Validator { + + @Override + public void validate(FacesContext context, UIComponent component, Obje= ct value) throws ValidatorException { + if (value =3D=3D null || !value.toString().equals("RichFaces")) { + throw new ValidatorException(new FacesMessage(FacesMessage.SEV= ERITY_ERROR, "string is not \"RichFaces\"", "")); + } + } +} Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richValidator/csv.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml 2011-03-09 16:50:00 UTC (rev 22115) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml 2011-03-09 17:08:11 UTC (rev 22116) @@ -57,6 +57,7 @@ $('input[id$=3DnotEmpty]').val('RichFaces 4'); $('input[id$=3DnotNull]').val('RichFaces 4'); $('input[id$=3Dpattern]').val('richFaces 4'); + $('input[id$=3Dcustom]').val('RichFaces'); $('input[id$=3Dpast]').val(inPast.format("d mmm yyyy")); $('input[id$=3Dfuture]').val(inFuture.format("d mmm yyyy")= ); $('input[value=3DA]')[0].checked=3Dtrue @@ -82,6 +83,7 @@ $('input[id$=3DnotEmpty]').val(''); $('input[id$=3DnotNull]').val(''); $('input[id$=3Dpattern]').val('@@@'); + $('input[id$=3Dcustom]').val('@@@'); $('input[id$=3Dpast]').val(inFuture.format("d mmm yyyy")); $('input[id$=3Dfuture]').val(inPast.format("d mmm yyyy")); $('input[value=3DA]')[0].checked=3Dfalse @@ -100,177 +102,194 @@ = - = - = - = - = - = - = - = - = - = - = + + + + + + + - @@ -278,16 +297,16 @@ - Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richValidator/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml 2011-03-09 16:50:00 UTC (rev 22115) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml 2011-03-09 17:08:11 UTC (rev 22116) @@ -56,6 +56,7 @@ $('input[id$=3DminMax]').val('4'); $('input[id$=3DnotEmpty]').val('RichFaces 4'); $('input[id$=3DnotNull]').val('RichFaces 4'); + $('input[id$=3Dcustom]').val('RichFaces'); $('input[id$=3Dpattern]').val('richFaces 4'); $('input[id$=3Dpast]').val(inPast.format("d mmm yyyy")); $('input[id$=3Dfuture]').val(inFuture.format("d mmm yyyy")= ); @@ -82,6 +83,7 @@ $('input[id$=3DnotEmpty]').val(''); $('input[id$=3DnotNull]').val(''); $('input[id$=3Dpattern]').val('@@@'); + $('input[id$=3Dcustom]').val('@@@'); $('input[id$=3Dpast]').val(inFuture.format("d mmm yyyy")); $('input[id$=3Dfuture]').val(inPast.format("d mmm yyyy")); $('input[value=3DA]')[0].checked=3Dfalse @@ -138,6 +140,12 @@ = + + + + + + --===============1022439307728550842==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:08:28 2011 Content-Type: multipart/mixed; boundary="===============1331381680388236130==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22117 - in branches/4.0.X/ui/input/ui/src: main/templates and 1 other directories. Date: Wed, 09 Mar 2011 12:08:28 -0500 Message-ID: <201103091708.p29H8SZZ004344@svn01.web.mwc.hst.phx2.redhat.com> --===============1331381680388236130== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pyaschenko Date: 2011-03-09 12:08:28 -0500 (Wed, 09 Mar 2011) New Revision: 22117 Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ric= hfaces/Autocomplete.ecss branches/4.0.X/ui/input/ui/src/main/templates/autocomplete.template.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/au= tocompleteDivLayoutClientMode.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/au= tocompleteListLayoutClientMode.xmlunit.xml Log: https://jira.jboss.org/browse/RF-10700 Reviewed by Gleb Galkin Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/= org.richfaces/Autocomplete.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/Autocomplete.ecss 2011-03-09 17:08:11 UTC (rev 22116) +++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/Autocomplete.ecss 2011-03-09 17:08:28 UTC (rev 22117) @@ -16,7 +16,7 @@ width: 182px; } = -.rf-au-fld{ +.rf-au{ border-width: 1px; border-style: solid; border-color: '#{richSkin.panelBorderColor}'; Modified: branches/4.0.X/ui/input/ui/src/main/templates/autocomplete.templa= te.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/autocomplete.template.xml= 2011-03-09 17:08:11 UTC (rev 22116) +++ branches/4.0.X/ui/input/ui/src/main/templates/autocomplete.template.xml= 2011-03-09 17:08:28 UTC (rev 22117) @@ -17,7 +17,7 @@ = - + - + Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/rende= rkit/autocompleteListLayoutClientMode.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/a= utocompleteListLayoutClientMode.xmlunit.xml 2011-03-09 17:08:11 UTC (rev 22= 116) +++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/a= utocompleteListLayoutClientMode.xmlunit.xml 2011-03-09 17:08:28 UTC (rev 22= 117) @@ -1,5 +1,5 @@ - + --===============1331381680388236130==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:08:47 2011 Content-Type: multipart/mixed; boundary="===============1594380237827005908==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22118 - modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator. Date: Wed, 09 Mar 2011 12:08:46 -0500 Message-ID: <201103091708.p29H8kR9004365@svn01.web.mwc.hst.phx2.redhat.com> --===============1594380237827005908== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:08:46 -0500 (Wed, 09 Mar 2011) New Revision: 22118 Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validator/StringRichFacesValidator.java Log: message updated Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/validator/StringRichFacesValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringRichFacesValidator.java 2011-03-09 17:08:28 UTC = (rev 22117) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringRichFacesValidator.java 2011-03-09 17:08:46 UTC = (rev 22118) @@ -40,7 +40,7 @@ @Override public void validate(FacesContext context, UIComponent component, Obje= ct value) throws ValidatorException { if (value =3D=3D null || !value.toString().equals("RichFaces")) { - throw new ValidatorException(new FacesMessage(FacesMessage.SEV= ERITY_ERROR, "string is not \"RichFaces\"", "")); + throw new ValidatorException(new FacesMessage(FacesMessage.SEV= ERITY_ERROR, "string is not \"RichFaces\"", "string is not \"RichFaces\"")); } } } --===============1594380237827005908==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:09:25 2011 Content-Type: multipart/mixed; boundary="===============4815644814454423508==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22119 - in modules/tests/metamer/trunk/application/src/main: java/org/richfaces/tests/metamer/validator and 1 other directories. Date: Wed, 09 Mar 2011 12:09:25 -0500 Message-ID: <201103091709.p29H9P3J004375@svn01.web.mwc.hst.phx2.redhat.com> --===============4815644814454423508== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:09:25 -0500 (Wed, 09 Mar 2011) New Revision: 22119 Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validator/LastYearValidator.java modules/tests/metamer/trunk/application/src/main/webapp/components/richC= alendar/csv.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richC= alendar/jsr303.xhtml Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/bean/RichCalendarBean.java Log: added validation to the calendar Modified: modules/tests/metamer/trunk/application/src/main/java/org/richfac= es/tests/metamer/bean/RichCalendarBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichCalendarBean.java 2011-03-09 17:08:46 UTC (rev 22118) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/bean/RichCalendarBean.java 2011-03-09 17:09:25 UTC (rev 22119) @@ -30,6 +30,9 @@ import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.event.ValueChangeEvent; +import javax.validation.constraints.Future; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Past; = import org.richfaces.component.UICalendar; import org.richfaces.tests.metamer.Attributes; @@ -51,6 +54,9 @@ private Attributes attributes; private Date date =3D new Date(); private TimeZone timeZone =3D TimeZone.getTimeZone("UTC"); + private Date date1; + private Date date2; + private Date date3; = /** * Initializes the managed bean. @@ -106,6 +112,34 @@ this.timeZone =3D timeZone; } = + @Past + @NotNull + public Date getDate1() { + return date1; + } + + public void setDate1(Date date1) { + this.date1 =3D date1; + } + + @Future + @NotNull + public Date getDate2() { + return date2; + } + + public void setDate2(Date date2) { + this.date2 =3D date2; + } + + public Date getDate3() { + return date3; + } + + public void setDate3(Date date3) { + this.date3 =3D date3; + } + /** * A value change listener that logs to the page old and new value. * Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validator/LastYearValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/LastYearValidator.java (rev 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/LastYearValidator.java 2011-03-09 17:09:25 UTC (rev 22= 119) @@ -0,0 +1,59 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validator; + +import java.util.Calendar; +import java.util.Date; +import javax.faces.application.FacesMessage; +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.validator.FacesValidator; +import javax.faces.validator.Validator; +import javax.faces.validator.ValidatorException; + +/** + * Custom date validator that accepts only last year's dates. + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)FacesValidator("org.richfaces.LastYearValidator") +public class LastYearValidator implements Validator { + + @Override + public void validate(FacesContext context, UIComponent component, Obje= ct value) throws ValidatorException { + FacesMessage msg =3D new FacesMessage(FacesMessage.SEVERITY_ERROR,= "has to contain last year's date", + "has to contain last year's date"); + + if (value =3D=3D null || !(value instanceof Date)) { + throw new ValidatorException(msg); + } + + int todaysYear =3D Calendar.getInstance().get(Calendar.YEAR); + Calendar param =3D Calendar.getInstance(); + param.setTime((Date) value); + + if (todaysYear - 1 !=3D param.get(Calendar.YEAR)) { + throw new ValidatorException(msg); + } + } +} Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichCalendar/csv.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/csv.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/csv.xhtml 2011-03-09 17:09:25 UTC (rev 22119) @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + past + + + + + + + future + + + + + + + last year + + + + + + + +

+ + + output1: + + + + + output2: + + + + + output3: + + + + +
+ + + + + +
+ \ No newline at end of file Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichCalendar/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/jsr303.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/jsr303.xhtml 2011-03-09 17:09:25 UTC (rev 22119) @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + +

+ = + + past + + + + + + future + + + + + + last year + + + + + + +

+ + + output1: + + + + + output2: + + + + + output3: + + + + +
+ + + + + +
+ \ No newline at end of file --===============4815644814454423508==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:09:47 2011 Content-Type: multipart/mixed; boundary="===============3601571204182908733==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22120 - modules/tests/metamer/trunk/application/src/main/webapp/components/richCalendar. Date: Wed, 09 Mar 2011 12:09:47 -0500 Message-ID: <201103091709.p29H9lN6004388@svn01.web.mwc.hst.phx2.redhat.com> --===============3601571204182908733== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:09:46 -0500 (Wed, 09 Mar 2011) New Revision: 22120 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richC= alendar/list.xhtml Log: list of pages for rich:calendar fixed Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richCalendar/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/list.xhtml 2011-03-09 17:09:25 UTC (rev 22119) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/list.xhtml 2011-03-09 17:09:46 UTC (rev 22120) @@ -43,6 +43,14 @@ Page containing rich:calendar with data model and i= nputs for all its attributes. = + + Simple page that contains 3 rich:calendars testing = client-side validation. + + + + Page containing 3 rich:calendars with various JSR-3= 03 validators. + + = --===============3601571204182908733==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:10:11 2011 Content-Type: multipart/mixed; boundary="===============3452003304412181769==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22121 - in modules/tests/metamer/trunk/application/src/main/webapp/components: richValidator and 1 other directory. Date: Wed, 09 Mar 2011 12:10:11 -0500 Message-ID: <201103091710.p29HABoe004739@svn01.web.mwc.hst.phx2.redhat.com> --===============3452003304412181769== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:10:11 -0500 (Wed, 09 Mar 2011) New Revision: 22121 Modified: modules/tests/metamer/trunk/application/src/main/webapp/components/richC= alendar/list.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/csv.xhtml modules/tests/metamer/trunk/application/src/main/webapp/components/richV= alidator/jsr303.xhtml Log: small fixes Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richCalendar/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/list.xhtml 2011-03-09 17:09:46 UTC (rev 22120) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Calendar/list.xhtml 2011-03-09 17:10:11 UTC (rev 22121) @@ -43,7 +43,7 @@ Page containing rich:calendar with data model and i= nputs for all its attributes. = - + Simple page that contains 3 rich:calendars testing = client-side validation. = Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richValidator/csv.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml 2011-03-09 17:09:46 UTC (rev 22120) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/csv.xhtml 2011-03-09 17:10:11 UTC (rev 22121) @@ -37,7 +37,12 @@ = - + = @@ -329,7 +334,7 @@ =
- +
= Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richValidator/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml 2011-03-09 17:09:46 UTC (rev 22120) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= Validator/jsr303.xhtml 2011-03-09 17:10:11 UTC (rev 22121) @@ -1,8 +1,7 @@ + xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://ri= chfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> = + + + + + + + + + + + + + + not empty + + + + + + + pattern [a-z].* + + + + + + + size 3-6 + + + + + + + custom (RichFaces) + + + + + + + + +

+ + + output1 + + output2 + + output3 + + output4 + + +
+ + + + +
+ \ No newline at end of file Added: modules/tests/metamer/trunk/application/src/main/webapp/components/r= ichInplaceInput/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= InplaceInput/jsr303.xhtml (rev 0) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= InplaceInput/jsr303.xhtml 2011-03-09 17:10:46 UTC (rev 22122) @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + +

+ + + not empty + + + + + + pattern [a-z].* + + + + + + size 3-6 + + + + + + custom (RichFaces) + + + + + + + +

+ + + output1 + + output2 + + output3 + + output4 + + +
+ + + + +
+ \ No newline at end of file Modified: modules/tests/metamer/trunk/application/src/main/webapp/component= s/richInplaceInput/list.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/webapp/components/rich= InplaceInput/list.xhtml 2011-03-09 17:10:11 UTC (rev 22121) +++ modules/tests/metamer/trunk/application/src/main/webapp/components/rich= InplaceInput/list.xhtml 2011-03-09 17:10:46 UTC (rev 22122) @@ -39,6 +39,14 @@ Simple page that contains rich:inplaceInput with f:= ajax and input boxes for all its attributes.
= + + Simple page that contains 4 rich:inplaceInputs test= ing client-side validation. + + + + Page containing 4 rich:inplaceInputs with various J= SR-303 validators. + + = --===============0269602101445098682==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:11:15 2011 Content-Type: multipart/mixed; boundary="===============1130644291958169608==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22123 - modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator. Date: Wed, 09 Mar 2011 12:11:15 -0500 Message-ID: <201103091711.p29HBFvD004853@svn01.web.mwc.hst.phx2.redhat.com> --===============1130644291958169608== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ppitonak(a)redhat.com Date: 2011-03-09 12:11:15 -0500 (Wed, 09 Mar 2011) New Revision: 22123 Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/test= s/metamer/validator/StringHawaiiValidator.java Log: added a validator for selects Added: modules/tests/metamer/trunk/application/src/main/java/org/richfaces/= tests/metamer/validator/StringHawaiiValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringHawaiiValidator.java (re= v 0) +++ modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tes= ts/metamer/validator/StringHawaiiValidator.java 2011-03-09 17:11:15 UTC (re= v 22123) @@ -0,0 +1,46 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, 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.tests.metamer.validator; + +import javax.faces.application.FacesMessage; +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.validator.FacesValidator; +import javax.faces.validator.Validator; +import javax.faces.validator.ValidatorException; + +/** + * Custom string validator that accepts only string "Hawaii". + * + * @author Pavol Pitonak + * @version $Revision$ + */ +(a)FacesValidator("org.richfaces.StringHawaiiValidator") +public class StringHawaiiValidator implements Validator { + + @Override + public void validate(FacesContext context, UIComponent component, Obje= ct value) throws ValidatorException { + if (value =3D=3D null || !value.toString().equals("Hawaii")) { + throw new ValidatorException(new FacesMessage(FacesMessage.SEV= ERITY_ERROR, "string is not \"Hawaii\"", "string is not \"Hawaii\"")); + } + } +} --===============1130644291958169608==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 12:48:46 2011 Content-Type: multipart/mixed; boundary="===============4193351055478976210==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22124 - in branches/4.0.X/ui/input/ui/src/main: templates and 1 other directory. Date: Wed, 09 Mar 2011 12:48:46 -0500 Message-ID: <201103091748.p29Hmk2o008293@svn01.web.mwc.hst.phx2.redhat.com> --===============4193351055478976210== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-09 12:48:46 -0500 (Wed, 09 Mar 2011) New Revision: 22124 Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstrac= tCalendar.java branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml Log: RF-10703: @styleClass of calendar is fixed. Reviewed by Pavel Yaschenko. Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/= AbstractCalendar.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctCalendar.java 2011-03-09 17:11:15 UTC (rev 22123) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctCalendar.java 2011-03-09 17:48:46 UTC (rev 22124) @@ -170,6 +170,9 @@ public abstract String getStyle(); = @Attribute + public abstract String getStyleClass(); + + @Attribute public abstract Object getMonthLabels(); = @Attribute Modified: branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.x= ml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml 201= 1-03-09 17:11:15 UTC (rev 22123) +++ branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml 201= 1-03-09 17:48:46 UTC (rev 22124) @@ -23,7 +23,7 @@ - + --===============4193351055478976210==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 13:17:53 2011 Content-Type: multipart/mixed; boundary="===============4861573261493793200==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22125 - in branches/4.0.X/ui/validator/ui/src/main: resources/META-INF/resources/org.richfaces and 1 other directories. Date: Wed, 09 Mar 2011 13:17:53 -0500 Message-ID: <201103091817.p29IHrJn017289@svn01.web.mwc.hst.phx2.redhat.com> --===============4861573261493793200== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2011-03-09 13:17:53 -0500 (Wed, 09 Mar 2011) New Revision: 22125 Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/renderkit/Mes= sageRendererBase.java branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/org= .richfaces/message.js branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/org= .richfaces/msg.ecss branches/4.0.X/ui/validator/ui/src/main/templates/messages.template.xml Log: https://issues.jboss.org/browse/RF-10720 Verified by Gleb Modified: branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/render= kit/MessageRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/renderkit/Me= ssageRendererBase.java 2011-03-09 17:48:46 UTC (rev 22124) +++ branches/4.0.X/ui/validator/ui/src/main/java/org/richfaces/renderkit/Me= ssageRendererBase.java 2011-03-09 18:17:53 UTC (rev 22125) @@ -60,9 +60,9 @@ public class MessageRendererBase extends Renderer { = private static final ImmutableMap SEVERI= TY_MAP =3D ImmutableMap.of( - FacesMessage.SEVERITY_INFO, attrs("info", "inf", null), FacesMessa= ge.SEVERITY_WARN, attrs("warn", "wrn", null), - FacesMessage.SEVERITY_ERROR, attrs("error", "err", null), FacesMes= sage.SEVERITY_FATAL, - attrs("fatal", "ftl", null)); + FacesMessage.SEVERITY_INFO, attrs("info", "inf"), FacesMessage.SEV= ERITY_WARN, attrs("warn", "wrn"), + FacesMessage.SEVERITY_ERROR, attrs("error", "err"), FacesMessage.S= EVERITY_FATAL, + attrs("fatal", "ftl")); = protected Iterator getMessages(FacesContext context,= String forClientId, UIComponent component) { = @@ -172,6 +172,7 @@ String detail =3D message.getDetail(); boolean showSummary =3D true; boolean showDetail =3D false; + boolean isMessages =3D false; if (component instanceof UIMessage) { UIMessage uiMessage =3D (UIMessage) component; showSummary =3D uiMessage.isShowSummary(); @@ -180,6 +181,7 @@ UIMessages uiMessages =3D (UIMessages) component; showSummary =3D uiMessages.isShowSummary(); showDetail =3D uiMessages.isShowDetail(); + isMessages =3D true; } ResponseWriter responseWriter =3D facesContext.getResponseWriter(); // Message id @@ -190,10 +192,10 @@ responseWriter.writeAttribute("title", summary,null); } if (!wroteTooltip && showSummary) { - writeMessageLabel(responseWriter, summary, "rf-msg-sum"); + writeMessageLabel(responseWriter, summary, isMessages ? "rf-m= sgs-sum" : "rf-msg-sum"); } if (showDetail) { - writeMessageLabel(responseWriter, detail, "rf-msg-det"); + writeMessageLabel(responseWriter, detail, isMessages ? "rf-msg= s-det" : "rf-msg-det"); } message.rendered(); } @@ -233,6 +235,9 @@ if(Boolean.TRUE.equals(attributes.get("tooltip"))){ parametersBuilder.put("tooltip", true); } + if (component instanceof UIMessages) { + parametersBuilder.put("isMessages", true); + } messageObject.addParameter(parametersBuilder.build()); // RendererUtils.getInstance().writeScript(facesContext, component= , messageObject); javaScriptService.addPageReadyScript(facesContext, messageObject); @@ -241,8 +246,12 @@ protected String getMsgClass(FacesContext facesContext, UIComponent co= mponent, Object msg) throws IOException { MessageForRender message =3D (MessageForRender) msg; SeverityAttributes severityAttributes =3D SEVERITY_MAP.get(message= .getSeverity()); + = + boolean isMessages =3D (component instanceof UIMessages); + = String styleClass =3D - buildSeverityAttribute(component, severityAttributes.skinClass= , severityAttributes.classAttribute, ' '); + buildSeverityAttribute(component, (isMessages ? severityAttrib= utes.messagesSkinClass : severityAttributes.messageSkinClass), = + severityAttributes.classAttribute, ' '); return styleClass; } = @@ -250,7 +259,7 @@ MessageForRender message =3D (MessageForRender) msg; SeverityAttributes severityAttributes =3D SEVERITY_MAP.get(message= .getSeverity()); String style =3D - buildSeverityAttribute(component, severityAttributes.skinStyle= , severityAttributes.styleAttribute, ';'); + buildSeverityAttribute(component, null, severityAttributes.sty= leAttribute, ';'); return style; } = @@ -269,29 +278,22 @@ return style.toString(); } = - static SeverityAttributes attrs(String attPrefix, String skinSuffix, S= tring skinStyle) { - SeverityAttributes attrs =3D - new SeverityAttributes(attPrefix + "Style", attPrefix + "Class= ", skinStyle, "rf-msg-" + skinSuffix, null, - null); + static SeverityAttributes attrs(String attPrefix, String skinSuffix) { + SeverityAttributes attrs =3D new SeverityAttributes(attPrefix, ski= nSuffix); return attrs; } = private static final class SeverityAttributes { private final String styleAttribute; private final String classAttribute; - private final String skinStyle; - private final String skinClass; - private final String labelStyleAttribute; - private final String labelClassAttribute; + private final String messageSkinClass; + private final String messagesSkinClass; = - private SeverityAttributes(String styleAttribute2, String classAtt= ribute2, String markerStyleAttribute2, - String markerClassAttribute2, String labelStyleAttribute2, Str= ing labelClassAttribute2) { - this.styleAttribute =3D styleAttribute2; - this.classAttribute =3D classAttribute2; - this.skinStyle =3D markerStyleAttribute2; - this.skinClass =3D markerClassAttribute2; - this.labelStyleAttribute =3D labelStyleAttribute2; - this.labelClassAttribute =3D labelClassAttribute2; + private SeverityAttributes(String attPrefix, String skinSuffix) { + this.styleAttribute =3D attPrefix + "Style"; + this.classAttribute =3D attPrefix + "Class"; + this.messageSkinClass =3D "rf-msg-" + skinSuffix; + this.messagesSkinClass =3D "rf-msgs-" + skinSuffix; } } } Modified: branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resour= ces/org.richfaces/message.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/message.js 2011-03-09 17:48:46 UTC (rev 22124) +++ branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/message.js 2011-03-09 18:17:53 UTC (rev 22125) @@ -13,12 +13,23 @@ var $super =3D rf.ui.Message.$super; = var defaultOptions =3D { - showSummary:true, - level:0 + showSummary:true, + level:0, + isMessages: false }; = - var severetyClasses=3D["rf-msg-inf","rf-msg-wrn","rf-msg-err","rf-msg-ftl= "]; + var messageSeverityClasses =3D ["rf-msg-inf", "rf-msg-wrn", "rf-msg-err",= "rf-msg-ftl"]; = + var messagesSeverityClasses =3D ["rf-msgs-inf", "rf-msgs-wrn", "rf-msgs-e= rr", "rf-msgs-ftl"]; + + var messageSummaryClass =3D "rf-msg-sum"; + = + var messagesSummaryClass =3D "rf-msgs-sum"; + = + var messageDetailClass =3D "rf-msg-dtl"; + + var messagesDetailClass =3D "rf-msgs-dtl"; + var onMessage =3D function (event, element, data) { var content =3D $(rf.getDomElement(this.id)); var sourceId =3D data.sourceId; @@ -38,13 +49,15 @@ = var renderMessage =3D function(index,message){ if(message && message.severity >=3D this.options.level){ + var isMessages =3D this.options.isMessages; + = var content =3D $(rf.getDomElement(this.id)); - var msgContent =3D ""; } else if(this.options.showSummary ){ - msgContent =3D msgContent + ">"+message.su= mmary+""; + msgContent =3D msgContent + ">"+message.summary+""; } else { msgContent =3D msgContent+">"; } @@ -52,7 +65,7 @@ msgContent =3D msgContent+">"; } if(this.options.showDetail && message.detail){ - msgContent =3D msgContent + ""+message.deta= il+""; + msgContent =3D msgContent + ""+message.detail+""; } msgContent =3D msgContent+"" content.append(msgContent); Modified: branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resour= ces/org.richfaces/msg.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/msg.ecss 2011-03-09 17:48:46 UTC (rev 22124) +++ branches/4.0.X/ui/validator/ui/src/main/resources/META-INF/resources/or= g.richfaces/msg.ecss 2011-03-09 18:17:53 UTC (rev 22125) @@ -1,11 +1,14 @@ /*--- RF Message styles ---*/ -.rf-msg { +.rf-msg, .rf-msgs { font-family:'#{richSkin.generalFamilyFont}';/*generalFamil= yFont*/ font-size:'#{richSkin.generalSizeFont}';/*generalSizeFont*/ height:18ex; } /* all messages */ -.rf-msg-err, .rf-msg-ftl, .rf-msg-inf, .rf-msg-wrn { +.rf-msg-err, .rf-msgs-err, = +.rf-msg-ftl, .rf-msgs-ftl, = +.rf-msg-inf, .rf-msgs-inf, +.rf-msg-wrn, .rf-msgs-wrn { display:inline-block; padding-right:2px; padding-left:20px; @@ -14,23 +17,23 @@ background-position:left center ; } = -.rf-msg-err { +.rf-msg-err, .rf-msgs-err { background-image: "url(#{resource['org.richfaces:error.png']})"; color:'#{richSkin.errorColor}'; } -.rf-msg-ftl { +.rf-msg-ftl, .rf-msgs-ftl { background-image: "url(#{resource['org.richfaces:fatal.png']})"; color:'#{richSkin.errorColor}'; } -.rf-msg-inf { +.rf-msg-inf, .rf-msgs-inf { background-image: "url(#{resource['org.richfaces:info.png']})"; color:'#{richSkin.generalTextColor}'; } -.rf-msg-wrn { +.rf-msg-wrn, .rf-msgs-wrn { background-image: "url(#{resource['org.richfaces:warning.png']})"; color:'#{richSkin.warningColor}'; } -.rf-msg-ok { +.rf-msg-ok, .rf-msgs-ok { background-image: "url(#{resource['org.richfaces:ok.png']})"; color:'#{richSkin.generalTextColor}'; width:20px; @@ -40,7 +43,8 @@ background-position:left center ; } = -.rf-msg-sum{ /*Summary*/ +.rf-msg-sum, .rf-msgs-sum { /*Summary*/ } -.rf-msg-det{ /*Description*/ + +.rf-msg-det, .rf-msgs-det { /*Description*/ } Modified: branches/4.0.X/ui/validator/ui/src/main/templates/messages.templa= te.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/validator/ui/src/main/templates/messages.template.xml= 2011-03-09 17:48:46 UTC (rev 22124) +++ branches/4.0.X/ui/validator/ui/src/main/templates/messages.template.xml= 2011-03-09 18:17:53 UTC (rev 22125) @@ -26,7 +26,7 @@ name=3D"message.reslib" /> - --===============4861573261493793200==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 13:20:12 2011 Content-Type: multipart/mixed; boundary="===============7237771904912755279==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22126 - branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit. Date: Wed, 09 Mar 2011 13:20:11 -0500 Message-ID: <201103091820.p29IKBMD017670@svn01.web.mwc.hst.phx2.redhat.com> --===============7237771904912755279== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: konstantin.mishin Date: 2011-03-09 13:20:11 -0500 (Wed, 09 Mar 2011) New Revision: 22126 Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Col= umnGroupRenderer.java branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Dat= aTableRenderer.java Log: RF-10685 Reviewer: Nick Belaevski Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/render= kit/ColumnGroupRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Co= lumnGroupRenderer.java 2011-03-09 18:17:53 UTC (rev 22125) +++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Co= lumnGroupRenderer.java 2011-03-09 18:20:11 UTC (rev 22126) @@ -59,7 +59,6 @@ columnNumber++; } = } - encodeRowEnd(writer); } = public RowHolderBase createRowHolder(FacesContext context, UIComponent= component, Object[] options) { Modified: branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/render= kit/DataTableRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Da= taTableRenderer.java 2011-03-09 18:17:53 UTC (rev 22125) +++ branches/4.0.X/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Da= taTableRenderer.java 2011-03-09 18:20:11 UTC (rev 22126) @@ -181,8 +181,26 @@ partialStart(facesContext, id); } = + if (!isSubtable && !parentTbodyStart && !tbodyStart) { + encodeTableBodyStart(writer, facesContext, dataTab= le); + rowHolder.setRowStart(true); + tbodyStart =3D true; + } + child.encodeAll(facesContext); = + if (!isSubtable) { + encodeRowEnd(writer); + if (!components.hasNext()) { + if (!parentTbodyStart && tbodyStart) { + encodeTableBodyEnd(writer); + tbodyStart =3D false; + } + } = + rowHolder.setRowStart(true); + rowHolder.resetProcessCell(); + } + = if (isSubtable && partialUpdate) { partialEnd(facesContext); } --===============7237771904912755279==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 23:42:08 2011 Content-Type: multipart/mixed; boundary="===============7137223619038934073==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22127 - modules/docs/trunk/Developer_Guide/src/main/docbook/en-US. Date: Wed, 09 Mar 2011 23:42:08 -0500 Message-ID: <201103100442.p2A4g8rt010176@svn01.web.mwc.hst.phx2.redhat.com> --===============7137223619038934073== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-09 23:42:08 -0500 (Wed, 09 Mar 2011) New Revision: 22127 Modified: modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/Developer_Guid= e.xml modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/appe-Developer= _Guide-Style_classes_and_skin_parameters.xml Log: Updated skinning appendix Modified: modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/Develop= er_Guide.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/Developer_Gui= de.xml 2011-03-09 18:20:11 UTC (rev 22126) +++ modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/Developer_Gui= de.xml 2011-03-10 04:42:08 UTC (rev 22127) @@ -12,7 +12,7 @@ = - + = Modified: modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/appe-De= veloper_Guide-Style_classes_and_skin_parameters.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/appe-Develope= r_Guide-Style_classes_and_skin_parameters.xml 2011-03-09 18:20:11 UTC (rev = 22126) +++ modules/docs/trunk/Developer_Guide/src/main/docbook/en-US/appe-Develope= r_Guide-Style_classes_and_skin_parameters.xml 2011-03-10 04:42:08 UTC (rev = 22127) @@ -7,22 +7,38 @@ Each of the RichFaces components are listed b= elow, along with their style classes and skin parameters. For further detai= ls on each component, refer to the relevant section in the RichF= aces Component Reference. -
- <sgmltag><rich:list></sgmltag> - +
+ <sgmltag><rich:calendar></sgmltag> + - +
- <sgmltag><rich:dataTable></sgmltag>, <sgmltag><rich:colu= mn></sgmltag>, <sgmltag><rich:columnGroup></sgmltag>, <sgmltag><= ;rich:dataGrid></sgmltag> + <sgmltag><rich:dataTable></sgmltag>
+
+ <sgmltag><rich:collapsibleSubTable></sgmltag> + + + + + +
+
+ <sgmltag><rich:collapsibleSubTableToggler></sgmltag> + + + + + +
<sgmltag><rich:extendedDataTable></sgmltag> @@ -31,13 +47,45 @@
-
- <sgmltag><rich:calendar></sgmltag> - +
+ <sgmltag><rich:dataGrid></sgmltag> + - +
+
+ <sgmltag><rich:list></sgmltag> + + + + + +
+
+ <sgmltag><rich:dataScroller></sgmltag> + + + + + +
+
+ <sgmltag><rich:tree></sgmltag> + + + + + +
+
+ <sgmltag><rich:treeNode></sgmltag> + + + + + +
= --===============7137223619038934073==-- From richfaces-svn-commits at lists.jboss.org Wed Mar 9 23:47:28 2011 Content-Type: multipart/mixed; boundary="===============8169659994662395502==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22128 - modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning. Date: Wed, 09 Mar 2011 23:47:28 -0500 Message-ID: <201103100447.p2A4lSwU010548@svn01.web.mwc.hst.phx2.redhat.com> --===============8169659994662395502== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: SeanRogers Date: 2011-03-09 23:47:28 -0500 (Wed, 09 Mar 2011) New Revision: 22128 Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/t= abl-richdataGrid.xml Log: Added missing tag Modified: modules/docs/trunk/Component_Reference/src/main/docbook/en-US/ski= nning/tabl-richdataGrid.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataGrid.xml 2011-03-10 04:42:08 UTC (rev 22127) +++ modules/docs/trunk/Component_Reference/src/main/docbook/en-US/skinning/= tabl-richdataGrid.xml 2011-03-10 04:47:28 UTC (rev 22128) @@ -87,6 +87,7 @@ + tableBorderWidth border-bottom-width, border-right-w= idth --===============8169659994662395502==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 10 04:36:12 2011 Content-Type: multipart/mixed; boundary="===============6444578593739415000==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22129 - modules/tests/metamer/trunk/ftest/src/test/resources. Date: Thu, 10 Mar 2011 04:36:12 -0500 Message-ID: <201103100936.p2A9aCGi004850@svn01.web.mwc.hst.phx2.redhat.com> --===============6444578593739415000== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: lfryc(a)redhat.com Date: 2011-03-10 04:36:12 -0500 (Thu, 10 Mar 2011) New Revision: 22129 Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml Log: testng-output.xml - needs to express richPanel/TestRichPanel as class inste= ad of whole package, because otherwise all richPanel** packages are expande= d incl. richPanelMenu** Modified: modules/tests/metamer/trunk/ftest/src/test/resources/testng-outpu= t.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-10 04:47:28 UTC (rev 22128) +++ modules/tests/metamer/trunk/ftest/src/test/resources/testng-output.xml = 2011-03-10 09:36:12 UTC (rev 22129) @@ -8,8 +8,11 @@ = + + + + = - --===============6444578593739415000==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 10 07:58:46 2011 Content-Type: multipart/mixed; boundary="===============2085619116945237108==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22130 - branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces. Date: Thu, 10 Mar 2011 07:58:46 -0500 Message-ID: <201103101258.p2ACwkVQ010819@svn01.web.mwc.hst.phx2.redhat.com> --===============2085619116945237108== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-10 07:58:46 -0500 (Thu, 10 Mar 2011) New Revision: 22130 Modified: branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.ri= chfaces/popupPanel.js Log: RF-10640: shadow of popupPanel is fixed. Verified by Anton Belevich. Modified: branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources= /org.richfaces/popupPanel.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.r= ichfaces/popupPanel.js 2011-03-10 09:36:12 UTC (rev 22129) +++ branches/4.0.X/ui/output/ui/src/main/resources/META-INF/resources/org.r= ichfaces/popupPanel.js 2011-03-10 12:58:46 UTC (rev 22130) @@ -311,7 +311,7 @@ options.height =3D this.maxHeight; } $(richfaces.getDomElement(eContentElt)).css('heigh= t', options.height + (/px/.test(options.height) ? '' : 'px')); - var headerHeight =3D $(richfaces.getDomElement(thi= s.markerId + "_header"))[0] ? $(richfaces.getDomElement(this.markerId + "_h= eader"))[0].clientHeight : 0; + var headerHeight =3D $(richfaces.getDomElement(thi= s.markerId + "_header")) ? $(richfaces.getDomElement(this.markerId + "_head= er")).innerHeight() : 0; this.scrollerDiv.css('height', options.height - he= aderHeight + (/px/.test(options.height) ? '' : 'px')); } = --===============2085619116945237108==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 10 08:59:48 2011 Content-Type: multipart/mixed; boundary="===============3063181416384349715==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22131 - in branches/4.0.X/ui/input/ui/src: main/resources/META-INF/resources/org.richfaces and 3 other directories. Date: Thu, 10 Mar 2011 08:59:48 -0500 Message-ID: <201103101359.p2ADxmf1022832@svn01.web.mwc.hst.phx2.redhat.com> --===============3063181416384349715== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pyaschenko Date: 2011-03-10 08:59:47 -0500 (Thu, 10 Mar 2011) New Revision: 22131 Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplace= InputRendererBase.java branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplace= SelectRendererBase.java branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ric= hfaces/inplaceInput.ecss branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ric= hfaces/inplaceInput.js branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ric= hfaces/inplaceSelect.ecss branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ric= hfaces/inplaceSelect.js branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml branches/4.0.X/ui/input/ui/src/main/templates/inplaceSelect.template.xml branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/Inplace= InputRendererTest.java branches/4.0.X/ui/input/ui/src/test/java/org/richfaces/renderkit/Inplace= SelectRendererTest.java branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeInputTestDefault.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeInputTestEdit.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeInputTestWithControls.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeSelectTestDefault.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeSelectTestEdit.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/in= placeSelectTestWithControls.xmlunit.xml Log: https://jira.jboss.org/browse/RF-10698 Reviewed by Nick Belaevski Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= InplaceInputRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eInputRendererBase.java 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eInputRendererBase.java 2011-03-10 13:59:47 UTC (rev 22131) @@ -130,7 +130,7 @@ break; = } } else { - style =3D getDisableStateCss(inplaceComponent); + style =3D concatClasses(style, getDisableStateCss(inplaceCompo= nent)); } return style; } @@ -142,27 +142,27 @@ = public String getReadyStateCss(InplaceComponent component) { String css =3D component.getReadyStateClass(); - return concatClasses("rf-ii-d-s", css); + return concatClasses("rf-ii", css); } = public String getEditStateCss(InplaceComponent component) { String css =3D component.getEditStateClass(); - return concatClasses("rf-ii-e-s", css); + return concatClasses("rf-ii-act", css); } = public String getChangedStateCss(InplaceComponent component) { String css =3D component.getChangedStateClass(); - return concatClasses("rf-ii-c-s", css); + return concatClasses("rf-ii-chng", css); } = public String getDisableStateCss(InplaceComponent component) { String css =3D component.getDisabledStateClass(); - return concatClasses("rf-ii-dis-s", css); + return concatClasses("rf-ii-dis", css); } = public String getEditCss(InplaceComponent component) { String css =3D component.getEditClass(); - return concatClasses("rf-ii-edit", css); + return concatClasses("rf-ii-fld-cntr", css); } = public String getNoneCss(InplaceComponent component) { Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= InplaceSelectRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eSelectRendererBase.java 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Inplac= eSelectRendererBase.java 2011-03-10 13:59:47 UTC (rev 22131) @@ -117,27 +117,27 @@ = public String getReadyStateCss(InplaceComponent component) { String css =3D component.getReadyStateClass(); - return concatClasses("rf-is-d-s", css); + return concatClasses("rf-is", css); } = public String getEditStateCss(InplaceComponent component) { String css =3D component.getEditStateClass(); - return concatClasses("rf-is-e-s", css); + return concatClasses("rf-is-act", css); } = public String getChangedStateCss(InplaceComponent component) { String css =3D component.getChangedStateClass(); - return concatClasses("rf-is-c-s", css); + return concatClasses("rf-is-chng", css); } = public String getDisableStateCss(InplaceComponent component) { String css =3D component.getDisabledStateClass(); - return concatClasses("rf-is-dis-s", css); + return concatClasses("rf-is-dis", css); } = public String getEditCss(InplaceComponent component) { String css =3D component.getEditClass(); - return concatClasses("rf-is-edit", css); + return concatClasses("rf-is-fld-cntr", css); } = public String getNoneCss(InplaceComponent component) { Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/= org.richfaces/inplaceInput.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceInput.ecss 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceInput.ecss 2011-03-10 13:59:47 UTC (rev 22131) @@ -15,7 +15,7 @@ font-size : '#{richSkin.generalSizeFont}'; } = -.rf-ii-edit { +.rf-ii-fld-cntr { position : absolute; = top : 0px; = left : 0px; = @@ -23,7 +23,7 @@ width: 100%; } = -.rf-ii-dis-s { +.rf-ii-dis { } = .rf-ii-lbl { @@ -33,7 +33,7 @@ font-size : '#{richSkin.generalSizeFont}'; } = -.rf-ii-d-s { = +.rf-ii { = display : inline-block; = white-space : nowrap; = background-color : '#{richSkin.editorBackgroundColor}'; = @@ -46,31 +46,16 @@ position : relative; } = = -.rf-ii-c-s { = +.rf-ii-chng { = display : inline-block; = background-image : url("#{resource['org.richfaces:mark_changed.gif']}"); = background-position : top left; = background-repeat : no-repeat; } = -.rf-ii-e-s { +.rf-ii-act { } = -.rf-ii-fld { - background-color : '#{richSkin.editBackgroundColor}'; = - border-bottom-width : 10px; - border-bottom-style: solid; - border-bottom-color: '#{richSkin.editBackgroundColor}'; = - padding : 0px 0px 0px 0px; = - border : 0px; = - margin : 0px; = - width : 100%; = - height : 100%; - color: '#{richSkin.generalTextColor}'; - font-family: '#{richSkin.generalFamilyFont}'; = - font-size : '#{richSkin.generalSizeFont}'; -} - .rf-ii-strut { width : 100px; = height : 1px; Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/= org.richfaces/inplaceInput.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceInput.js 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceInput.js 2011-03-10 13:59:47 UTC (rev 22131) @@ -30,9 +30,9 @@ saveOnBlur: true, showControl: true, noneCss: "rf-ii-none", - readyCss: "rf-ii-d-s", - editCss: "rf-ii-e-s", = - changedCss: "rf-ii-c-s" + readyCss: "rf-ii", + editCss: "rf-ii-act", = + changedCss: "rf-ii-chng" }; = $.extend(rf.ui.InplaceInput.prototype, ( function () { Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/= org.richfaces/inplaceSelect.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceSelect.ecss 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceSelect.ecss 2011-03-10 13:59:47 UTC (rev 22131) @@ -26,10 +26,10 @@ clip: rect(0px, 0px, 1px, 1px); } = -.rf-is-dis-s { +.rf-is-dis { } = -.rf-is-edit { +.rf-is-fld-cntr { position : absolute; = top : 0px; = left : 0px; = @@ -40,7 +40,7 @@ .rf-is-fnt { } = -.rf-is-d-s { +.rf-is { display : inline-block; = position : relative; = white-space : nowrap; = @@ -52,27 +52,16 @@ padding-right : 3px; } = -.rf-is-c-s { +.rf-is-chng { display : inline-block; background-image : "url(#{resource['org.richfaces:mark_changed.gif']})"; = background-position : top left; = background-repeat : no-repeat; } = -.rf-is-e-s { = +.rf-is-act { = } = -.rf-is-fld { = - background-color : '#{richSkin.editBackgroundColor}'; = - padding : 0px 0px 0px 0px; = - border : 0px; = - margin : 0px; = - width : 112px; = - background-image: "url(#{resource['org.richfaces:mark_list.gif']})"; = - background-position : center right; = - background-repeat : no-repeat; -} - .rf-is-btn { background-image : url("#{resource['org.richfaces.images:inplaceBtnGrad.p= ng']}"); background-position : top; = Modified: branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/= org.richfaces/inplaceSelect.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceSelect.js 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/resources/META-INF/resources/org.ri= chfaces/inplaceSelect.js 2011-03-10 13:59:47 UTC (rev 22131) @@ -35,8 +35,8 @@ selectItemCss: "rf-is-sel", listCss: "rf-is-lst-cord", noneCss: "rf-is-none", - editCss: "rf-is-edit", - changedCss: "rf-is-c-s" + editCss: "rf-is-fld-cntr", + changedCss: "rf-is-chng" }; = $.extend(rf.ui.InplaceSelect.prototype, (function () { Modified: branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.templa= te.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml= 2011-03-10 12:58:46 UTC (rev 22130) +++ branches/4.0.X/ui/input/ui/src/main/templates/inplaceInput.template.xml= 2011-03-10 13:59:47 UTC (rev 22131) @@ -85,10 +85,10 @@ - \ No newline at end of file Modified: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/rende= rkit/inplaceSelectTest.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/i= nplaceSelectTest.xhtml 2011-03-12 12:58:29 UTC (rev 22178) +++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/i= nplaceSelectTest.xhtml 2011-03-12 13:12:25 UTC (rev 22179) @@ -24,12 +24,6 @@ - - - - - - Deleted: branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/render= kit/inplaceSelectTestEdit.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/i= nplaceSelectTestEdit.xmlunit.xml 2011-03-12 12:58:29 UTC (rev 22178) +++ branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/renderkit/i= nplaceSelectTestEdit.xmlunit.xml 2011-03-12 13:12:25 UTC (rev 22179) @@ -1,46 +0,0 @@ - - Edit Text - - - - - - - - - - - - - - -
-
-
-
-
- - - - - - - - - - - Label= #1 - Label= #2 - Label= #3 - Label= #4 - - - - - - -
- -
--===============3508772661571680607==-- From richfaces-svn-commits at lists.jboss.org Sat Mar 12 08:12:51 2011 Content-Type: multipart/mixed; boundary="===============5233985407003878817==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22180 - branches/4.0.X/dist. Date: Sat, 12 Mar 2011 08:12:51 -0500 Message-ID: <201103121312.p2CDCpcR011165@svn01.web.mwc.hst.phx2.redhat.com> --===============5233985407003878817== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ilya_shaikovsky Date: 2011-03-12 08:12:51 -0500 (Sat, 12 Mar 2011) New Revision: 22180 Modified: branches/4.0.X/dist/readme-examples.txt branches/4.0.X/dist/readme-ui.txt Log: https://issues.jboss.org/browse/RF-10742 https://issues.jboss.org/browse/RF-10741 Modified: branches/4.0.X/dist/readme-examples.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/dist/readme-examples.txt 2011-03-12 13:12:25 UTC (rev 22= 179) +++ branches/4.0.X/dist/readme-examples.txt 2011-03-12 13:12:51 UTC (rev 22= 180) @@ -2,7 +2,7 @@ = RichFaces - Ajax enabled JSF 2.0 component library = - RichFaces 4.0.CR1 EXAMPLES + RichFaces 4.0.Final EXAMPLES http://richfaces.org March 2011 This software is distributed under the terms of the = Modified: branches/4.0.X/dist/readme-ui.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/dist/readme-ui.txt 2011-03-12 13:12:25 UTC (rev 22179) +++ branches/4.0.X/dist/readme-ui.txt 2011-03-12 13:12:51 UTC (rev 22180) @@ -2,7 +2,7 @@ = RichFaces - Ajax enabled JSF 2.0 component library = - RichFaces 4.0.CR1 + RichFaces 4.0.Final http://www.jboss.org/richfaces March 2011 This software is distributed under the terms of the = @@ -293,6 +293,29 @@ rich:graphValidator = = +New in Version 4.0.Final +---------------------- + - Found more Taglib's problems during QE and made corresponding correc= tions for better IDE support = + https://issues.jboss.org/browse/RF-9936 + - Thorough review for all the component attributes done and correction= s for not working ones were made. = + - Bugfixing for CSV and Object Validation features. = + - Refactoring Listeners classes, methods and Event names according to = standard JSF convention. + https://issues.jboss.org/browse/RF-10712 + - Review and update predefined rf-* CSS classes for components to sati= sfy naming convention = + https://issues.jboss.org/browse/RF-9290 + - TreeNode and TreeDataModel models support for rich:tree added. + https://issues.jboss.org/browse/RF-9718 + - jQuery updated to 1.5.1. https://issues.jboss.org/browse/RF-10686 + - richfaces-showcase design corrections at most. = + Most important application change - reviewed current state for diffe= rent JSF environments support and = + finalized pom.xml profiles for: = + richfaces-showcase (Mojara 2.0.3 - GAE build, Mojara 2.0.4 defau= lt build) = + richfaces-archetype-simpleapp (Mojara 2.0.4 default build) + rf-gae-sample archetype (MyFaces 2.0.4 both GAE and default buil= ds) + - Completed Push component demo - irc-sample. + + + New in Version 4.0.CR1 ---------------------- = --===============5233985407003878817==-- From richfaces-svn-commits at lists.jboss.org Sat Mar 12 08:17:18 2011 Content-Type: multipart/mixed; boundary="===============1377419971993399781==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22181 - branches/4.0.X/examples/irc-client. Date: Sat, 12 Mar 2011 08:17:17 -0500 Message-ID: <201103121317.p2CDHHWH011538@svn01.web.mwc.hst.phx2.redhat.com> --===============1377419971993399781== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ilya_shaikovsky Date: 2011-03-12 08:17:17 -0500 (Sat, 12 Mar 2011) New Revision: 22181 Modified: branches/4.0.X/examples/irc-client/readme.txt Log: updated irc-client readme.txt with build instructions. Modified: branches/4.0.X/examples/irc-client/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/irc-client/readme.txt 2011-03-12 13:12:51 UTC (= rev 22180) +++ branches/4.0.X/examples/irc-client/readme.txt 2011-03-12 13:17:17 UTC (= rev 22181) @@ -1,3 +1,41 @@ +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + RichFaces - Ajax enabled JSF 2.0 component library + + RichFaces 4.0.Final irc-client sample + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + IRC Client Application is a sample which shows RichFaces Push in action. = Targetted to JBoss AS 6 + * Run mvn install + + * Place war file into "JBoss AS 6/server/default/deploy" folder + + * Run JBoss AS + +JMS Configuration should be done prior to running application. = + + * Start Admin console going to http://localhost:8080/admin-console + + * Setup new Messages Topic with the folowing properties: + Name: chat + JNDI name: /topic/chat + All the others: by default. + + * Add roles for that topic + Name: guest + Send: yes + Consume: yes + create subscriber: yes + delete subscriber: yes + create durable subscriber: yes + delete durable subscriber: yes + +Running application + * Enjoy playing with the client at http://localhost:8080/irc-samples = --===============1377419971993399781==-- From richfaces-svn-commits at lists.jboss.org Sat Mar 12 09:03:45 2011 Content-Type: multipart/mixed; boundary="===============6097608978260268577==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22182 - in branches/4.0.X/ui/input/ui/src: main/java/org/richfaces/renderkit and 2 other directories. Date: Sat, 12 Mar 2011 09:03:45 -0500 Message-ID: <201103121403.p2CE3jSs022385@svn01.web.mwc.hst.phx2.redhat.com> --===============6097608978260268577== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: pyaschenko Date: 2011-03-12 09:03:44 -0500 (Sat, 12 Mar 2011) New Revision: 22182 Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstrac= tCalendar.java branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Calenda= rRendererBase.java branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/component/ca= lendarContent.xmlunit.xml branches/4.0.X/ui/input/ui/src/test/resources/org/richfaces/component/ca= lendarTest.xhtml Log: https://jira.jboss.org/browse/RF-9655 Reviewed by Gleb Galkin Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/= AbstractCalendar.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctCalendar.java 2011-03-12 13:17:17 UTC (rev 22181) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/component/Abstra= ctCalendar.java 2011-03-12 14:03:44 UTC (rev 22182) @@ -171,8 +171,14 @@ = @Attribute public abstract String getStyleClass(); + = + @Attribute + public abstract String getPopupStyle(); = @Attribute + public abstract String getPopupClass(); + + @Attribute public abstract Object getMonthLabels(); = @Attribute Modified: branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/= CalendarRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Calend= arRendererBase.java 2011-03-12 13:17:17 UTC (rev 22181) +++ branches/4.0.X/ui/input/ui/src/main/java/org/richfaces/renderkit/Calend= arRendererBase.java 2011-03-12 14:03:44 UTC (rev 22182) @@ -516,14 +516,14 @@ return true; } = - public String getStyleWithZindex(FacesContext facesContext, UIComponen= t component) { + public String getPopupStyle(FacesContext facesContext, UIComponent com= ponent) { AbstractCalendar calendar =3D (AbstractCalendar) component; int zindex =3D calendar.getZindex(); if (zindex < 0) { zindex =3D 3; } = - return HtmlUtil.concatStyles("z-index: " + zindex, calendar.getSty= le()); + return HtmlUtil.concatStyles("z-index: " + zindex, calendar.getPop= upStyle()); } = public Locale getAsLocale(FacesContext facesContext, UIComponent compo= nent) { Modified: branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.x= ml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml 201= 1-03-12 13:17:17 UTC (rev 22181) +++ branches/4.0.X/ui/input/ui/src/main/templates/calendar.template.xml 201= 1-03-12 14:03:44 UTC (rev 22182) @@ -23,7 +23,7 @@ - + @@ -70,7 +70,7 @@ + + + +
= - - #{country.name} #{country.iso} #{country.domain} - - -

- - - - - - - - - - - - -

- Your selection: - -
-  text block text block text block text block text block t= ext - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block text block text block text block text - block text block text block -
-
- -
- - - RF-9567:

- - = - = - - - +
+ function customFilterFunction(subString, value) { + if (subString.length > 1) + if (value.indexOf(subString) !=3D -1) return true; + } + = - - - - - -#{country.name} - - -#{country.iso} - - + + #{country.name} #{country.iso} #{country.domain} + + +

+ + + + + + + + + + + + +

+ Your selection: + +
+  text block text block text block text block text b= lock text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block text block text block text block text + block text block text block +
+
+ +
- - - - - - - - - #{country.name} #{country.iso} #{country.domain} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + RF-9567:

+ + + + + + + + +
+ + + + #{country.name} + + + #{country.iso} + + + + + + + + + + + + #{country.name} #{country.iso} #{country.domain} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - = + Added: trunk/examples/input-demo/src/main/webapp/examples/autocompleteConve= rter.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/input-demo/src/main/webapp/examples/autocompleteConverte= r.xhtml (rev 0) +++ trunk/examples/input-demo/src/main/webapp/examples/autocompleteConverte= r.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,37 @@ + + + + + + Richfaces Autocomplete + + + + + + + Autocomplete Converter Example + Autocomplete Converter Example + + + + Autocomplete = with converter: + + #{country.name} + + + + + + + + Modified: trunk/examples/input-demo/src/main/webapp/examples/inplaceInput.x= html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml 2= 011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/input-demo/src/main/webapp/examples/inplaceInput.xhtml 2= 011-03-27 13:51:09 UTC (rev 22318) @@ -1,22 +1,30 @@ - + - + xmlns:h=3D"http://java.sun.com/jsf/html" + xmlns:f=3D"http://java.sun.com/jsf/core" + xmlns:ui=3D"http://java.sun.com/jsf/facelets" + xmlns:in=3D"http://richfaces.org/input"> + = - InplaceInput + InplaceInput = - - - - - - - + + + + + + + Modified: trunk/examples/input-demo/src/main/webapp/examples/inplaceSelect.= xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml = 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/input-demo/src/main/webapp/examples/inplaceSelect.xhtml = 2011-03-27 13:51:09 UTC (rev 22318) @@ -19,7 +19,14 @@
InplaceSelect Test App Fresh off his victory in the Florida primary, Sen. John McCain is pois= ed to take another big prize. Former - + @@ -41,6 +48,7 @@
  • +
= = Modified: trunk/examples/input-demo/src/main/webapp/examples/select.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/input-demo/src/main/webapp/examples/select.xhtml 2011-03= -25 18:58:21 UTC (rev 22317) +++ trunk/examples/input-demo/src/main/webapp/examples/select.xhtml 2011-03= -27 13:51:09 UTC (rev 22318) @@ -1,4 +1,5 @@ - + Select + = = @@ -18,7 +24,8 @@
Select Test App + value=3D"#{inputBean.value}" style=3D"font-size= : 2em;" styleClass=3D"my-select-class" + title=3D"Title"> @@ -41,18 +48,16 @@
= -
    -
  • - -
  • -
  • - -
  • - - -
+
    +
  • + +
  • +
  • + +
  • +
Modified: trunk/examples/irc-client/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/irc-client/readme.txt 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/irc-client/readme.txt 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,3 +1,41 @@ +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + RichFaces - Ajax enabled JSF 2.0 component library + + RichFaces 4.0.Final irc-client sample + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + IRC Client Application is a sample which shows RichFaces Push in action. = Targetted to JBoss AS 6 + * Run mvn install + + * Place war file into "JBoss AS 6/server/default/deploy" folder + + * Run JBoss AS + +JMS Configuration should be done prior to running application. = + + * Start Admin console going to http://localhost:8080/admin-console + + * Setup new JMS Topic with the folowing properties: + Name: chat + JNDI name: /topic/chat + All the others: by default. + + * Add role to that topic + Name: guest + Send: yes + Consume: yes + create subscriber: yes + delete subscriber: yes + create durable subscriber: yes + delete durable subscriber: yes + +Running application + * Enjoy playing with the client at http://localhost:8080/irc-client = Modified: trunk/examples/irc-client/src/main/java/org/ircclient/controller/= ChatBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/irc-client/src/main/java/org/ircclient/controller/ChatBe= an.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/irc-client/src/main/java/org/ircclient/controller/ChatBe= an.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -2,7 +2,7 @@ = import java.io.IOException; import java.io.Serializable; -import java.text.MessageFormat; +import java.text.DateFormat; import java.util.Date; = import javax.faces.application.FacesMessage; @@ -35,9 +35,10 @@ = private String channelName; private String message; + private transient TopicsContext topicsContext; = - public void connect() { + public String connect() { try { this.connect(SERVER_URL, SERVER_PORT); this.joinChannel(CHANNEL_PREFIX + DEFAULT_CHANNEL); @@ -47,22 +48,27 @@ null, new FacesMessage(FacesMessage.SEVERITY_ERROR, this.getName= () + " nick already in use", this.getName() + " nick already in use")); + return null; } catch (IOException e) { FacesContext.getCurrentInstance().addMessage( null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Sorry, serv= er unresponsible. Try again later.", "Sorry, server unresponsible. Try again later.")); + return null; } catch (IrcException e) { FacesContext.getCurrentInstance().addMessage( null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Sorry, we encountered IRC services problems. Try agai= n later.", "Sorry, we encountered IRC services problems. Try agai= n later.")); + return null; } + return "chat"; } = - public void leave() { + public String leave() { this.disconnect(); + return "welcome"; } = private TopicsContext getTopicsContext() { @@ -72,12 +78,19 @@ return topicsContext; } = + public String getMessagesSubtopic() { + return this.getUserName() + SUBTOPIC_SEPARATOR + channelName; + } + + public String getListSubtopic() { + return this.getUserName() + SUBTOPIC_SEPARATOR + channelName + "Li= st"; + } + @Override protected void onMessage(String channel, String sender, String login, = String hostname, String message) { - String channelName =3D channel.replace(CHANNEL_PREFIX, ""); try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}: {2}", new Date(= ), sender, message)); + Message messageObject =3D new Message(message, sender, DateFor= mat.getInstance().format(new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -86,7 +99,7 @@ @Override protected void onUserList(String channel, User[] users) { try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName + "List"), null); + getTopicsContext().publish(new TopicKey("chat", getListSubtopi= c()), null); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -95,9 +108,9 @@ @Override protected void onJoin(String channel, String sender, String login, Str= ing hostname) { try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName + "List"), null); - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}: {2}", new Date(= ), sender, "joined channel")); + getTopicsContext().publish(new TopicKey("chat", getListSubtopi= c()), null); + Message messageObject =3D new Message("joined channel", sender= , DateFormat.getInstance().format(new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -106,9 +119,9 @@ @Override protected void onPart(String channel, String sender, String login, Str= ing hostname) { try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName + "List"), null); - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}: {2}", new Date(= ), sender, "left channel")); + getTopicsContext().publish(new TopicKey("chat", getListSubtopi= c()), null); + Message messageObject =3D new Message("left channel", sender, = DateFormat.getInstance().format(new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -117,9 +130,10 @@ @Override protected void onNickChange(String oldNick, String login, String hostn= ame, String newNick) { try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName + "List"), null); - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}", new Date(), ol= dNick + " changed nick to " + newNick)); + getTopicsContext().publish(new TopicKey("chat", getListSubtopi= c()), null); + Message messageObject =3D new Message(" changed nick to " + ne= wNick, oldNick, DateFormat.getInstance() + .format(new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -128,9 +142,10 @@ @Override protected void onQuit(String sourceNick, String sourceLogin, String so= urceHostname, String reason) { try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName + "List"), null); - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}: {2} {3}", new D= ate(), sourceNick, "joined channel", reason)); + getTopicsContext().publish(new TopicKey("chat", getListSubtopi= c()), null); + Message messageObject =3D new Message("left channel" + reason,= sourceNick, DateFormat.getInstance().format( + new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -143,8 +158,8 @@ public void send() { this.sendMessage(CHANNEL_PREFIX + channelName, message); try { - getTopicsContext().publish(new TopicKey("chat", this.getUserNa= me() + SUBTOPIC_SEPARATOR + channelName), - MessageFormat.format("{0,time,medium} {1}: {2}", new Date(= ), this.getName(), message)); + Message messageObject =3D new Message(message, this.getName(),= DateFormat.getInstance().format(new Date())); + getTopicsContext().publish(new TopicKey("chat", getMessagesSub= topic()), messageObject); } catch (MessageException e) { LOGGER.error(e.getMessage(), e); } @@ -185,4 +200,5 @@ public void setMessage(String message) { this.message =3D message; } + } Added: trunk/examples/irc-client/src/main/java/org/ircclient/controller/Mes= sage.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/irc-client/src/main/java/org/ircclient/controller/Messag= e.java (rev 0) +++ trunk/examples/irc-client/src/main/java/org/ircclient/controller/Messag= e.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,40 @@ +package org.ircclient.controller; + +public class Message { + + private String text; + private String author; + private String timestamp; + + public Message(String text, String author, String timestamp) { + super(); + this.text =3D text; + this.author =3D author; + this.timestamp =3D timestamp; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text =3D text; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author =3D author; + } + + public String getTimestamp() { + return timestamp; + } + + public void setTimestamp(String timestamp) { + this.timestamp =3D timestamp; + } + +} Added: trunk/examples/irc-client/src/main/webapp/chat.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/irc-client/src/main/webapp/chat.xhtml = (rev 0) +++ trunk/examples/irc-client/src/main/webapp/chat.xhtml 2011-03-27 13:51:0= 9 UTC (rev 22318) @@ -0,0 +1,67 @@ + + + + + + + + + + #{user.nick} + + +
+
+ + + + + + + + +
+ + + + + + + +
+
+
\ No newline at end of file Modified: trunk/examples/irc-client/src/main/webapp/welcome.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/irc-client/src/main/webapp/welcome.xhtml 2011-03-25 18:5= 8:21 UTC (rev 22317) +++ trunk/examples/irc-client/src/main/webapp/welcome.xhtml 2011-03-27 13:5= 1:09 UTC (rev 22318) @@ -8,27 +8,9 @@ xmlns:c=3D"http://java.sun.com/jsp/jstl/core" template=3D"/templates/template.xhtml"> - - + - - - + @@ -37,44 +19,8 @@ = = - + - - - - - #{user.nick} - - -
-
- - - - - - - - -
- - - - - - - -
\ No newline at end of file Added: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Selec= tionChangeActionListenerImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Selectio= nChangeActionListenerImpl.java (rev 0) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Selectio= nChangeActionListenerImpl.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,17 @@ +package org.richfaces.demo; + +import org.richfaces.event.TreeSelectionChangeEvent; +import org.richfaces.event.TreeSelectionChangeListener; + +import javax.faces.event.AbortProcessingException; + +/** + * User: Gleb Galkin + * Date: 23.02.11 + */ +public class SelectionChangeActionListenerImpl implements TreeSelectionCha= ngeListener { + + public void processTreeSelectionChange(TreeSelectionChangeEvent event)= throws AbortProcessingException { + System.out.println("Inside Selection Change Action"); + } +} Added: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Toggl= eActionListenerImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/ToggleAc= tionListenerImpl.java (rev 0) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/ToggleAc= tionListenerImpl.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,14 @@ +package org.richfaces.demo; + +import org.richfaces.event.TreeToggleEvent; + +/** + * User: Gleb Galkin + * Date: 23.02.11 + */ +public class ToggleActionListenerImpl { + + public void processToggleAction(TreeToggleEvent event) { + System.out.println("Inside Toggle Action: " + (event.isCollapsed()= ? "collapsed tree" : "expanded tree")); + } +} Modified: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Tr= eeBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean= .java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean= .java 2011-03-27 13:51:09 UTC (rev 22318) @@ -21,6 +21,7 @@ */ package org.richfaces.demo; = + import java.io.Serializable; import java.text.DateFormat; import java.util.ArrayList; @@ -33,6 +34,8 @@ import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; +import javax.faces.convert.Converter; +import javax.faces.convert.IntegerConverter; import javax.faces.event.AbortProcessingException; import javax.faces.event.AjaxBehaviorEvent; import javax.faces.event.FacesEvent; @@ -41,12 +44,18 @@ import org.richfaces.component.AbstractTree; import org.richfaces.component.AbstractTreeNode; import org.richfaces.component.SwitchType; +import org.richfaces.convert.SequenceRowKeyConverter; +import org.richfaces.demo.model.tree.DataHolderTreeNodeImpl; import org.richfaces.event.TreeSelectionChangeEvent; import org.richfaces.event.TreeSelectionChangeListener; import org.richfaces.event.TreeToggleEvent; import org.richfaces.event.TreeToggleListener; import org.richfaces.log.LogFactory; import org.richfaces.log.Logger; +import org.richfaces.model.SwingTreeNodeDataModelImpl; +import org.richfaces.model.SwingTreeNodeImpl; +import org.richfaces.model.TreeDataModel; +import org.richfaces.model.TreeNodeImpl; = /** * @author Nick Belaevski @@ -68,7 +77,7 @@ this.fromExpression =3D fromExpression; } = - public void processSelectionChange(TreeSelectionChangeEvent event)= throws AbortProcessingException { + public void processTreeSelectionChange(TreeSelectionChangeEvent ev= ent) throws AbortProcessingException { FacesContext facesContext =3D FacesContext.getCurrentInstance(= ); = facesContext.addMessage(getTree(event).getClientId(facesContex= t), createEventMessage(event, fromExpression)); @@ -88,7 +97,7 @@ this.fromExpression =3D fromExpression; } = - public void processToggle(TreeToggleEvent event) throws AbortProce= ssingException { + public void processTreeToggle(TreeToggleEvent event) throws AbortP= rocessingException { FacesContext facesContext =3D FacesContext.getCurrentInstance(= ); facesContext.addMessage(getTree(event).getClientId(facesContex= t), createEventMessage(event, fromExpression)); } @@ -99,10 +108,14 @@ = private static final Logger LOGGER =3D LogFactory.getLogger(TreeBean.c= lass); = + private static final Converter INTEGER_SEQUENCE_KEY_CONVERTER =3D new = SequenceRowKeyConverter(Integer.class, new IntegerConverter()); + = private List rootNodes; = private List lazyRootNodes; = + private TreeDataModel treeDataModel; + = private SwitchType toggleType =3D SwitchType.DEFAULT; = private SwitchType selectionType =3D SwitchType.client; @@ -114,7 +127,12 @@ private String toggleNodeEvent =3D ""; = private String executeTestText; - = + + private ToggleActionListenerImpl toggleActionListenerImpl =3D new Togg= leActionListenerImpl(); + private SelectionChangeActionListenerImpl selectionChangeActionListene= r; + + private org.richfaces.model.TreeNode classicTreeNode; + private static Object staticGetNodeData() { FacesContext facesContext =3D FacesContext.getCurrentInstance(); return facesContext.getApplication().evaluateExpressionGet(facesCo= ntext, "#{node}", Object.class); @@ -143,6 +161,28 @@ return result; } = + private org.richfaces.model.TreeNode createClassicNode(TreeNode node) { + TreeNodeImpl result =3D new DataHolderTreeNodeImpl(node.isLeaf(), = ((SwingTreeNodeImpl) node).getData()); + + for (int i =3D 0; i < node.getChildCount(); i++) { + result.addChild(i, createClassicNode(node.getChildAt(i))); + } + = + return result; + } + = + private org.richfaces.model.TreeNode createRootClassicNode(List nodes) { + TreeNodeImpl rootNode =3D new TreeNodeImpl(); + + int key =3D 0; + = + for (TreeNode node : nodes) { + rootNode.addChild(key++, createClassicNode(node)); + } + = + return rootNode; + } + = @PostConstruct public void init() { try { @@ -150,6 +190,9 @@ parser.parse(TreeBean.class.getResource("plants.xml")); rootNodes =3D parser.getRootNodes(); lazyRootNodes =3D createLazyNodes(rootNodes); + classicTreeNode =3D createRootClassicNode(rootNodes); + treeDataModel =3D new SwingTreeNodeDataModelImpl(); + treeDataModel.setWrappedData(rootNodes); } catch (Exception e) { LOGGER.error(e.getMessage(), e); } @@ -163,6 +206,10 @@ return lazyRootNodes; } = + public org.richfaces.model.TreeNode getClassicTreeNode() { + return classicTreeNode; + } + = public SwitchType[] getTypes() { return SwitchType.values(); } @@ -219,11 +266,11 @@ } = public void processSelectionChange(TreeSelectionChangeEvent event) { - new SelectionChangeHandler(true).processSelectionChange(event); + new SelectionChangeHandler(true).processTreeSelectionChange(event); } = public void processToggle(TreeToggleEvent event) { - new ToggleHandler(true).processToggle(event); + new ToggleHandler(true).processTreeToggle(event); } = public String getToggleNodeEvent() { @@ -245,4 +292,29 @@ public String getCurrentTimeAsString() { return DateFormat.getTimeInstance().format(new Date()); } + + public ToggleActionListenerImpl getToggleActionListenerImpl() { + return toggleActionListenerImpl; + } + + public void setToggleActionListenerImpl(ToggleActionListenerImpl toggl= eActionListenerImpl) { + this.toggleActionListenerImpl =3D toggleActionListenerImpl; + } + + public SelectionChangeActionListenerImpl getSelectionChangeActionListe= ner() { + return selectionChangeActionListener; + } + + public void setSelectionChangeActionListener(SelectionChangeActionList= enerImpl selectionChangeActionListener) { + this.selectionChangeActionListener =3D selectionChangeActionListen= er; + } + = + public Converter getIntegerSequenceKeyConveter() { + return INTEGER_SEQUENCE_KEY_CONVERTER; + } + = + public TreeDataModel getTreeDataModel() { + return treeDataModel; + } + } Modified: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/mo= del/Employee.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/model/Em= ployee.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/model/Em= ployee.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -4,7 +4,7 @@ import java.util.List; import java.util.Random; = -import org.richfaces.event.ToggleEvent; +import org.richfaces.event.CollapsibleSubTableToggleEvent; = public class Employee { = @@ -100,7 +100,7 @@ return hash; } = - public void toggle(ToggleEvent event) { + public void toggle(CollapsibleSubTableToggleEvent event) { this.expand =3D event.isExpanded(); } = Added: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/model= /tree/DataHolderTreeNodeImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tr= ee/DataHolderTreeNodeImpl.java (rev 0) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/model/tr= ee/DataHolderTreeNodeImpl.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,47 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2011, 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.demo.model.tree; + +import org.richfaces.model.TreeNodeImpl; + +/** + * @author Nick Belaevski + * = + */ +public class DataHolderTreeNodeImpl extends TreeNodeImpl { + + private Object data; + + public DataHolderTreeNodeImpl(boolean leaf, Object data) { + super(leaf); + this.data =3D data; + } + = + public Object getData() { + return data; + } + = + @Override + public String toString() { + return super.toString() + " >> " + data; + } +} Modified: trunk/examples/iteration-demo/src/main/webapp/dataTable.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/webapp/dataTable.xhtml 2011-03-2= 5 18:58:21 UTC (rev 22317) +++ trunk/examples/iteration-demo/src/main/webapp/dataTable.xhtml 2011-03-2= 7 13:51:09 UTC (rev 22318) @@ -18,7 +18,8 @@ = + rows=3D"20" sortMode=3D"single" rowClass=3D'#{record= }' + cellClass=3D"cellClQwerty" firstRowClass=3D"firstRow= Class123"> @@ -60,7 +61,7 @@ = + expanded=3D"true" rowClass=3D"#{compan= y}"> Modified: trunk/examples/iteration-demo/src/main/webapp/tree.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/webapp/tree.xhtml 2011-03-25 18:= 58:21 UTC (rev 22317) +++ trunk/examples/iteration-demo/src/main/webapp/tree.xhtml 2011-03-27 13:= 51:09 UTC (rev 22318) @@ -107,10 +107,14 @@ = Base tree: - - - + + + + + + Root node: #{node.data} - = = @@ -131,6 +135,30 @@ = + org.richfaces.model.TreeNode support: + + + #{node.data} - = + + = + + + + = + org.richfaces.model.TreeDataModel support: + + + #{node.data} - = + + = + + + + Tree with customized look: - - - - - - - - - + Modified: trunk/examples/output-demo/src/main/java/org/richfaces/SkinBean.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/output-demo/src/main/java/org/richfaces/SkinBean.java 20= 11-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/output-demo/src/main/java/org/richfaces/SkinBean.java 20= 11-03-27 13:51:09 UTC (rev 22318) @@ -22,10 +22,11 @@ new SelectItem("NULL"), new SelectItem("plain"), new SelectItem("ruby"), - new SelectItem("wine") + new SelectItem("wine"), + new SelectItem("myskin") }; = - private String skin =3D "classic"; + private String skin =3D "myskin"; = private boolean enableElementsSkinning =3D true; = Added: trunk/examples/output-demo/src/main/resources/myskin.skin.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/output-demo/src/main/resources/myskin.skin.properties = (rev 0) +++ trunk/examples/output-demo/src/main/resources/myskin.skin.properties 20= 11-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,3 @@ +baseSkin=3DblueSky +generalSizeFont=3D16 +headerWeightFont=3Dnormal \ No newline at end of file Modified: trunk/examples/output-demo/src/main/webapp/examples/dropDownMenu.= xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/output-demo/src/main/webapp/examples/dropDownMenu.xhtml = 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/output-demo/src/main/webapp/examples/dropDownMenu.xhtml = 2011-03-27 13:51:09 UTC (rev 22318) @@ -130,7 +130,7 @@ - + @@ -155,9 +155,13 @@
- = + + + + + = - = +

=
@@ -246,6 +250,14 @@

+ + + + + + + + ` Modified: trunk/examples/richfaces-showcase/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/pom.xml 2011-03-25 18:58:21 UTC (rev = 22317) +++ trunk/examples/richfaces-showcase/pom.xml 2011-03-27 13:51:09 UTC (rev = 22318) @@ -18,7 +18,7 @@ Richfaces Examples: Richfaces Showcase Application = - 1.4.0 + 1.4.2 = @@ -171,6 +171,16 @@ 2.9.1 runtime + + com.sun.faces + jsf-api + 2.0.3-b03 + + + com.sun.faces + jsf-impl + 2.0.3-b03 + @@ -190,6 +200,7 @@ src/main/webapp WEB-INF/web.xml + WEB-INF/faces-config.xml @@ -431,8 +442,8 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /examples/richfaces-showcase - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/examples/richfaces-showcase - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/examples/richfaces-showcase + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/examples/richfaces-showcase + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/exam= ples/richfaces-showcase Modified: trunk/examples/richfaces-showcase/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/readme.txt 2011-03-25 18:58:21 UTC (r= ev 22317) +++ trunk/examples/richfaces-showcase/readme.txt 2011-03-27 13:51:09 UTC (r= ev 22318) @@ -1,170 +1,170 @@ -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - - RichFaces - Ajax enabled JSF 2.0 component library - - RichFaces 4.0.CR1 SHOWCASE - http://richfaces.org - March 2011 - This software is distributed under the terms of the = - FSF Lesser Gnu Public License (see lgpl.txt) - -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -RichFaces showcase is an application created to show RichFaces components -in action. It contains a set of small use-cases implemented using RichFaces -components. = - -The examples shown in the application were chosen from the most popular -questions at the user forum. You will find a lot of useful information on = -how to implement RichFaces components and re-use the code to implement the = -components in your own application. - -This file explains how to build and execute the showcase application on -your own server. - - -BUILDING AND RUNNING THE APPLICATION ------------------------------------- - - 1. Requirements - = - In order to build the Showcase application you will need: - - - Maven 2.1.0 or later - - Servers: Apache Tomcat 6.0 or any JEE6 application server = - (e.g. JBoss AS 6) - - JDK 1.6 - - Also optional Additional Software would make it easy for you to work = - with the sources of the application: - = - - Eclipse IDE + JBoss Tools (to explore and run the application = - in IDE). You're obviously free to use any other IDE you wish, but - JBoss Tools is recommended. = - - 2. Build/Deploy - - - Deploying on Tomcat - - To build the project for Tomcat you need to navigate to the = - /examples/richfaces-showcase and run: - = - mvn clean package - = - When you see the BUILD SUCCESSFUL message you can deploy the = - application on the server. To deploy it on Tomcat, copy the .war = - file from 'target' folder to TOMCAT_HOME/webapps folder. Then, = - launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ = - directory to start the server. - - - Deploying on JEE6 server (JBoss AS 6) - = - To build the project for a JEE6 server you need to navigate to the = - /examples/richfaces-showcase and run - - mvn clean package -Pjee6 - - When you see the BUILD SUCCESSFUL message you can deploy the = - application on the server. To deploy it on the application server = - copy the .war file from 'target' folder to the JBOSS_HOME/server/default= /deploy = - folder (or change "default/" to used profile folder). Then, launch = - the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start = - the server. - - -After deploying the examples to your server open a browser and type = -http://localhost:8080/richfaces-showcase to view the examples. - - - Publishing to Google Application Engine (GAE) - = - We have completed a resource plugin which generates static resources = - allowing us to create Google App Engine compatible applications = - using RichFaces. This means deploying to and working with GAE is = - a piece of cake. Here is how you can deploy your own RichFaces showcase = - example: - - * Update the GAE application name, and register it with google. = - Do this by updating the /webapp-gae/WEB-INF/appengine-web.xml = - following the GAE standard documentation. - - * if using MyFaces: Configure the MyFaces encryption secret values = - in the /webapp-gae/WEB-INF/web.xml. Replace the "-- Insert some se= cret here --" = - with a base64 encoded password. This is important because = - otherwise MyFaces will generate random keys, and this causes = - issues in a cluster environment like GAE. - = - For more information on JSF encryption check: - MyFaces - http://wiki.apache.org/myfaces/Secure_Your_Applicatio - Mojarra - http://wikis.sun.com/display/GlassFish/JavaServerFacesRI#Ja= vaServerFacesRI-HowcanIsecureviewstatewhenusingclientsidestatesaving%3F - = - * Build using: mvn clean package -Pgae - - * Use GAE SDK and the appcfg script just as you would for any= other = - GAE application. - - There are some additional changes that were made in order to make = - richfaces-showcase GAE compatible: - = - * WebConfiguration class from com.sun.faces were patched removing = - code which is not compatible with GAE - - * web.xml with additional properties for GAE created and placed = - at src\main\webapp-gae\WEB-INF\ (it replaces common one during = - build with GAE profile) - - * check pom.xml GAE profile section in order to check additional = - dependencies for that configuration - - -SETTING UP ECLIPSE TO WORK WITH THE SHOWCASE --------------------------------------------- - -In order to explore, run and deploy the Showcase using Eclipse IDE you can= use = -one of the following options: - - - You could use JBoss Tools with m2eclipse plugin and just import = - the examples as maven-based projects. - * Open Eclipse and go to File > Import - * Expand the project type named Maven and select Import Maven = - Project - * Browse the directory in which you placed the examples, select = - it and press OK. - * Press next on the import wizard to finish importing the = - examples. - - - Or if you are not using m2eclipse execute use Maven to convert the = - project to an Eclipse project: - * Open a terminal inside the RichFaces examples directory - * execute mvn eclipse:ecllipse - * Open Eclipse and select File > Import - * Select Import as existing project into workspace after build = - is complete. - * Follow the instructions on the import wizard. - -You are now able to work with the Showcase within Eclipse. - - -MORE INFORMATION AND RESOURCES ------------------------------- - -For more information on RichFaces 4, please visit RichFaces = -website at: - - - http://www.jboss.org/richfaces. - -Or check the Wiki for more information on build instructions for the examp= les at: - - - http://community.jboss.org/wiki/HowtoworkwithRichFaces4xexamplessour= ces - -To report or check the status of issues related to RichFaces Examples = -use the project's Jira at: - = - - https://issues.jboss.org/browse/RF - -Community support and help can be obtained from the RichFaces forums at: - - - http://community.jboss.org/en/richfaces?view=3Ddiscussions - - - -### +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + + RichFaces - Ajax enabled JSF 2.0 component library + + RichFaces 4.0.0.Final SHOWCASE + http://richfaces.org + March 2011 + This software is distributed under the terms of the = + FSF Lesser Gnu Public License (see lgpl.txt) + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +RichFaces showcase is an application created to show RichFaces components +in action. It contains a set of small use-cases implemented using RichFaces +components. = + +The examples shown in the application were chosen from the most popular +questions at the user forum. You will find a lot of useful information on = +how to implement RichFaces components and re-use the code to implement the = +components in your own application. + +This file explains how to build and execute the showcase application on +your own server. + + +BUILDING AND RUNNING THE APPLICATION +------------------------------------ + + 1. Requirements + = + In order to build the Showcase application you will need: + + - Maven 2.1.0 or later + - Servers: Apache Tomcat 6.0 or any JEE6 application server = + (e.g. JBoss AS 6) + - JDK 1.6 + + Also optional Additional Software would make it easy for you to work = + with the sources of the application: + = + - Eclipse IDE + JBoss Tools (to explore and run the application = + in IDE). You're obviously free to use any other IDE you wish, but + JBoss Tools is recommended. = + + 2. Build/Deploy + + - Deploying on Tomcat + + To build the project for Tomcat you need to navigate to the = + /examples/richfaces-showcase and run: + = + mvn clean package + = + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on Tomcat, copy the .war = + file from 'target' folder to TOMCAT_HOME/webapps folder. Then, = + launch the startup.sh or startup.bat script from TOMCAT_HOME/bin/ = + directory to start the server. + + - Deploying on JEE6 server (JBoss AS 6) + = + To build the project for a JEE6 server you need to navigate to the = + /examples/richfaces-showcase and run + + mvn clean package -Pjee6 + + When you see the BUILD SUCCESSFUL message you can deploy the = + application on the server. To deploy it on the application server = + copy the .war file from 'target' folder to the JBOSS_HOME/server/default= /deploy = + folder (or change "default/" to used profile folder). Then, launch = + the run.sh or run.bat script from JBOSS_HOME/bin/ directory to start = + the server. + + +After deploying the examples to your server open a browser and type = +http://localhost:8080/richfaces-showcase to view the examples. + + - Publishing to Google Application Engine (GAE) + = + We have completed a resource plugin which generates static resources = + allowing us to create Google App Engine compatible applications = + using RichFaces. This means deploying to and working with GAE is = + a piece of cake. Here is how you can deploy your own RichFaces showcase = + example: + + * Update the GAE application name, and register it with google. = + Do this by updating the /webapp-gae/WEB-INF/appengine-web.xml = + following the GAE standard documentation. + + * if using MyFaces: Configure the MyFaces encryption secret values = + in the /webapp-gae/WEB-INF/web.xml. Replace the "-- Insert some se= cret here --" = + with a base64 encoded password. This is important because = + otherwise MyFaces will generate random keys, and this causes = + issues in a cluster environment like GAE. + = + For more information on JSF encryption check: + MyFaces - http://wiki.apache.org/myfaces/Secure_Your_Applicatio + Mojarra - http://wikis.sun.com/display/GlassFish/JavaServerFacesRI#Ja= vaServerFacesRI-HowcanIsecureviewstatewhenusingclientsidestatesaving%3F + = + * Build using: mvn clean package -Pgae + + * Use GAE SDK and the appcfg script just as you would for any= other = + GAE application. + + There are some additional changes that were made in order to make = + richfaces-showcase GAE compatible: + = + * WebConfiguration class from com.sun.faces were patched removing = + code which is not compatible with GAE + + * web.xml with additional properties for GAE created and placed = + at src\main\webapp-gae\WEB-INF\ (it replaces common one during = + build with GAE profile) + + * check pom.xml GAE profile section in order to check additional = + dependencies for that configuration + + +SETTING UP ECLIPSE TO WORK WITH THE SHOWCASE +-------------------------------------------- + +In order to explore, run and deploy the Showcase using Eclipse IDE you can= use = +one of the following options: + + - You could use JBoss Tools with m2eclipse plugin and just import = + the examples as maven-based projects. + * Open Eclipse and go to File > Import + * Expand the project type named Maven and select Import Maven = + Project + * Browse the directory in which you placed the examples, select = + it and press OK. + * Press next on the import wizard to finish importing the = + examples. + + - Or if you are not using m2eclipse execute use Maven to convert the = + project to an Eclipse project: + * Open a terminal inside the RichFaces examples directory + * execute mvn eclipse:ecllipse + * Open Eclipse and select File > Import + * Select Import as existing project into workspace after build = + is complete. + * Follow the instructions on the import wizard. + +You are now able to work with the Showcase within Eclipse. + + +MORE INFORMATION AND RESOURCES +------------------------------ + +For more information on RichFaces 4, please visit RichFaces = +website at: + + - http://richfaces.org + +Or check the Wiki for more information on build instructions for the examp= les at: + + - http://community.jboss.org/wiki/HowtoworkwithRichFaces4xexamplessour= ces + +To report or check the status of issues related to RichFaces Examples = +use the project's Jira at: + = + - https://issues.jboss.org/browse/RF + +Community support and help can be obtained from the RichFaces forums at: + + - http://community.jboss.org/en/richfaces?view=3Ddiscussions + + + +### Modified: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/dem= o/common/navigation/DemoDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/comm= on/navigation/DemoDescriptor.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/comm= on/navigation/DemoDescriptor.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -10,9 +10,22 @@ private static final long serialVersionUID =3D 6822187362271025752L; = private static final String BASE_SAMPLES_DIR =3D "/richfaces/"; - = + private List samples; = + private boolean containsNewSamples() { + for (SampleDescriptor sample : samples) { + if (sample.isNewItem()){ + return true; + } + } + return false; + } + + public boolean isNewItems() { + return (isNewItem() || containsNewSamples()); + } + public SampleDescriptor getSampleById(String id) { for (SampleDescriptor sample : getSamples()) { if (sample.getId().equals(id)) { Modified: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/dem= o/common/navigation/GroupDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/comm= on/navigation/GroupDescriptor.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/comm= on/navigation/GroupDescriptor.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -11,6 +11,19 @@ = private List demos; = + private boolean containsNewDemos() { + for (DemoDescriptor demo : demos) { + if (demo.isNewItems()) { + return true; + } + } + return false; + } + + public boolean isNewItems() { + return isNewItem() || containsNewDemos(); + } + @XmlElementWrapper(name =3D "demos") @XmlElement(name =3D "demo") public List getDemos() { Added: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/t= ogglepanel/Profile.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/togg= lepanel/Profile.java (rev 0) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/togg= lepanel/Profile.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,47 @@ +package org.richfaces.demo.togglepanel; + +import java.io.Serializable; + +import javax.faces.bean.ManagedBean; +import javax.faces.bean.ViewScoped; + +(a)ManagedBean +(a)ViewScoped +public class Profile implements Serializable{ + private String firstName; + private String lastName; + private String company; + private String notes; + + public String getCompany() { + return company; + } + + public void setCompany(String company) { + this.company =3D company; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName =3D firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName =3D lastName; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes =3D notes; + } +} Deleted: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo= /validation/DayStatistics.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/DayStatistics.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/DayStatistics.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,59 +0,0 @@ -/** - * = - */ -package org.richfaces.demo.validation; - -import java.util.ArrayList; -import java.util.List; - -import javax.faces.application.FacesMessage; -import javax.faces.bean.ManagedBean; -import javax.faces.bean.RequestScoped; -import javax.faces.context.FacesContext; -import javax.faces.event.ActionEvent; -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotNull; - -/** - * @author Ilya Shaikovsky - * = - */ -(a)ManagedBean -(a)RequestScoped -public class DayStatistics { - - private List dayPasstimes =3D new ArrayList(); - - public DayStatistics() { - dayPasstimes.add(new PassTime("Sport", 0)); - dayPasstimes.add(new PassTime("Entertainment", 0)); - dayPasstimes.add(new PassTime("Sleeping", 0)); - dayPasstimes.add(new PassTime("Games", 0)); - } - - public List getDayPasstimes() { - return dayPasstimes; - } - - public void setDayPasstimes(List dayPasstimes) { - this.dayPasstimes =3D dayPasstimes; - } - - @NotNull - @Min(value =3D 1, message =3D "Please fill at list one entry") - @Max(value =3D 24, message =3D "Only 24h in a day!") - public Integer getTotalTime() { - Integer result =3D new Integer(0); - for (PassTime passtime : dayPasstimes) { - result +=3D passtime.getTime(); - } - return result; - } - - public void store(ActionEvent event) { - FacesContext.getCurrentInstance().addMessage( - event.getComponent().getClientId(FacesContext.getCurrentInstan= ce()), - new FacesMessage(FacesMessage.SEVERITY_INFO, "Changes Stored S= uccessfully", "Changes Stored Successfully")); - } -} Deleted: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo= /validation/PassTime.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/PassTime.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/PassTime.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,41 +0,0 @@ -package org.richfaces.demo.validation; - -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotNull; - -import org.hibernate.validator.constraints.Length; -import org.hibernate.validator.constraints.NotEmpty; - -public class PassTime { - - @NotEmpty - @Length(max =3D 15, min =3D 3) - private String title; - @NotNull - @Min(0) - @Max(12) - private Integer time; - - public PassTime(String title, Integer time) { - setTitle(title); - setTime(time); - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title =3D title; - } - - public Integer getTime() { - return time; - } - - public void setTime(Integer time) { - this.time =3D time; - } - -} Added: trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/v= alidation/PasswordValidationBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/PasswordValidationBean.java (rev 0) +++ trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/vali= dation/PasswordValidationBean.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,49 @@ +package org.richfaces.demo.validation; + +import java.io.Serializable; + +import javax.faces.application.FacesMessage; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.faces.context.FacesContext; +import javax.validation.constraints.AssertTrue; +import javax.validation.constraints.Size; + +(a)ManagedBean +(a)SessionScoped +public class PasswordValidationBean implements Cloneable, Serializable{ + /** + * = + */ + private static final long serialVersionUID =3D 1952428504080910113L; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for password") + private String password=3D""; + @Size(min =3D 5, max =3D 15, message =3D "Wrong size for confirmation") + private String confirm=3D""; + + @AssertTrue(message =3D "Different passwords entered!") + public boolean isPasswordsEquals() { + return password.equals(confirm); + } + + public void storeNewPassword() { + FacesContext.getCurrentInstance().addMessage(null, + new FacesMessage(FacesMessage.SEVERITY_INFO, "Succesfully chan= ged!", "Succesfully changed!")); + } + + public void setPassword(String password) { + this.password =3D password; + } + + public void setConfirm(String confirm) { + this.confirm =3D confirm; + } + + public String getPassword() { + return password; + } + + public String getConfirm() { + return confirm; + } = +} Modified: trunk/examples/richfaces-showcase/src/main/resources/org/richface= s/demo/data/common/navigation.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo= /data/common/navigation.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/resources/org/richfaces/demo= /data/common/navigation.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -172,10 +172,10 @@ - + Validation - + clientValidation Client Side Validation @@ -189,17 +189,17 @@ - + graphValidator rich:graphValidator - - graphValidator - Object validation using rich:graphValidator + + passwordValidation + Password Validation - + message rich:message @@ -209,7 +209,7 @@ - + messages rich:messages @@ -377,6 +377,10 @@ simple Simple Toggle Panel + + wizard + Wizard creation + = @@ -464,7 +468,7 @@ Menus - + panelMenu rich:panelMenu @@ -474,9 +478,9 @@ - + toolBar - rich:toolBar + rich:toolbar toolBar @@ -488,7 +492,7 @@ - + dropDownMenu rich:dropDownMenu @@ -521,19 +525,19 @@ - + = calendar rich:calendar - + calendar Simple Calendar - + clientStylingDisablement Client Side Styling/Disablement - + dataModel Data Model Support @@ -589,7 +593,7 @@ - + fileUpload rich:fileUpload @@ -605,7 +609,7 @@ Drag and Drop - dragDrop + dragDrop = Drag and Drop Added: trunk/examples/richfaces-showcase/src/main/webapp/favicon.ico =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/examples/richfaces-showcase/src/main/webapp/favi= con.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/examples/richfaces-showcase/src/main/webapp/resources/css/a= pplication.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/resources/css/applica= tion.css 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/resources/css/applica= tion.css 2011-03-27 13:51:09 UTC (rev 22318) @@ -146,8 +146,8 @@ padding:15px 20px 10px; } = -.source .syntaxhighlighter .line{ - white-space: normal !important; +.source, div.rf-log { + width: 650px; } = a.show, a.hide{ @@ -247,3 +247,7 @@ .navigation .rf-tab-lbl{ font:normal 12px "Lucida Sans Unicode", "Lucida Grande", Geneva,Verdana,A= rial,sans-serif; } + +textarea[disabled], input[type=3D"text"][disabled], input[type=3D"password= "][disabled], select[disabled] { + -webkit-text-fill-color: #B6AD84; +} Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/accor= dion/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/accordion/s= imple.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/accordion/s= imple.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,14 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

The Accordion (panelBar from 3.3.x) is a set of panels w= hen one panel is expanded, = - but other ones are collapsed.

-

- Main addition to previous 3.3.x functionality - accordion in 4.x = was finally added with - different switching switchType's. So as all the switchable panels= it could be used with next modes - - "client", "ajax" and "server". -

-

The following demo shows the simple example of usage for the Accordion= in client mode:

+

The rich:accordion component is a set of panels where one panel= is expanded, = + while the other ones are collapsed. This is similar to, and inherits muc= h of + the features from the rich:togglePanel, and rich:tabPanel. See the descr= iptions + of these components for details on switch-types, and shortcuts.

+

The following example shows the usage of the rich:accordion in client = mode:

Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/= ajax.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/ajax.x= html 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/ajax.x= html 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,8 +6,9 @@ xmlns:a4j=3D"http://richfaces.org/a4j"> = -

The behavior that adds javascript call for sending Ajax request - to specified event on parent component

+

a4j:ajax is one of our core behaviors, extending the base JSF = 2.0 = + f:ajax tag. This tag triggers an Ajax request when the specified parent + event is triggered.

Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/= selectsUpdates.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/select= sUpdates.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/ajax/select= sUpdates.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,9 +6,10 @@ xmlns:a4j=3D"http://richfaces.org/a4j"> = -

Typical use-case of dependent select components. When you - choosing the type in the first select - corresponding items appears in - second one.

+

This is a slightly more complex use-case for arj:ajax involving = + dependent select components. When you choose a value from the first selec= t = + component, the second select component is rendered with dynamic content = + based on you first choice.

Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/attac= hQueue/attachQueue.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/attachQueue= /attachQueue.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/attachQueue= /attachQueue.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -3,14 +3,16 @@ xmlns:f=3D"http://java.sun.com/jsf/core" xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j"> -

In RichFaces 4 all request settings related to queue was moved - out of components attributes and now customization available using new - a4j:attachQueue tag. Next sample shows how requestDelay - could be changed for single component.

-

Note that when you typing in input - status appears with two - seconds delay because default queue contains requestDelay=3D"2000". - And when you clicking save button - it appears immediately because req= uestDelay - changed to 0 for the button.

+

The a4j:attachQueue component allow you to funnel requests = + from specific components or behaviors through a 'named' queue (see queue = + example), but also allows you to override queue settings right from the = + component.

+

This sample shows how requestDelay + can be changed for single component.

+

Note that when you are typing in the input - the status appears with a= two + seconds delay because the default queue contains requestDelay=3D"2000"= . + However when you are clicking the save button - it appears immediately = + because requestDelay changed to 0 for the button.

Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autoc= omplete/cachedAjax.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/cachedAjax.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/cachedAjax.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,26 +1,32 @@ - + + xmlns:h=3D"http://java.sun.com/jsf/html" + xmlns:f=3D"http://java.sun.com/jsf/core" + xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

Autocomplete component - simple Input component which provides suggest= ions during input.

-

Could works using three modes: -

    -
  • Client - preloads data to the client side and makes suggestions acc= ording to entered prefix on the client
  • -
  • Ajax - fetches the data on every input change using ajax requests -
  • Cached Ajax - loads data via ajax to make suggestions when the pref= ix length satisfies minchars attribute. Then all the suggestions done at cl= ient side except the case when initial prefix changed or token entered. The= n loads data again.
  • -
= -

-

Here is the sample for new cachedAjax mode.

- - - - - - - +

The rich:autocomplete component looks like a simple input co= mponent, + but has advanced options and features to provide suggestions to th= e user during input.

+ +

There are three different modes for how it fetches suggestio= ns:

+
    +
  • + Client - preloads data to the client and makes suggesti= ons according to the entered prefix on the client +
  • +
  • Ajax - fetches the data on every input change using Aja= x requests
  • +
  • Cached Ajax - loads data via Ajax to make suggestions w= hen the prefix length satisfies + minChars attribute value. Then all the suggestions are = handled at the client until the initial prefix is changed. At that point it= will reload with the new prefix. +
  • +
+

1) Autocomplete American state names using the cached Ajax m= ode with minChars=3D"2".

+ + + + + + +
= \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autoc= omplete/clientFilter.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/clientFilter.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/clientFilter.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,17 +5,18 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

Except the server-side "autocomplete" method which could - be used to collect suggestion strings according to entered prefix, ric= h:autocomplete - allows to define similar method for filtering at client side. It should - be defined using clientFilterFunction attribute which accepts - custom filter function name. Function should accepts two parameters su= bString(current - input value considering tokens) and value(currently iterated - item value) and return boolean flag which means if the value satisfies +

When a suggestion request is sent to the server via an Ajax call you + have full control over the suggestion list. Once that data is on the = + client the default filter is startsWith. This + can be changed to any custom JavaScript filter you wish. This example + shows you how to define and call a custom filter for contains i= nstead + of startsWith.

+

The clientFilterFunction attribute accepts + a custom JavaScript function name. This function should have two paramete= rs; = + subString(current input value considering tokens) and value + (currently iterated item value) and return boolean flag which means if th= e value satisfies the substring passed. The function will be called for every available - suggestion in order to construct new list of suggestions.

-

This sample shows how to change the client filtering to "contains"<= /b> - instead of "startsWith"

+ suggestion in order to construct a new list of suggestions.

Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autoc= omplete/samples/cachedAjax-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/samples/cachedAjax-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/autocomplet= e/samples/cachedAjax-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,31 +5,25 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> -

Default autocomplete in cachedAjax mode

- -

Autocomplete without direct suggestions to input(autoFill=3D"false"= ). - Also in the sample comma and space are input tokens, so separate - autocompletion requests will be fired for different parts in input

+

2) Allows multiple selections using tokens ', and ' '. This me= ans + you will be able to separate different values with a space or comma + and get a new suggestion for a second value. The autoFill + attribute is set to false so you will notice values are not automatically= added.

- -

In that sample selectFirst set to false so pressing enter - will not choose the value from list but just submit currently entered +

3) With the selectFirst attribute set to false pressing = enter + will not choose the value from list automatically, but just submit curren= tly entered value.

-
NOTE: The developer has - full control under filtering on server side according to prefix. But in - client and cachedAjax modes - just built-in startWith method used. In - near future the component will be updated with one more attribute which - will allow the developer to define client side comparator function to - customize that behavior.
Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calen= dar/calendar.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/ca= lendar.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/ca= lendar.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,11 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

rich:calendar allows to select the date using monthly calendar = - elements on pages. It is possible to use the component in a popup or = - inline mode. At a popup mode Calendar is initially rendered as input = for = - date and button on the right side to call a popup. In case of an inline = - mode, the monthly calendar is located on a page initially.

+

The rich:calendar component allows you to select a date using a = + monthly calendar widget. It is possible to use the component in a popu= p or = + inline mode. In popup mode the calendar is initially rendered as an = input for = + date with a button on the right side to trigger the popup. For inline = + mode, the monthly calendar is rendered on the page initially.

= Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calen= dar/clientStylingDisablement.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/cl= ientStylingDisablement.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/cl= ientStylingDisablement.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,8 +5,8 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

This simple example shows the way of client side dates - disablement and styling without dataModel usage.

+

This example shows how to define days that are disabled. In this exam= ple = + we are using client side scripts to define the dates.

= Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calen= dar/dataModel.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/da= taModel.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/da= taModel.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,18 +5,16 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

Calendar may use a special Data Model to provide data for - element rendering. You can re-define the default Calendar Model using - the dataModel attribute pointed to the object that implements +

The calendar may also use a special data model to provide data for + element rendering. You can re-define the default calendar model using + the dataModel attribute and point to an object that implements the CalendarDataModel interface.

-

In next simple example next rules applied using model:

+

In this example we are using a custom data model to implement the foll= owing = + rules:

    -
  • Weekend days are disabled (sunday and saturday) and uses bold - and italic text style.
  • -
  • Thuesday and Thursday are disabled also. (just RichFaces team - meeting days) So grayed out as busy days.
  • -
  • All the values in the past disabed and styled as boundary - dates.
  • +
  • Weekend days are disabled and use bold and italic text style.
  • +
  • Tuesdays and Thursdays are disabled, and grayed out to represent bus= y days.
  • +
  • All the values in the past are disabled and styled as boundary dates= .
@@ -39,20 +37,17 @@ -

Calendar may use a special Data Model to provide data for - element rendering. You can re-define the default Calendar Model using - the dataModel attribute pointed to the object that implements - CalendarDataModel interface.

-

CalendarDataModel has the following methods:

+

There are two primary interfaces that make up the calendar data model.=

+

CalendarDataModel:

  • CalendarDataModelItem[] getData(Date[]) is called every time when components need the next block of CalendarDataItems. That may - happens when the calendar is rendered, or when you navigate to the + happen when the calendar is rendered, or when you navigate to the next/previous month or in any other case when the calendar is - rendered. This method is called in an Ajax mode when the calendar - renders a new page.
  • + rendered. This method is called in Ajax mode when the calendar + renders for a new page.
-

CalendarDataModelItem provides the following methods:

+

CalendarDataModelItem:

  • Boolean isEnabled() returns "true" if date is "selectable" on the calendar, the default implementation returns "true"
  • Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clien= tValidation/jsfValidators.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clientValid= ation/jsfValidators.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clientValid= ation/jsfValidators.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,18 +5,19 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    RichFaces Client Validation feature allows you to add - client side validation without writing any line of JavaScript!

    -

    All the JSF validators and JSR-303 standard validators will be - available on client side after just <rich:validator/> to - the inputs which you want to be validated at client side. If you using - any custom validators or some additional for example hibernate - validators which we not implemented in first version - Ajax fallback - mechanism will be used. It means that behavior will try to execute all - client vlidators available and then send Ajax request for unknown to - get results from server side.

    -

    In that sample - pay attention that no requests fired when - typing wrong values in first the fields.

    +

    The RichFaces Client Validation feature allows you to have true + client side validation without writing a single line of JavaScript!

    +

    The standard JSF validators and JSR-303 (bean validation) constraints = will = + be available on the client side just by adding <rich:validator/>= to + the desired inputs. If you are using any custom validators or extensions + such as from hibernate an Ajax fallback mechanism will be used triggered.= = + This will be basically seamless to the user, as an Ajax request will hand= le + that specific validation. In future versions we plan to implement additi= onal = + extensions such as these including custom client side validation. = + The behavior will try to execute all client validators available and then = + send an Ajax request to get results from server side if needed.

    +

    In this example we are using standard JSF validators and notice that n= o = + requests are fired when typing values in these fields.

    @@ -27,17 +28,13 @@
    Notes:
      -
    • Some JSR-303 validators still not implemented. Them will start work = transparently for you after new snapshots with implementations added
    • -
    • We will provide information about how to provide client validation f= or custom validators soon!
    • +
    • Some JSR-303 validators are not yet implemented for various reasons + (localization primarily). As we complete these implementations they = + will work transparently after upgrading, plus Ajax fallbacks will work f= ine + for these, so there is no reason not to start using them now!
    • +
    • In future versions custom client side validators will be possible, a= nd we'll + update our examples to showcase them.
    -
    - What to expect additionally: - After we will complete all standard validators migration and instructions= for custom ones we plan to work on next features: -
      -
    • Client Validation for submit components to perform bulk form validat= ion.
    • -
    • Ways of default validation definitions without usage of <rich:= validator/> tag for every input.
    • -
    -
    \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clien= tValidation/jsr303.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clientValid= ation/jsr303.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/clientValid= ation/jsr303.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,19 +5,20 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    RichFaces Client Validation feature allows you to add - client side validation without writing any line of JavaScript!

    -

    All the JSF validators and JSR-303 standard validators will be - available on client side after just <rich:validator/> to - the inputs which you want to be validated at client side. If you using - any custom validators or some additional for example hibernate - validators which we not implemented in first version - Ajax fallback - mechanism will be used. It means that behavior will try to execute all - client vlidators available and then send Ajax request for unknown to - get results from server side.

    -

    In that sample - pay attention that no requests fired when - typing wrong values in all the fields and only checkbox activation - causes Ajax fallback.

    +

    The RichFaces Client Validation feature allows you to have true + client side validation without writing a single line of JavaScript!

    +

    The standard JSF validators and JSR-303 (bean validation) constraints = will = + be available on the client side just by adding <rich:validator/&= gt; to + the desired inputs. If you are using any custom validators or extensio= ns + such as from hibernate an Ajax fallback mechanism will be used trigger= ed. = + This will be basically seamless to the user, as an Ajax request will h= andle + that specific validation. In future versions we plan to implement add= itional = + extensions such as these including custom client side validation. = + The behavior will try to execute all client validators available and t= hen = + send an Ajax request to get results from server side if needed.

    +

    In this example we are using Bean Validation constraints and checking + them at the client, so no requests are fired when typing values + in the fields.

    @@ -31,24 +32,16 @@ = -
    Notes: -
      -
    • Some JSR-303 validators still not implemented. Them will - start work transparently for you after new snapshots with - implementations added
    • -
    • We will provide information about how to provide client - validation for custom validators soon!
    • -
    -
    -
    What to expect - additionally: After we will complete all standard validators= migration - and instructions for custom ones we plan to work on next features: -
      -
    • Client Validation for submit components to perform bulk form - validation.
    • -
    • Ways of default validation definitions without usage of <rich:= validator/> - tag for every input.
    • -
    -
    +
    + Notes: +
      +
    • Some JSR-303 validators are not yet implemented for various re= asons + (localization primarily). As we complete these implementations th= ey = + will work transparently after upgrading, plus Ajax fallbacks will = work fine + for these, so there is no reason not to start using them now!
    • +
    • In future versions custom client side validators will be possi= ble, and we'll + update our examples to showcase them.
    • +
    +
    \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/colla= psiblePanel/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsible= Panel/simple.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/collapsible= Panel/simple.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,12 +5,13 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    collapsiblePanel representation is fully analogous to simple - rich:panel component. Additionally that component could be toggled - between two representations. In collapsed state only header shown and - in expanded state there is complete panel.

    -

    As most of switchable components it has three switch types for - switching between states - ajax, server and client +

    The rich:collapsiblePanel component is fully analogous to a sim= ple + rich:panel component. Except that it can be collapsed, and expande= d. + In the collapsed state only the header is shown and in expanded state the = + complete panel.

    +

    As with most of switchable components it has three switch types= for + switching between states - ajax, server and client. + See the rich:togglePanel for details.

    @@ -19,7 +20,7 @@ -

    In ajax and server mode PanelToggleEvent queued and could be ha= ndled - using Listener defined via toggleListener attribute

    +

    Note: In ajax and server modes the PanelToggleEvent is q= ueued and can be handled + using a Listener defined via the toggleListener attribute \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/comma= ndButton/commandButton.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/commandButt= on/commandButton.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/commandButt= on/commandButton.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,8 +5,9 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    The combination similar to h:commandButton with f:ajax. Inherits - all a4j:ajax special options.

    +

    The a4j:commandButton combines the standard h:commandButton wit= h our own + a4j:ajax. This not only reduces typing, but also inherits all a4j:ajax = + special options.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/comma= ndLink/commandLink.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/commandLink= /commandLink.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/commandLink= /commandLink.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,8 +6,9 @@ = = -

    The combination similar to h:commandLink with f:ajax. Inherits - all a4j:ajax special options.

    +

    The a4j:commandLink combines the standard h:commandLink with ou= r own + a4j:ajax. This not only reduces typing, but also inherits all a4j:aja= x = + special options.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/compo= nent-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/component-s= ample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/component-s= ample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -7,13 +7,6 @@ xmlns:c=3D"http://java.sun.com/jsp/jstl/core"> = - - - - - - - - - - - - - - - - - - - - - - - - - -
    ActivityTime
    -
    -
    - -
    - -
    -
    \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/graphVal= idator/samples/passwordValidation-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/graphValida= tor/samples/passwordValidation-sample.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/graphValida= tor/samples/passwordValidation-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22= 318) @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashP= aram/hashOptionsPopup.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashParam/h= ashOptionsPopup.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashParam/h= ashOptionsPopup.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,15 +5,14 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    rich:hashParam allows you to group client side parameters - into hash map in order to pass to client API functions of any - components.

    -

    Press "Show Popup" button in order to call the panel. All the - parameters for show method passed from component control nested - a4j:param's instead of to be defined with attributes in static way. As - the show() method accepts event and options hash - all the param's - except event grouped using rich:hashParam component and passed - as hash

    +

    The rich:hashParam component allows you to group client side pa= rameters + into a hash map in order to pass them to client API functions of any + RichFaces components.

    +

    In this example we are packaging all the parameters for the show() met= hod = + from a component control with nested a4j:param's instead of using stat= ic = + values. Since the show() method accepts event and an option hash as pa= rameters = + all the values except the event is grouped using rich:hashParam = + and passed as as single hash value

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashP= aram/samples/hashOptionsPopup-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashParam/s= amples/hashOptionsPopup-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/hashParam/s= amples/hashOptionsPopup-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -25,14 +25,14 @@ -

    Also panel getting centered by using:

    +

    The panel is getting centered by using:

    <a4j:param noEscape=3D"true" name=3D"left" value=3D"(screen.width/2)-250"/>

    <a4j:param noEscape=3D"true" name=3D"top" value=3D"(screen.height/2)-150"/>

    NOTE: -

    Pay your attention that show() api method requires event - parameter to be first according to signature. So we passed it before +

    Notice that the show() api method requires an event + parameter to be first according to signature. So we passed it before the hashParam.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inpla= ceInput/inplaceInput.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceInpu= t/inplaceInput.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceInpu= t/inplaceInput.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,8 +5,12 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    InplaceInput is a simple input component which displays the current va= lue as outputText and switches to inputText based representation after a de= fined event to allow editing this value. -You could use simplest examples below. For the first demo, just click on a= label to edit the value and click somewhere outside the component to store= this value(Or just press ENTER button).

    +

    The rich:inplaceInput component displays the current value rend= ered + as outputText and switches to inputText after a customizable event = + (i.e. click) to allow editing this value. There are various other options + such as default text, and styling. For this example, click on a label = + to edit the value and either click enter, or somewhere outside the compon= ent to store this = + value.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inpla= ceSelect/inplaceSelect.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceSele= ct/inplaceSelect.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceSele= ct/inplaceSelect.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    Inplace Select is a simple input component which displays curre= nt +

    The rich:inplaceSelect component displays the current selected value as outputText and switches to Select based representation after a defined event to allow editing this value.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inpla= ceSelect/samples/inplaceSelect-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceSele= ct/samples/inplaceSelect-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inplaceSele= ct/samples/inplaceSelect-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,9 +6,9 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> -

    Try the simplest example below. Just click on a label to edit +

    In the example below click on the label to edit the value and click somewhere outside the component to store this - value(Or just press ENTER button).

    + value.

    @@ -22,23 +22,18 @@ -

    In that sample component customized in next way:

    +

    In the next example we have customized the component in the following= ways:

    • f:selectItems tag is used to define a list of items to use.
    • -
    • Controls "save" and "cancel" are turned on with showControls +
    • Controls "save" and "cancel" are turned on with the showControls= attribute
    • -
    • editEvent set to dblclick and used to switch to edit - state.
    • -
    • saveOnSelect defined as false causes component not to store - value right after choosing but wait till buttons will be used or - focus lost.
    • -
    • saveOnBlur defined as false causes component to cancel new - value if it was chosen and focus was lost without save button - activation. That could be useful on interfaces where every change - causes long processing. And if use true value - it will works like in - spreadsheets where leaving the changed field causes new value to be - applied.
    • +
    • editEvent is set to dblclick to trigger to edit the mode. +
    • saveOnSelect is set to 'false' so that the value will = + not be stored until the "save" button is clicked.
    • +
    • saveOnBlur is set to 'false' so that the value will + not be stored unless until the "save" button is clicked. This could + be useful on pages where every change could cause extended processing.<= /li>
    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/input= NumberSlider/samples/sliders-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Slider/samples/sliders-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Slider/samples/sliders-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -10,7 +10,7 @@ = = -

    Here is "minimalistic" input:

    +

    Here is "minimalistic" example:

    = = -

    The same variant but the control disabled:

    +

    The same variant but the control is disabled:

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/input= NumberSlider/sliders.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Slider/sliders.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Slider/sliders.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,8 +5,9 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    InputNumberSlider is a highly customizable component that is used to d= efine numeric = - input in a given range. You can use a slider or just type some value into= an input field.

    +

    The inputNumberSlider is a highly customizable component that i= s used to define numeric = + input in a given range. It is rendered as a slider or you can type in = + a specific value into an optional input field.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/input= NumberSpinner/spinners.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Spinner/spinners.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumber= Spinner/spinners.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,8 +5,9 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    InputNumberSpinner is a highly customizable component that is used to = define a numeric - input in a given range. A user can use a spinner control or just type som= e text into an input field.

    +

    The rich:inputNumberSpinner is a highly customizable component = that is used to define a numeric + input in a given range. It is rendered as a spinner control or you can en= ter + the value in the input field.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jquer= y/jquery.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jquery/jque= ry.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jquery/jque= ry.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -3,38 +3,26 @@ xmlns:h=3D"http://java.sun.com/jsf/html" xmlns:f=3D"http://java.sun.com/jsf/core" xmlns:ui=3D"http://java.sun.com/jsf/facelets"> -

    rich:jQuery integrates jQuery javascript framework into the - JavaServer Faces application. The component allows to apply the styles +

    The rich:jQuery component integrates the jQuery JavaScript fram= ework + into your application. This include being able to apply the styles and behavior to the DOM elements dynamically, including the result of JSF components rendering.

    -

    The selector attribute defines an object or list of objects, - the query defined with the query attribute will be applied to. - And query attribute should be defined with valid JavaScript statem= ents or jQuery api calls

    +

    The selector attribute defines an object or list of objects + that the query defined with the query attribute will be applied to. + The query attribute should be defined with valid JavaScript statem= ents or jQuery api calls

    = -

    rich:jQuery can be used in next major modes:

    +

    rich:jQuery can be used in these modes:

      -
    • as a once time query applied immediately or on document ready - event
    • -
    • definition of event handler which bound to elements returned +
    • As a one time query applied immediately or on a document ready + event.
    • +
    • Define an event handler which is bound to elements returned by selector on some event.
    • -
    • as a javascript function that can be invoked from the custom - javascript
    • +
    • As a JavaScript function that can be invoked from custom + JavaScript
    -

    The modes chosen with timing, name and event attr= ibutes that - can have the following options:

    -

    Timing

    -
      -
    • immediate - applying the query immediately
    • -
    • domready - applying the query when the document is loaded.
    • -
    -

    event and attachType defined allows to bind the query to= some - event of elements which returned by selector. "attachType" could be - "live", "bind" and "one".

    -

    Defining name attribute - causes timing too be ignored a= nd - just named function to call from js to be created.

    - - -This demo shows how to attach the mouseover/mouseout events to the DOM obj= ects. However the images below show how to make them enlarged. + = +

    This example shows how to attach events to the mouseover/mouseout e= vent = + on the DOM objects. The source below will show how to make them enlar= ged.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jsFun= ction/jsFunction.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jsFunction/= jsFunction.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/jsFunction/= jsFunction.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,11 +6,17 @@ = = -

    a4j:jsFunction component also designed to send Ajax - requests, but allows to perform an the requests from a Javascript code - directly. The component sends a request using a standard JSF approach, - so the JSF form is required. The following example shows how the part - of a page is re-rendered when a user hovers over the names.

    +

    The a4j:jsFunction component creates a JavaScript function that + allows you to send JSF Ajax requests from any JavaScript. You define the = + Ajax and JSF properties just like a4j:ajax, or a4j:commandButton, and = + a4j:jsFunction creates the JavaScript for you. The component sends= a = + request using the standard JSF mechanisms. Note that this means a JSF fo= rm = + is required.

    + = +

    The following example shows how to use a4j:jsFunction to creat= e a + function named updateName. This is then called on mouseover of the = + different names. This triggers the full round trip Ajax request and rend= ers + the updated name.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel= /samples/lookCustomization-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel/sampl= es/lookCustomization-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel/sampl= es/lookCustomization-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -39,8 +39,8 @@ Panel #1. Changing Style Synchronously - Each component in the RichFaces has a pre-defined set of c= lasses you can manipulate with. If defined, those - classes overwrite the ones come from the skin. + Each component in RichFaces has a pre-defined set of CSS c= lasses you can manipulate. If defined, those + classes overwrite the ones that come from the skin.
    = @@ -61,7 +61,7 @@ Panel header - Base on the previous layout, but some javascript behaviour add= ed. + Base on the previous layout, but with javascript visual effect= s added. = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel= /simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel/simpl= e.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel/simpl= e.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,10 +5,10 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    The panel is a rectangle area on a page that may contain any - content including other panels. Panel has a header (optionally) and a +

    The rich:panel component creates a rectangle shaped area on the= page that may contain any + content including other panels. Panel's have a header (optional) and a body. The default look-n-feel is based on the current skin. Look-n-feel - of any parts of the panel, including color scheme, borders and paddings + of any part of the panel, including color scheme, borders and paddings can be customizable using with pre-defined number of CSS classes.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panel= Menu/samples/panelMenu-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panelMenu/s= amples/panelMenu-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/panelMenu/s= amples/panelMenu-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -12,7 +12,7 @@ - = -

    It is possible to use javascript variable of custom function for - the 'value' attribute. In this case the 'noEscape' attribute should be - set to true. When noEscape=3D"true", the 'value' can contain any - javascript expression or javascript function invocation and the result - of them will be send to the server as a value of a4j:actionparam. The - following example demonstrates how to assign the backing bean with +

    Another great feature for the a4j:param component is the = + ability to use JavaScript to assign the 'value' attribute. In this case t= he = + 'noEscape' attribute should be set to true. When noEscape=3D"true", the '= value' + can contain any JavaScript expression or JavaScript function. This will = be + executed and the result will be sent to the server as the value of = + a4j:param.

    + = +

    The following example demonstrates how to assign the backing bean with browser screen size values.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param= /param.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/param= .xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/param= .xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,11 +5,10 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    a4j:actionparam is a component which extends regular f:param - with the possibility to assign the value to the property of the manager - bean directly using the assignTo attribute. Using this feature you can - update model values without invoking even a single line of java code on - the server side.

    +

    The a4j:param component extends the regular f:param + tag. The primary extension is the ability to assign a value to a property + on a managed bean directly using the assignTo attribute. Using this featu= re you can + update model values without invoking a single line code.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param= /samples/skinChange-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/sampl= es/skinChange-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/sampl= es/skinChange-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -8,7 +8,7 @@ - + Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param= /skinChange.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/skinC= hange.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/param/skinC= hange.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,10 +5,9 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    You can use a4j:param not only with ajax components, but with - non-ajax command components and for GET navigation components also. In - the following example, the used skin of the demo is changed when the - whole page is refreshed with the regular h:link.

    +

    You can also use a4j:param with non-ajax command components = + including GET navigation components. In this example, the skin of the dem= o = + is changed when using a standard h:link tag.

    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/poll/= poll.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/poll/poll.x= html 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/poll/poll.x= html 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,17 +6,14 @@ xmlns:rich=3D"http://richfaces.org/rich"> = -

    a4j:poll is one of the way how you can organize the periodical - polling of server data and updating the page. a4j:poll is a standard - RichFaces Ajax component. Thus, you can use the same approach as for - a4j:commandButton for example. I.e. you can use action attribute to - invoke the action method and reRender attribute to update area(s) on - the client when Ajax Response returns back. RichFaces uses the standard - form based request, so the form around the a4j:poll component is - required.

    -

    The following example shows how the date and time is updated on - the page based on the data taken from the server. To turn off polling, - press "Stop Polling" button.

    +

    The a4j:poll component defines a way to periodically poll a ser= ver + in order to trigger state changes, or update parts of your page. You can = + use the same options, and settings as the a4j:ajax or a4j:commandButton. = So you + can set execute, and render attributes, as well as any normal JSF action = + attributes. RichFaces uses a standard form based request, so the form aro= und the = + a4j:poll component is required.

    +

    The example below updates the date and time on the page based on the d= ata on + the server. To turn off polling, press "Stop Polling" button.

    = @@ -32,7 +29,7 @@ - NOTE:polling is automatically disabled in this demo after one min= ute of working. + NOTE: polling is automatically disabled in this demo after one mi= nute.
    \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup= /login.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/login= .xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/login= .xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,30 +5,19 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    In RichFaces 3.3.x many developers used rich:dropDownMenu - component for creation of Search/Login popups attached to toolbars. And - there were two reasons for that:

    -
      -
    • Simplicity of usage. No script positioning required. - rich:dropDownMenu performs popup positioning on its own and simply - customizable by using jointPoint and direction - attributes.
    • -
    • RichFaces 3.3.x has no lightweight popup panel and rich:modalPane= l - usage for such cases required workarounds in order to make it - non-modal
    • -
    -

    But that approach has some disadvantages as well:

    -
      -
    • rich:dropDownMenu component was added with additional - JavaScript code for inputs processing inside the rich:menuItem's. - That not really native task for menu so that code was really - superfluous from simple menus point of view.
    • -
    • Developer still has to work on styling of menu item removing - hover effects and making it looks like panel rather than menuItem
    • -
    -

    RichFaces 4.x provides clean api for popup panel and added - non-modal state, so for now it's really easier and looking more native - to use modal panel for such tasks. Below you could see two samples:

    +

    RichFaces 4.x provides a clean api for popup panels and added + non-modal state, so now its easy to use the popup panel for login, and = + seach panels. The examples below show both variants; login, and searc= h, but = + of coarse you could use any content you wanted.

    +

    At the bottom of the page is a description and information for Rich= Faces + 3.3.X users who used rich:dropDownMenu components to accomplish this s= ame = + task. If that was you - it is worth a read.

    +

    The rich:popupPanel also allows you to pass options to the Java= Script show method + such as: min/max width and height, specific width and height, top + and left positions for the panel. So with rich:hashParam it= 's + really simple to build declarative calls for the panel which can use + dynamic properties.

    + = @@ -36,11 +25,29 @@ -

    rich:popup panel allows you to pass next options to show method: - min and max width and height, actual width and height, t= op - and left positions for the panel. So with rich:hashParam it's - really simple to build declarative call for the panel which uses - dynamic properties.

    +

    In RichFaces 3.3.x many developers used the rich:dropDownMenu + component for creation of Search/Login popups attached to toolbars. = + There were two main reasons for this:

    +
      +
    • Simplicity of usage. No script positioning required. + rich:dropDownMenu performs popup positioning on its own and was si= mple + to customize by using jointPoint and direction + attributes.
    • +
    • RichFaces 3.3.x has no lightweight popup panel and rich:mod= alPanel + usage for such cases required workarounds in order to make it + non-modal
    • +
    +

    But that approach also has some disadvantages:

    +
      +
    • rich:dropDownMenu component was created with additional + JavaScript code for input processing inside the rich:menuItem's. + That is not really a native task for menus so that code was really + superfluous from simple menus point of view.
    • +
    • Developer still had to work on styling of menu item removing + hover effects and making it looks like panel rather than menuItem<= /li> +
    +

    We think that the new features of the rich:popupPanel are an = + excellent replacement for this and hope you will consider updating to = it.

    = \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup= /modalPopup.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/modal= Popup.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/modal= Popup.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,11 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    There you could check the modal panel which blocks the main - screen for any operations defined by using popupPanel component - with modal=3D"true"

    -

    In that sample the panel also defined as resizable so you could - change its sizes using mouse

    +

    This example of the rich:popupPanel shows you a modal style pop= up that + blocks the main screen from any operation. This is defined by setting the + modal=3D"true" attribute.

    +

    In this example the panel is also defined as resizable so you could + change its sizes using the mouse

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup= /samples/modalPopup-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/sampl= es/modalPopup-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/sampl= es/modalPopup-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -19,9 +19,8 @@ X -

    Additionally there you could check how to handle the clicks - outside the panel.

    -

    In this sample the click outside - closes the panel as well as - clicking hide control in the header

    +

    You can also check and trigger events if the use clicks outside of the + panel.

    +

    In this example clicking outside closes the panel.

    \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup= /samples/simplePopup-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/sampl= es/simplePopup-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/sampl= es/simplePopup-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -19,9 +19,7 @@ X -

    Any content might be inside the panel.

    -

    Consider inclusion of the form elements into the popup or - redefinition of domElementAttachment attribute.

    +

    Any content might be inside this panel.

    The popup panel is open and closed from the javascript function of component client side object. The following code hide this panel: #{rich:component('popup')}.hide()

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup= /simplePopup.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/simpl= ePopup.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/popup/simpl= ePopup.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,17 +5,17 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    Popup panel component used to create any kind of popups on the page. +

    The rich:popupPanel component is used to create any kind of pop= ups on the page.

    Main features:

      -
    • Has two states modal and non-modal
    • -
    • Could be defined as resizable
    • -
    • Could be autosized according to content
    • -
    • Could be moved across the screen
    • -
    • Could be automatically positioned as centered or use user defined pos= ition
    • +
    • Two states; modal and non-modal
    • +
    • Can be defined as resizable
    • +
    • Can be autosized according to content
    • +
    • Can be moved across the screen
    • +
    • Can be automatically positioned as centered or use a defined position=
    -

    This sample shows simple non-modal popup which are movable but not resizable = - as defined to use autosizing according to it's content

    +

    This example shows a simple non-modal popup which is movable bu= t not resizable = + and defined to use autosizing according to it's content

    = @@ -25,10 +25,10 @@ = -

    Besides this sample shows two variants of working with the component J= S API:

    +

    This example also shows two variants of working with the component Jav= aScript API:

    • The popup is called by the rich:componentControl attached to = button
    • -
    • The popup is closed by simple JS calls which defined using rich:c= omponent function
    • +
    • The popup is closed by a simple JavaScript call which is defined usi= ng the rich:component function
    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progr= essBar/ajaxProgressBar.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /ajaxProgressBar.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /ajaxProgressBar.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,7 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    ProgressBar worked in "ajax" mode

    +

    The rich:progressBar displays a standard progress widget, and a= llows + for additional facets such as initial, and finish state customizations. = In + Ajax mode you simply bind the bar to a bean property that returns a value= between the = + 'minValue' and 'maxValue'. This value is then polled from the browser us= ing + the specified interval.


    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progr= essBar/clientProgressBar.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /clientProgressBar.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /clientProgressBar.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,7 +5,10 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    ProgressBar worked in "client" mode

    +

    The rich:progressBar in client mode is strictly based on values= in + the client browser, and so is not determined by server-state. Using = + JavaScript component API calls trigger the start, stop, and progress of = + the component. Take a look at the source code below for an example.


    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progr= essBar/samples/ajaxProgressBar-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /samples/ajaxProgressBar-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/progressBar= /samples/ajaxProgressBar-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -11,7 +11,7 @@ minValue=3D"0" maxValue=3D"100" reRenderAfterComplete=3D"progressPanel"> - + - + Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/queue= /queue.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/queue/queue= .xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/queue/queue= .xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -3,31 +3,32 @@ xmlns:f=3D"http://java.sun.com/jsf/core" xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    JSF 2 provides queue mechanism out-of the box already. And - RichFaces queue just provides some additional customizations to improve - the queue usability and allow to tune your performance while using Ajax - as much as possible.

    -

    The only big difference which the developers who used queue in - 3.3.x should remember: as JSF 2 already provides single queue and not - allows to have more than one queue instance(currently) you can't really - fire concurrent requests anymore. So the queue in RF now not actually - defines logical queue but just a component for defining queueing - options.

    -

    Here you could explore additional optimization parameters of the - queue and learn how they influence Ajax requests. This example is a - good start to learn about Ajax requests flood protection.

    +

    JSF 2 provides a queuing mechanism out-of the box in order to sequence = + client side events with the built-in Ajax implementation. This queue is = + lacking in some very essential tuning options. The RichFaces = + a4j:queue provides these basic options in addition to other = + enhancements. There are two primary options available; 'requestDelay' an= d = + 'ignoreDupResponse'. These are explained more in the example below.

    +

    Many of the features of the RichFaces 3.3.X queue have been ported to + RichFaces 4.0 version. However it is important to remember that the 4.0 + queue is a logical queue on top of JSF's. There is only a single physica= l = + queue allowed and there is no way to override that (for now).

    +

    In this example you can tweak different queue options and see what eff= ect + that has on the number of events fired, and how often the DOM is updated. + This provides a good way to learn about Ajax requests flood protection. = -

    Pay attention to next point in the example:

    +

    Attribute details:

      -
    • Setting requestDelay to greater value reduces the greatly - requests count on fast typing. (More similar requests are combined in - the result)
    • -
    • Setting requestDelay to smaller value(just for easier exploration) b= ut using ignoreDupResponse flag set to true = - - reduces greatly DOM updates count.
    • +
    • requestDelay is the number of milliseconds to wait before = + sending a request in order to combine similar requests. The greater the + value the fewer requests will be sent when fast typing. Similar requests + in the queue are combined while waiting for the request delay
    • +
    • If ignoreDupResponse is true then RichFaces will not waste = + time updating the client side DOM if it knows another request for the sa= me + thing is pending. The best way to see that in this demo is set = + requestDelay to a very small value and type quickly. You will see the = + number of DOM updates be smaller than requests sent.
    -

    Also pay your attention to the queue definition. Such definition - (inside some form without a name) means that the queue options becomes - global for the form.

    = @@ -36,17 +37,19 @@ -

    Queue could be defined as

    +

    Queue scopes, and names:

    +

    You can define a queue so that it is the default queue for all requests + from a complete view, a specific form, or even specific components.

      -
    • Default for view. In this case - the parameters will - be used for all the Ajax requests in view(if not redefined). In order - to define such queue - just place a4j:queu outside of any forms - without defining name
    • -
    • Default for form. Similar to view-scoped but should be - defiend in some form without defining name
    • -
    • Referenced from ajax behaviors/components. Queue - should be defined with name and referenced using attachQueue tag(see - corresponding sample).
    • +
    • View scoped: Place an a4j:queue with no name = + attribute outside of any form, and it will be the default = + queue for all requests on the page.
    • +
    • Form scoped Place a nameless a4j:queue within a form + to make it the default queue for all requests within it.
    • +
    • Named queue Define an a4j:queue with a specific name. = + Then you can make any component, or behavior use that queue with the = + a4j:attachQueue component. See the next queue example for detail= s. +
    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/regio= n/region.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/region/regi= on.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/region/regi= on.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -11,16 +11,16 @@ processing definitions and component identifiers to be decoupled, = and declarative wrapping with the a4j:region tag is used instead.<= /p>

    In RichFaces 3.3, the whole view was processed if no regions we= re - specified, as ViewRoot itself was the region by default. In Ric= hFaces - 4.x, all the controls have execute=3D"@this" by default accord= ing + specified, as the ViewRoot itself was the region by default. In RichFaces + 4.x, all the controls are set to execute=3D"@this" by default = according to JSF 2 specifications. However, if the controls wrapped with the - a4j:region tag and have no execute definitions, they use - execute=3D"@region" instead.

    + a4j:region tag and have no execute definitions, they use + execute=3D"@region" instead.

    The example below contains two similar user info panels. The button inside the first panel will not work, as it does = not use execute - declarations; by default it uses execute=3D"@this". A separate def= inition is needed = - to make the button work properly. The second panel inputs - are wrapped in a region with the commandButton, and input works wi= thout any additional execute definitions.

    + declarations; by default it uses execute=3D"@this". A separate def= inition is needed = + to make the button work properly. The second panel has its inputs and but= ton + wrapped in an a4j:region. This means that the h:commandButton= works without any additional execute definitions.

    @@ -28,5 +28,8 @@ +

    Note: a4j:commandButton/Link use execute=3D"@form"" as t= heir + default and so would work as expected in both panels. They also integrate + in the core Ajax functionality, and do not require additional a4j:ajax= tags.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/regio= n/samples/region-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/region/samp= les/region-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/region/samp= les/region-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -18,7 +18,9 @@
    - + + +
    @@ -44,7 +46,9 @@ - + + + Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/selec= t/samples/select-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/select/samp= les/select-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/select/samp= les/select-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,7 +6,7 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> -

    There is simple sample where select behaves as standard one:

    +

    This example shows a select component that behaves basically the same= as the standard:

    @@ -19,9 +19,8 @@ -

    There you could check keyboard filtering within the select - component. It allows to enter only valid items from the list. Wrong - input will be reseted.

    +

    In the next example you can manually enter values, and any invalid = + entries are not allowed.

    Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/selec= t/select.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/select/sele= ct.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/select/sele= ct.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,14 +5,15 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

    rich:select component is designed to replace standard - h:selectOneMenu. Main features which differs from base component:

    +

    The rich:select component is designed to replace standard + h:selectOneMenu. It adds various features and options including core Ajax + functionality, and skinning. Some of the notable features are:

      -
    • Skinned according to RichFaces standard principles. That +
    • Skinning following RichFaces standard principles. This allows the component to have unified look and feel across all the browsers.
    • -
    • Provides better navigation across select items using keyboard
    • -
    • Provides default label functionality which is common for all the Ric= hFaces inputs.
    • +
    • Better navigation across select items using the keyboard
    • +
    • Default label functionality which is common for all the RichFaces in= puts.
    = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/stand= ardSkinning/standardSkinning.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/standardSki= nning/standardSkinning.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/standardSki= nning/standardSkinning.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -7,23 +7,20 @@ xmlns:rich=3D"http://richfaces.org/rich"> = -

    This section overviews main principles of standard components - skinning with the Rich Faces framework.

    -

    This feature provides styling for standard HTML form elements in - order to be highly compilant with RichFaces common look'n'feel. There - should be two ways of applying skins to elements:

    +

    RichFaces provides a mechanism to apply RichFaces skinning principl= es + to standard components!

    +

    This feature provides styling for standard HTML form elements so that + the share a commmon look'n'feel with RichFaces component skins. There + are two general approaches to apply skins to these elements:

      -
    • Skinning style classes are applied to elements by element - name and type attribute (where applicable). No additional steps are - required from an application developer. Application initialization - parameter serves for enabling/disabling the feature.
    • -
    • Several style classes are provided for different types of - elements. That style classes have predefined names. Application - developer should manually assign classes to controls that need - skinning or assign a class to an element that contains controls.
    • +
    • Automatic: Toggled via a context param this approach + will attempt to skin many standard components using element names and + type attributes where possible. No additional steps are + required from an application developer.
    • +
    • Manual: RichFaces also provides a set of CSS style classes + that can be manually assigned to controls.
    -

    Standard controls skinning feature provides 2 levels of - skinning:

    +

    The automatic approach also has 2 levels of support:

    1. Standard - customization of only basic style properties.
    2. @@ -39,14 +36,14 @@ standards compilant mode) or CSS 3 draft namespace selectors (e.g. Mozilla Firefox). = -

      Here is the skinned form example. Note there is no styling in +

      Here is a skinned form example. Note there is no styling in sources of that form

      = Standard components skinning - All the controls below is just standard JSF components skinned + All the controls below are just standard JSF components skinned with Rich Faces:
      @@ -68,27 +65,9 @@
      - -

      There three ways of applying skinning to application:

      -
        -
      • By default org.richfaces.ENABLE_CONTROL_SKINNING context - param is set to true and it means that all standard elements - on the page will be skinned. (CSS style classes for elements based on - their names and type attribute values will be applied). You may - redefine it to disable in order to turn it off.
      • -
      • By default org.richfaces.ENABLE_CONTROL_SKINNING_CLASSES - context param is set to false and it means that basic elements - nested to element having rich-container class will be skinned. - It could be also turned off using disable value.
      • -
      • RichFaces also provides predefined classes which can be - applied by an end developer to elements need to be skinned separately. - This classes added to the page also according to org.richfaces.ENABLE= _CONTROL_SKINNING_CLASSES - context-param.
      • -
      - -

      To get a better idea of standard component skinning we recommend - to explore CSS files located in - ui/core/ui/src/main/resources/org/richfaces/ folder of RichFaces svn.

      + = +

      For more details on this setup and cofiguration of these features + please review RichFaces d= ocumentation.

      = \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/statu= s/viewusage.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/status/view= usage.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/status/view= usage.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -10,13 +10,12 @@ The start state indicates that an Ajax request is in progress. = When an Ajax Response is returned, the component switches to the stop state.

      -

      The a4j:status component could be defined as follows: +

      The a4j:status component could be defined as follows:

      • As the default for a view.
      • As the default for a form.
      • Referenced explicity from the component sending the request.
      -

      This example shows a view-scoped a4j:status component. It shoul= d be defined outside of any forms, and will handle all the Ajax requests within the view.

      Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPa= nel/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/si= mple.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/si= mple.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,12 +5,9 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

      Tab panel is used to create "tabbed" pages. = - RichFaces tab panel can be switched in 3 ways: using "normal" server-side = - update, using "ajax" style update, when only tab panel area is updated = - on the page, and using "client" type, without any interaction with the = - server. Note, that in case of a "client" switch type, all tabs are = - rendered at the same time.

      +

      The rich:tabPanel component is used to create "tabbed" sections= or pages. = + RichFaces tab panel can be switched in the 3 ways detailed in the = + rich:togglePanel example.

      Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPa= nel/valueManagement.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/va= lueManagement.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tabPanel/va= lueManagement.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,18 +5,13 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

      That sample shows how to use external controls for switching the - panel

      -

      toggleControl behavior used as for any other switchable - panel (togglePanel, accordion)

      -

      targetItem could be defined with tab name and - additionally tabPanel supports next predefined shortcuts:

      -
        -
      • @next
      • -
      • @prev
      • -
      • @first
      • -
      • @last
      • -
      +

      This example shows how to use external controls, and special shortcuts + to switch the tabbed panels

      +

      The rich:toggleControl behavior used by any of the other switch= able + panels (togglePanel, accordion) can be used with rich:tabPanels= + as well.

      +

      So you can set the targetItem to be defined as a specific tab n= ame + or use one of the shortcuts detailed in the rich:togglePanel examp= le.

      @@ -24,8 +19,8 @@ -

      Additionally you could manage the current tab at server side - using activeItem attribute at tabPanel bound to some Bean - property which holds current tab name.

      +

      Additionally you can manage the current tab on the server side + using the activeItem attribute on the tabPanel bound to some Be= an + property which then holds current tab name.

      \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/samples/finalStep.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/finalStep.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/finalStep.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,27 @@ + + +
      + + + + + + + + + + +
      + + + +
      +
      + +
      Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/toggl= ePanel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/simple-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/simple-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,21 +5,21 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + @@ -48,6 +48,6 @@ style=3D"#{rich:findComponent('panel1').activeItem =3D=3D 'item2' ? 'f= ont-weight:bold' : 'font-weight:normal'}" /> -
      = +
      \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/samples/wizard-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wizard-sample.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wizard-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,51 @@ + + + +
      + + + + + + + + + + + + + + + + + = + +
      +
      \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/samples/wizard.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wizard.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wizard.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,43 @@ + + + +
      + + + + + + + + + + + = + +
      + +
      \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/samples/wstep1.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wstep1.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wstep1.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,28 @@ + + = +
      + + + + + = + + + + = + + + + +
      + + + +
      +
      +
      \ No newline at end of file Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/samples/wstep2.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wstep2.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /samples/wstep2.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,25 @@ + + +
      = + + + + + +
      + + + + + + +
      + + = +
      +
      \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/toggl= ePanel/simple.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /simple.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /simple.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,18 +5,31 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

      togglePanel is a base component for all switchable panels in Ric= hFaces. It renders = -sequence of states that can be switched (toggled) by a behavior = -called toggleControl. rich:togglePanel has no default appearance. Y= ou can define it using = -the set of child togglePanelItem's with any given content inside. <= /p> -

      switchType attribute defines the strategy of switching. The pos= sible values for this attributes are:

      +

      The rich:togglePanel is a core component for all switchable pane= ls in RichFaces. It renders = +a sequence of panels based on state that can be switched (toggled) by a be= havior = +called rich:toggleControl. All of these other panels (e.g. tabPane= l, accordion, etc...) share = +the basic sets a features defined below.

      +

      The switchType attribute defines the strategy used to toggle bet= ween panels. The possible values for this attributes are:

        -
      • client - switching happens on the client without any request to= the server. The jsf form is not required in this mode
      • -
      • ajax - when states are switched, the content of new states come= s from the server in Ajax way.
      • +
      • client - switching happens on the client without any request to= the server. A jsf form is not required in this mode
      • +
      • ajax - when states are switched, the content of new states come= s from the server via Ajax requests.
      • server - the whole page is reloaded when states are switched
      -

      As the component not provides any predefined layout it could be used fo= r creation of any kind of switchable panels easilly. -Here is the sample of simplest tabbed pane organized using that component:=

      +

      There is also a very useful set of shortcut toggle values that allow yo= u to +create many custom effects like wizards. See the other switchable panel e= xamples. = +Available shortcuts are defined below:

      +
        +
      • @next
      • +
      • @prev
      • +
      • @first
      • +
      • @last
      • +
      +

      A rich:togglePanel has no default appearance, and allows you to= customize it's +look-n-feel any way you like. You create a set of child rich:togglePane= lItem's +with any content you want inside of them.

      +

      As the component does not provide any predefined layout it could be use= d for = +creation of any kind of switchable panels. This example is a very simple = +tabbed pane organized using that component:

      Added: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePa= nel/wizard.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /wizard.xhtml (rev 0) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/togglePanel= /wizard.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,56 @@ + + + + +

      This is a more complex use-case of a wizard constructed using the = + rich:togglePanel component.

      +

      Main advantages of using this component for wizard creation:

      +
        +
      • You're not defining any navigation rules and not managing + current page shown in your code. You're just inserting + rich:togglePanelItem components where needed and switching between + them. Also the current page state could be stored using activeItem.
      • +
      • You are not bound anywhere in controls to which panel you need to + switch. Just the @next and @prev shortcuts are used. In th= at = + case you could easily add/remove additional panels without making change= s in + switching code. Though you still could use names in targetItem in case + you really need to perform a specific switch.
      • +
      • Opposite to 3.3.x where toggle controls were encoded as links + - in RF 4.x rich:toggleControl is just a behavior so any control = can + be used for switching.
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + \ No newline at end of file Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/toolt= ip/samples/tooltip-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/sam= ples/tooltip-sample.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/sam= ples/tooltip-sample.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -32,20 +32,20 @@ -

      Here you can see default client-side tool-tip

      +

      Here you can see a default client-side tool-tip

      This tool-tip content was pre-rendered to the page.
      - Also the tooltip following mouse by default
      + The tool-tip is also following mouse around.
      -

      This tool-tip will not follow mouse. Also this tool-tip - has a delay 1.5 sec, so be patient!

      +

      This tool-tip will not follow the mouse, and = + has a delay of 1.5 seconds, so be patient!

      - This tool-tip content also + This tool-tip content is also pre-rendered to the page.
      @@ -53,11 +53,11 @@ -

      This tool-tip rendered on server in separate request. +

      This tool-tip was rendered on the server using an Ajax request.

      This tool-tip content was - rendered on server + rendered on the server @@ -70,7 +70,8 @@ -

      This tool-tip will be activated on mouse click.

      +

      This tool-tip will be activated on a mouse click, and + has default content defined.

      Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/toolt= ip/tooltip.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/too= ltip.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/too= ltip.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,18 +5,21 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets"> = -

      Tooltip is a small non-modal pop-up that could be used to - display additional information, that is usually hidden.
      +

      The rich:tooltip component creates a small non-modal pop-up tha= t = + can be used to display additional information for nearly anything on the = page.

      -

      Major tooltip features:

      +

      Major features:

        -
      • Tool-tip content may be pre-rendered on a page (client - mode) or loaded on separate Ajax request (ajax mode)
      • -
      • In "ajax" mode default content could be shown while - request is executed
      • -
      • Tooltip look is fully customizable using both - +
      • Tool-tip content may be pre-rendered on a page using client + mode or loaded dynamically using separate Ajax requests via Ajax = + mode.
      • +
      • In Ajax mode default content can be shown while the + request is being executed
      • +
      • Tool-tip's look-n-feel is fully customizable using both Richfaces skins and CSS style classes
      +

      There are various other options available such as delays, follow modes= , = + and more that are in the example below:

      = Modified: trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tree/= tree.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tree/tree.x= html 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/richfaces/tree/tree.x= html 2011-03-27 13:51:09 UTC (rev 22318) @@ -9,13 +9,13 @@ the page. The most important tree features include the following:

      • Native support for Ajax operations
      • -
      • Support for "ajax", "client", and "server" switch types
      • +
      • Support for ajax, client, and server switch typ= es
      • Selection capabilities
      • Flexible look and feel
      -

      This demo also includes a simple selection-handling sample. When +

      This demonstration also includes a simple selection-handling example. = When you select a node, its name is shown. When you - select a leaf, the full CD details will be populated.

      + select a leaf, the full album details will be populated.

      Modified: trunk/examples/richfaces-showcase/src/main/webapp/templates/inclu= des/navigation.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/templates/includes/na= vigation.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/templates/includes/na= vigation.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -7,11 +7,14 @@ xmlns:c=3D"http://java.sun.com/jsp/jstl/core"> - + - + rightIcon=3D"#{(d.newItems || gr.newItem) ? '/images/icons/new-small= -ic.gif' : null}" + onclick=3D"document.location.href=3D'#{facesContext.externalContext.= requestContextPath}/richfaces/component-sample.jsf?demo=3D#{d.id}&skin= =3D#{skinBean.skin}'"> Modified: trunk/examples/richfaces-showcase/src/main/webapp/templates/main.= xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/richfaces-showcase/src/main/webapp/templates/main.xhtml = 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/examples/richfaces-showcase/src/main/webapp/templates/main.xhtml = 2011-03-27 13:51:09 UTC (rev 22318) @@ -5,7 +5,6 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j"> - RichFaces Showcase - + = Modified: trunk/ui/input/ui/src/main/templates/calendar.template.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/main/templates/calendar.template.xml 2011-03-25 1= 8:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/main/templates/calendar.template.xml 2011-03-27 1= 3:51:09 UTC (rev 22318) @@ -23,7 +23,7 @@ - + @@ -70,7 +70,7 @@ \ No newline at end of file Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/component/cale= ndarTest.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/component/calendarTe= st.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/component/calendarTe= st.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -20,7 +20,7 @@ showHeader=3D"true" currentDate=3D"#{calendarBean.selectedDate}" showApplyButton=3D"#{calendarBean.showApply}" cellWidth=3D"24px" - cellHeight=3D"22px" style=3D"width:200px"> + cellHeight=3D"22px"> Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/auto= completeDivLayoutClientMode.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/autocomple= teDivLayoutClientMode.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/autocomple= teDivLayoutClientMode.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,5 +1,5 @@ -
      + @@ -188,4 +188,4 @@ ); //]]> -
      +
      Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/auto= completeListLayoutClientMode.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/autocomple= teListLayoutClientMode.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/autocomple= teListLayoutClientMode.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,5 +1,5 @@ -
      + @@ -188,4 +188,4 @@ ); //]]> -
      \ No newline at end of file +
      \ No newline at end of file Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceInputTest.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTest.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTest.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -24,12 +24,6 @@


      - - - -
      -
      -
      Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceInputTestDefault.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestDefault.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestDefault.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,9 +1,9 @@ - + Edit Text - + type=3D"image" tabindex=3D"-1" /> + Deleted: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpla= ceInputTestEdit.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestEdit.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestEdit.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,36 +0,0 @@ - - Edit Text - - - - - - - - - - - - - -
      -
      -
      -
      -
      -
      - -
      \ No newline at end of file Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceInputTestWithControls.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestWithControls.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceInp= utTestWithControls.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,31 +1,32 @@ - + Edit Text - + type=3D"image" tabindex=3D"-1" /> + - + - + + type=3D"image" + tabindex=3D"-1" /> -
      + type=3D"image" + tabindex=3D"-1" />
      Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceSelectTest.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTest.xhtml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTest.xhtml 2011-03-27 13:51:09 UTC (rev 22318) @@ -24,12 +24,6 @@ - - - - - - Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceSelectTestDefault.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestDefault.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestDefault.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,7 +1,7 @@ - + Edit Text - + Deleted: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpla= ceSelectTestEdit.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestEdit.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestEdit.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,46 +0,0 @@ - - Edit Text - - - - - - - - - - - - - - -
      -
      -
      -
      -
      - - - - - - - - - - - Label= #1 - Label= #2 - Label= #3 - Label= #4 - - - - - - -
      - -
      Modified: trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inpl= aceSelectTestWithControls.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestWithControls.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/input/ui/src/test/resources/org/richfaces/renderkit/inplaceSel= ectTestWithControls.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,7 +1,7 @@ - + Edit Text - + @@ -11,10 +11,9 @@ - + -
      Modified: trunk/ui/iteration/api/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -54,9 +54,9 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/iteration/datascroller/api - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/iteration/datascroller/api - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/iteration/datascroller/api + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/iteration/datascroller/api + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/i= teration/datascroller/api = \ No newline at end of file Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/component/Expa= ndable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/component/Expandable= .java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/component/Expandable= .java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,7 +23,7 @@ = package org.richfaces.component; = -import org.richfaces.event.ToggleListener; +import org.richfaces.event.CollapsibleSubTableToggleListener; = public interface Expandable { = @@ -31,9 +31,9 @@ = public void setExpanded(boolean expand); = - public void addToggleListener(ToggleListener listener); + public void addCollapsibleSubTableToggleListener(CollapsibleSubTableTo= ggleListener listener); = - public void removeToggleListener(ToggleListener listener); + public void removeCollapsibleSubTableToggleListener(CollapsibleSubTabl= eToggleListener listener); = - public ToggleListener[] getToggleListeners(); + public CollapsibleSubTableToggleListener[] getCollapsibleSubTableToggl= eListener(); } Added: trunk/ui/iteration/api/src/main/java/org/richfaces/event/Collapsible= SubTableToggleEvent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/CollapsibleSub= TableToggleEvent.java (rev 0) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/CollapsibleSub= TableToggleEvent.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,72 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright ${year}, Red Hat, Inc. and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.richfaces.event; + +import javax.faces.component.UIComponent; +import javax.faces.event.FacesEvent; +import javax.faces.event.FacesListener; + +/** + * @author Anton Belevich + * = + */ +public class CollapsibleSubTableToggleEvent extends FacesEvent { + + private static final long serialVersionUID =3D 2916560585918250885L; + = + private String togglerId; + + private boolean expanded; + = + = + = + public CollapsibleSubTableToggleEvent(UIComponent source, boolean expa= nded) { + this(source, expanded, null); + } + = + public CollapsibleSubTableToggleEvent(UIComponent source, boolean expa= nded, String toggerId) { + super(source); + this.expanded =3D expanded; + this.togglerId =3D toggerId; + } + = + public String getTogglerId() { + return togglerId; + } + + public void setTogglerId(String togglerId) { + this.togglerId =3D togglerId; + } + + public boolean isExpanded() { + return this.expanded; + } + + public boolean isAppropriateListener(FacesListener listener) { + return (listener instanceof CollapsibleSubTableToggleListener); + } + + public void processListener(FacesListener listener) { + ((CollapsibleSubTableToggleListener) listener).processCollapsibleS= ubTableToggle(this); + } +} Added: trunk/ui/iteration/api/src/main/java/org/richfaces/event/Collapsible= SubTableToggleListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/CollapsibleSub= TableToggleListener.java (rev 0) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/CollapsibleSub= TableToggleListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,35 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright ${year}, Red Hat, Inc. and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.richfaces.event; + +import javax.faces.event.FacesListener; + +/** + * @author Anton Belevich + * = + */ +public interface CollapsibleSubTableToggleListener extends FacesListener { + + public void processCollapsibleSubTableToggle(CollapsibleSubTableToggle= Event event); + +} Added: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollE= vent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollEven= t.java (rev 0) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollEven= t.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,94 @@ +/** + * License Agreement. + * + * JBoss RichFaces - Ajax4jsf Component Library + * + * Copyright (C) 2007 Exadel, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation. + * + * This library 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA + */ + +package org.richfaces.event; + +import javax.faces.component.UIComponent; +import javax.faces.event.ActionEvent; +import javax.faces.event.FacesListener; + +/** + * @author Wesley Hales + */ +public class DataScrollEvent extends ActionEvent { + + /** + * = + */ + private static final long serialVersionUID =3D 2657353903701932561L; + private String oldScrolVal; + private String newScrolVal; + private int page; + + /** + * Creates a new ScrollerEvent. + * = + * @param component + * the source of the event + * @param thisOldScrolVal + * the previously showing item identifier + * @param thisNewScrolVal + * the currently showing item identifier + */ + public DataScrollEvent(UIComponent component, String thisOldScrolVal, = String thisNewScrolVal, int page) { + super(component); + oldScrolVal =3D thisOldScrolVal; + newScrolVal =3D thisNewScrolVal; + this.page =3D page; + } + + public String getOldScrolVal() { + return oldScrolVal; + } + + public String getNewScrolVal() { + return newScrolVal; + } + + /** + * @since 3.2 + * @return new page or -1 if not applicable + */ + public int getPage() { + return page; + } + + public boolean isAppropriateListener(FacesListener listener) { + return super.isAppropriateListener(listener) || (listener instance= of DataScrollListener); + } + + /** + * Delivers this event to the SliderListener. + * = + * @param listener + * the slider listener + */ + public void processListener(FacesListener listener) { + if (listener instanceof DataScrollListener) { + DataScrollListener dataScrollerListener =3D (DataScrollListene= r) listener; + dataScrollerListener.processDataScroll(this); + } + + if (super.isAppropriateListener(listener)) { + super.processListener(listener); + } + } +} Added: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollL= istener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollList= ener.java (rev 0) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollList= ener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,30 @@ +/** + * License Agreement. + * + * JBoss RichFaces - Ajax4jsf Component Library + * + * Copyright (C) 2007 Exadel, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation. + * + * This library 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA + */ + +package org.richfaces.event; + +import javax.faces.event.FacesListener; + +public interface DataScrollListener extends FacesListener { + + public void processDataScroll(org.richfaces.event.DataScrollEvent even= t); + +} Added: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollS= ource.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollSour= ce.java (rev 0) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollSour= ce.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,48 @@ +/** + * License Agreement. + * + * JBoss RichFaces - Ajax4jsf Component Library + * + * Copyright (C) 2007 Exadel, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation. + * + * This library 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 library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA + */ + +package org.richfaces.event; + +public interface DataScrollSource { + + /** + * Adds a DataScrollListener to this DataScrollSource. + * = + * @param listener + * the Scroll listener to be added + */ + public void addScrollListener(org.richfaces.event.DataScrollListener l= istener); + + /** + * Removes a DataFilterSliderListener from this DataScrollSource. + * = + * @param listener the Scroll listener to be removed + */ + public void removeScrollListener(DataScrollListener listener); + + /** + * Returns all ScrollListeners for this DataScrollSource. + * = + * @return the Scroll listener array + */ + public DataScrollListener[] getScrollListeners(); + +} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrol= lerEvent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerEv= ent.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerEv= ent.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,94 +0,0 @@ -/** - * License Agreement. - * - * JBoss RichFaces - Ajax4jsf Component Library - * - * Copyright (C) 2007 Exadel, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1 as published by the Free Software Foundation. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA - */ - -package org.richfaces.event; - -import javax.faces.component.UIComponent; -import javax.faces.event.ActionEvent; -import javax.faces.event.FacesListener; - -/** - * @author Wesley Hales - */ -public class DataScrollerEvent extends ActionEvent { - - /** - * = - */ - private static final long serialVersionUID =3D 2657353903701932561L; - private String oldScrolVal; - private String newScrolVal; - private int page; - - /** - * Creates a new ScrollerEvent. - * = - * @param component - * the source of the event - * @param thisOldScrolVal - * the previously showing item identifier - * @param thisNewScrolVal - * the currently showing item identifier - */ - public DataScrollerEvent(UIComponent component, String thisOldScrolVal= , String thisNewScrolVal, int page) { - super(component); - oldScrolVal =3D thisOldScrolVal; - newScrolVal =3D thisNewScrolVal; - this.page =3D page; - } - - public String getOldScrolVal() { - return oldScrolVal; - } - - public String getNewScrolVal() { - return newScrolVal; - } - - /** - * @since 3.2 - * @return new page or -1 if not applicable - */ - public int getPage() { - return page; - } - - public boolean isAppropriateListener(FacesListener listener) { - return super.isAppropriateListener(listener) || (listener instance= of DataScrollerListener); - } - - /** - * Delivers this event to the SliderListener. - * = - * @param listener - * the slider listener - */ - public void processListener(FacesListener listener) { - if (listener instanceof DataScrollerListener) { - DataScrollerListener dataScrollerListener =3D (DataScrollerLis= tener) listener; - dataScrollerListener.processScroller(this); - } - - if (super.isAppropriateListener(listener)) { - super.processListener(listener); - } - } -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrol= lerListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerLi= stener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerLi= stener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,30 +0,0 @@ -/** - * License Agreement. - * - * JBoss RichFaces - Ajax4jsf Component Library - * - * Copyright (C) 2007 Exadel, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1 as published by the Free Software Foundation. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA - */ - -package org.richfaces.event; - -import javax.faces.event.FacesListener; - -public interface DataScrollerListener extends FacesListener { - - public void processScroller(org.richfaces.event.DataScrollerEvent even= t); - -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrol= lerSource.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerSo= urce.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/DataScrollerSo= urce.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,48 +0,0 @@ -/** - * License Agreement. - * - * JBoss RichFaces - Ajax4jsf Component Library - * - * Copyright (C) 2007 Exadel, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1 as published by the Free Software Foundation. - * - * This library 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 library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-130= 1 USA - */ - -package org.richfaces.event; - -public interface DataScrollerSource { - - /** - * Adds a DataScrollerListener to this DataScrollerSource. - * = - * @param listener - * the Scroler listener to be added - */ - public void addScrollerListener(org.richfaces.event.DataScrollerListen= er listener); - - /** - * Removes a DataFilterSliderListener from this DataScrollerSourceSour= ce. - * = - * @param listener the Scroler listener to be removed - */ - public void removeScrollerListener(DataScrollerListener listener); - - /** - * Returns all ScrollerListeners for this DataScrollerSource. - * = - * @return the Scroler listener array - */ - public DataScrollerListener[] getScrollerListeners(); - -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingEve= nt.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingEvent.ja= va 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingEvent.ja= va 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,44 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.richfaces.event; - -import javax.faces.component.UIComponent; -import javax.faces.event.FacesEvent; -import javax.faces.event.FacesListener; - -public class PagingEvent extends FacesEvent { - - private static final long serialVersionUID =3D -8176111805839316345L; - - public PagingEvent(UIComponent component) { - super(component); - } - - public boolean isAppropriateListener(FacesListener listener) { - return listener instanceof PagingListener; - } - - public void processListener(FacesListener listener) { - ((PagingListener) listener).processPaging(this); = - } -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingLis= tener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingListener= .java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/PagingListener= .java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,31 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.richfaces.event; - -import javax.faces.event.FacesListener; - -public interface PagingListener extends FacesListener { - = - public void processPaging(PagingEvent event); - -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleEve= nt.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleEvent.ja= va 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleEvent.ja= va 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,72 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.richfaces.event; - -import javax.faces.component.UIComponent; -import javax.faces.event.FacesEvent; -import javax.faces.event.FacesListener; - -/** - * @author Anton Belevich - * = - */ -public class ToggleEvent extends FacesEvent { - - private static final long serialVersionUID =3D 2916560585918250885L; - = - private String togglerId; - - private boolean expanded; - = - = - = - public ToggleEvent(UIComponent source, boolean expanded) { - this(source, expanded, null); - } - = - public ToggleEvent(UIComponent source, boolean expanded, String togger= Id) { - super(source); - this.expanded =3D expanded; - this.togglerId =3D toggerId; - } - = - public String getTogglerId() { - return togglerId; - } - - public void setTogglerId(String togglerId) { - this.togglerId =3D togglerId; - } - - public boolean isExpanded() { - return this.expanded; - } - - public boolean isAppropriateListener(FacesListener listener) { - return (listener instanceof ToggleListener); - } - - public void processListener(FacesListener listener) { - ((ToggleListener) listener).processToggle(this); - } -} Deleted: trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleLis= tener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleListener= .java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/ToggleListener= .java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,35 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.richfaces.event; - -import javax.faces.event.FacesListener; - -/** - * @author Anton Belevich - * = - */ -public interface ToggleListener extends FacesListener { - - public void processToggle(ToggleEvent event); - -} Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSele= ctionChangeEvent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSelectionC= hangeEvent.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSelectionC= hangeEvent.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -53,7 +53,7 @@ = @Override public void processListener(FacesListener listener) { - ((TreeSelectionChangeListener) listener).processSelectionChange(th= is); + ((TreeSelectionChangeListener) listener).processTreeSelectionChang= e(this); } = public Collection getOldSelection() { Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSele= ctionChangeListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSelectionC= hangeListener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeSelectionC= hangeListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,6 +30,6 @@ */ public interface TreeSelectionChangeListener extends FacesListener { = - public void processSelectionChange(TreeSelectionChangeEvent event) thr= ows AbortProcessingException; + public void processTreeSelectionChange(TreeSelectionChangeEvent event)= throws AbortProcessingException; = } Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeTogg= leEvent.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeToggleEven= t.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeToggleEven= t.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -56,7 +56,7 @@ = @Override public void processListener(FacesListener listener) { - ((TreeToggleListener) listener).processToggle(this); + ((TreeToggleListener) listener).processTreeToggle(this); } = } Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeTogg= leListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeToggleList= ener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/event/TreeToggleList= ener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,6 +30,6 @@ */ public interface TreeToggleListener extends FacesListener { = - public void processToggle(TreeToggleEvent event) throws AbortProcessin= gException; + public void processTreeToggle(TreeToggleEvent event) throws AbortProce= ssingException; = } Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/model/Field.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/model/Field.java 201= 1-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/model/Field.java 201= 1-03-27 13:51:09 UTC (rev 22318) @@ -22,14 +22,18 @@ = package org.richfaces.model; = +import java.io.Serializable; + import javax.el.ValueExpression; = /** * @author Konstantin Mishin * = */ -public abstract class Field { +public abstract class Field implements Serializable{ = + private static final long serialVersionUID =3D 1448767072411366177L; + = private ValueExpression expression; = public Field(ValueExpression expression) { Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/model/FilterFi= eld.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/model/FilterField.ja= va 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/model/FilterField.ja= va 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,6 +30,8 @@ */ public class FilterField extends Field{ = + private static final long serialVersionUID =3D -935655586515863809L; + private Filter filter; = private Object filterValue; Modified: trunk/ui/iteration/api/src/main/java/org/richfaces/model/SortFiel= d.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/api/src/main/java/org/richfaces/model/SortField.java= 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/api/src/main/java/org/richfaces/model/SortField.java= 2011-03-27 13:51:09 UTC (rev 22318) @@ -34,6 +34,8 @@ */ public class SortField extends Field { = + private static final long serialVersionUID =3D 654268763477658266L; + private Comparator comparator; = private SortOrder sortOrder; Modified: trunk/ui/iteration/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -41,8 +41,8 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/iteration - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/iteration - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/iteration + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/iteration + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/i= teration \ No newline at end of file Modified: trunk/ui/iteration/ui/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -60,8 +60,8 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/iteration/datascroller/impl - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/iteration/datascroller/impl - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/iteration/datascroller/impl + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/iteration/datascroller/impl + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/i= teration/datascroller/impl \ No newline at end of file Modified: trunk/ui/iteration/ui/src/main/config/faces-config.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/config/faces-config.xml 2011-03-25 18:58= :21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/config/faces-config.xml 2011-03-27 13:51= :09 UTC (rev 22318) @@ -26,7 +26,7 @@ org.richfaces.event.TreeToggleEvent org.richfaces.event.TreeToggleListener org.richfaces.event.TreeToggleSource - processToggle + processTreeToggle treeToggleListener Facelets @@ -39,7 +39,7 @@ org.richfaces.event.TreeSelectionChangeEvent<= /cdk:event-class> org.richfaces.event.TreeSelectionChangeLis= tener org.richfaces.event.TreeSelectionChangeSourc= e - processSelectionChange + processTreeSelectionChange treeSelectionChangeListener Facelets Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actCollapsibleSubTable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractCol= lapsibleSubTable.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractCol= lapsibleSubTable.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -28,13 +28,14 @@ import javax.faces.event.AbortProcessingException; import javax.faces.event.FacesEvent; = +import org.richfaces.StateHolderArray; import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.JsfRenderer; import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; -import org.richfaces.event.ToggleEvent; -import org.richfaces.event.ToggleListener; +import org.richfaces.event.CollapsibleSubTableToggleEvent; +import org.richfaces.event.CollapsibleSubTableToggleListener; = = /** @@ -46,7 +47,8 @@ family =3D AbstractCollapsibleSubTable.COMPONENT_FAMILY, = generate =3D "org.richfaces.component.UICollapsibleSubTable", renderer =3D @JsfRenderer(type =3D "org.richfaces.CollapsibleSubTableR= enderer"), - tag =3D @Tag(name =3D "collapsibleSubTable", handler =3D "org.richface= s.taglib.CollapsibleSubTableHandler", type =3D TagType.Facelets) + tag =3D @Tag(name =3D "collapsibleSubTable", handler =3D "org.richface= s.taglib.CollapsibleSubTableHandler", type =3D TagType.Facelets), + attributes =3D "rowKeyConverter-prop.xml" ) public abstract class AbstractCollapsibleSubTable extends UIDataTableBase = implements Column, Expandable { = @@ -82,8 +84,8 @@ public abstract String getExpandMode(); = public void broadcast(FacesEvent event) throws AbortProcessingExceptio= n { - if (event instanceof ToggleEvent) { - ToggleEvent toggleEvent =3D (ToggleEvent) event; + if (event instanceof CollapsibleSubTableToggleEvent) { + CollapsibleSubTableToggleEvent toggleEvent =3D (CollapsibleSub= TableToggleEvent) event; boolean newValue =3D toggleEvent.isExpanded(); = getStateHelper().put(PropertyKeys.expanded, newValue); @@ -127,23 +129,24 @@ throw new IllegalArgumentException("subtable is not sortable eleme= nt"); } = - public void addToggleListener(ToggleListener listener) { + public void addCollapsibleSubTableToggleListener(CollapsibleSubTableTo= ggleListener listener) { addFacesListener(listener); } = - public void removeToggleListener(ToggleListener listener) { + public void removeCollapsibleSubTableToggleListener(CollapsibleSubTabl= eToggleListener listener) { removeFacesListener(listener); } = - public ToggleListener[] getToggleListeners() { - return (ToggleListener[]) getFacesListeners(ToggleListener.class); + public CollapsibleSubTableToggleListener[] getCollapsibleSubTableToggl= eListener() { + return (CollapsibleSubTableToggleListener[]) getFacesListeners(Col= lapsibleSubTableToggleListener.class); } = public void setIterationState(Object stateObject) { - Object[] state =3D (Object[]) stateObject; - if (state !=3D null) { - super.setIterationState(state[0]); - getStateHelper().put(PropertyKeys.expanded, state[1]); + StateHolderArray stateHolderList =3D (StateHolderArray) stateObjec= t; + = + if (stateHolderList !=3D null && !stateHolderList.isEmpty()) { + super.setIterationState(stateHolderList.get(0)); + getStateHelper().put(PropertyKeys.expanded, (Boolean) stateHol= derList.get(1)); } else { super.setIterationState(null); getStateHelper().put(PropertyKeys.expanded, null); @@ -151,9 +154,11 @@ } = public Object getIterationState() { - Object [] state =3D new Object[2]; - state[0] =3D super.getIterationState(); - state[1] =3D getStateHelper().get(PropertyKeys.expanded); = - return state; + StateHolderArray holderList =3D new StateHolderArray(); + = + holderList.add(super.getIterationState()); + holderList.add(getStateHelper().get(PropertyKeys.expanded)); + = + return holderList; } } \ No newline at end of file Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actDataGrid.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aGrid.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aGrid.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -58,7 +58,7 @@ generate =3D "org.richfaces.component.UIDataGrid", renderer =3D @JsfRenderer(type =3D "org.richfaces.DataGridRenderer"), tag =3D @Tag(name=3D"dataGrid", handler=3D"org.richfaces.taglib.DataGr= idHandler", type=3DTagType.Facelets), - attributes =3D {"dataGrid-rows-props.xml"} + attributes =3D {"core-props.xml", "dataGrid-rows-props.xml", "rowKeyCo= nverter-prop.xml"} ) public abstract class AbstractDataGrid extends UISequence implements Row, = MetaComponentResolver, MetaComponentEncoder { = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actDataScroller.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aScroller.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aScroller.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -39,7 +39,7 @@ import org.richfaces.DataScrollerUtils; import org.richfaces.application.MessageFactory; import org.richfaces.application.ServiceTracker; -import org.richfaces.appplication.FacesMessages; +import org.richfaces.application.FacesMessages; import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.Facet; import org.richfaces.cdk.annotations.JsfComponent; @@ -47,9 +47,9 @@ import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; import org.richfaces.component.util.MessageUtil; -import org.richfaces.event.DataScrollerEvent; -import org.richfaces.event.DataScrollerListener; -import org.richfaces.event.DataScrollerSource; +import org.richfaces.event.DataScrollEvent; +import org.richfaces.event.DataScrollListener; +import org.richfaces.event.DataScrollSource; = = @JsfComponent( @@ -59,7 +59,7 @@ renderer =3D @JsfRenderer(type =3D "org.richfaces.DataScrollerRenderer= "), tag =3D @Tag(name=3D"dataScroller", handler=3D"org.richfaces.taglib.Da= taScrollerHandler", type=3DTagType.Facelets) ) -public abstract class AbstractDataScroller extends UIComponentBase impleme= nts DataScrollerSource, IterationStateHolder { +public abstract class AbstractDataScroller extends UIComponentBase impleme= nts DataScrollSource, IterationStateHolder { = public static final String COMPONENT_TYPE =3D "org.richfaces.DataScrol= ler"; = @@ -96,6 +96,9 @@ public abstract String getLastPageMode(); = @Attribute + public abstract Object getRender(); + + @Attribute public abstract int getMaxPages(); = public int getMaxPagesOrDefault() { @@ -136,21 +139,21 @@ getStateHelper().put("for", forId); } = - public void addScrollerListener(DataScrollerListener listener) { + public void addScrollListener(DataScrollListener listener) { addFacesListener(listener); } = - public DataScrollerListener[] getScrollerListeners() { - return (DataScrollerListener[]) getFacesListeners(DataScrollerList= ener.class); + public DataScrollListener[] getScrollListeners() { + return (DataScrollListener[]) getFacesListeners(DataScrollListener= .class); } = - public void removeScrollerListener(DataScrollerListener listener) { + public void removeScrollListener(DataScrollListener listener) { removeFacesListener(listener); } = public void broadcast(FacesEvent event) throws AbortProcessingExceptio= n { - if (event instanceof DataScrollerEvent) { - DataScrollerEvent dataScrollerEvent =3D (DataScrollerEvent) ev= ent; + if (event instanceof DataScrollEvent) { + DataScrollEvent dataScrollerEvent =3D (DataScrollEvent) event; = updateModel(dataScrollerEvent.getPage()); = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actDataTable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aTable.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractDat= aTable.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -41,7 +41,8 @@ family =3D AbstractDataTable.COMPONENT_FAMILY, = generate =3D "org.richfaces.component.UIDataTable", renderer =3D @JsfRenderer(type =3D "org.richfaces.DataTableRenderer"), - tag =3D @Tag(name=3D"dataTable", handler=3D"org.richfaces.taglib.DataT= ableHandler", type=3DTagType.Facelets) + tag =3D @Tag(name=3D"dataTable", handler=3D"org.richfaces.taglib.DataT= ableHandler", type=3DTagType.Facelets), + attributes =3D "rowKeyConverter-prop.xml" ) public abstract class AbstractDataTable extends UIDataTableBase { = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actExtendedDataTable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractExt= endedDataTable.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractExt= endedDataTable.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -22,9 +22,12 @@ = package org.richfaces.component; = -import java.io.IOException; -import java.util.Collection; -import java.util.Map; +import org.richfaces.cdk.annotations.*; +import org.richfaces.context.ExtendedVisitContext; +import org.richfaces.context.ExtendedVisitContextMode; +import org.richfaces.log.Logger; +import org.richfaces.log.RichfacesLogger; +import org.richfaces.model.SelectionMode; = import javax.el.ValueExpression; import javax.faces.component.UIComponent; @@ -32,19 +35,11 @@ import javax.faces.component.visit.VisitContext; import javax.faces.component.visit.VisitResult; import javax.faces.context.FacesContext; +import java.io.IOException; +import java.util.Collection; +import java.util.Map; = -import org.richfaces.cdk.annotations.Attribute; -import org.richfaces.cdk.annotations.EventName; -import org.richfaces.cdk.annotations.JsfComponent; -import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.cdk.annotations.Tag; -import org.richfaces.context.ExtendedVisitContext; -import org.richfaces.context.ExtendedVisitContextMode; -import org.richfaces.log.Logger; -import org.richfaces.log.RichfacesLogger; -import org.richfaces.model.SelectionMode; = - /** * @author Konstantin Mishin * = @@ -56,7 +51,8 @@ family =3D AbstractExtendedDataTable.COMPONENT_FAMILY, = generate =3D "org.richfaces.component.UIExtendedDataTable", renderer =3D @JsfRenderer(type =3D "org.richfaces.ExtendedDataTableRen= derer"), - tag =3D @Tag(name =3D "extendedDataTable") + tag =3D @Tag(name =3D "extendedDataTable", handler =3D "org.richfaces.= taglib.ExtendedDataTableHandler", type =3D TagType.Facelets), + attributes =3D "rowKeyConverter-prop.xml" ) public abstract class AbstractExtendedDataTable extends UIDataTableBase im= plements MetaComponentResolver, MetaComponentEncoder { = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actList.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractLis= t.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractLis= t.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -21,28 +21,27 @@ = package org.richfaces.component; = -import java.util.Iterator; - -import javax.faces.component.UIComponent; - -import org.richfaces.cdk.annotations.Attribute; -import org.richfaces.cdk.annotations.EventName; -import org.richfaces.cdk.annotations.Facet; -import org.richfaces.cdk.annotations.JsfComponent; -import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.cdk.annotations.Tag; - import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterators; import com.google.common.collect.Maps; +import org.richfaces.cdk.annotations.*; = +import javax.faces.component.UIComponent; +import java.util.Iterator; + /** * JSF component class * = */ -(a)JsfComponent(type =3D "org.richfaces.List", family =3D "org.richfaces.L= ist", facets =3D @Facet(name =3D AbstractList.TERM),tag=3D@Tag(name=3D"list= "), - renderer =3D @JsfRenderer(type =3D "org.richfaces.ListRenderer")) +(a)JsfComponent( + type =3D "org.richfaces.List", + family =3D "org.richfaces.List", + facets =3D @Facet(name =3D AbstractList.TERM), + tag =3D @Tag(name =3D "list", handler =3D "org.richfaces.taglib.Li= stHandler", type =3D TagType.Facelets), + renderer =3D @JsfRenderer(type =3D "org.richfaces.ListRenderer"), + attributes =3D "rowKeyConverter-prop.xml" +) public abstract class AbstractList extends UISequence { = public static final String TERM =3D "term"; Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actTree.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= e.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= e.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,7 +30,6 @@ = import javax.el.ELContext; import javax.el.ELException; -import javax.el.MethodExpression; import javax.el.ValueExpression; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; @@ -50,14 +49,13 @@ import org.ajax4jsf.model.DataComponentState; import org.ajax4jsf.model.DataVisitor; import org.ajax4jsf.model.ExtendedDataModel; +import org.richfaces.application.FacesMessages; import org.richfaces.application.MessageFactory; import org.richfaces.application.ServiceTracker; -import org.richfaces.appplication.FacesMessages; import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.EventName; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.cdk.annotations.Signature; import org.richfaces.cdk.annotations.Tag; import org.richfaces.component.util.MessageUtil; import org.richfaces.context.ExtendedVisitContext; @@ -68,6 +66,7 @@ import org.richfaces.event.TreeToggleEvent; import org.richfaces.event.TreeToggleListener; import org.richfaces.event.TreeToggleSource; +import org.richfaces.model.ClassicTreeNodeDataModelImpl; import org.richfaces.model.DeclarativeModelKey; import org.richfaces.model.DeclarativeTreeDataModelImpl; import org.richfaces.model.DeclarativeTreeModel; @@ -75,6 +74,7 @@ import org.richfaces.model.TreeDataModel; import org.richfaces.model.TreeDataModelTuple; import org.richfaces.model.TreeDataVisitor; +import org.richfaces.model.TreeNode; import org.richfaces.renderkit.MetaComponentRenderer; = import com.google.common.base.Predicate; @@ -92,7 +92,8 @@ family =3D AbstractTree.COMPONENT_FAMILY, = tag =3D @Tag(name =3D "tree", handler =3D "org.richfaces.view.facelets= .TreeHandler"), renderer =3D @JsfRenderer(type =3D "org.richfaces.TreeRenderer"), - attributes =3D {"ajax-props.xml", "events-props.xml", "core-props.xml"= , "i18n-props.xml", "tree-common-props.xml"} + attributes =3D {"ajax-props.xml", "events-props.xml", "core-props.xml"= , "i18n-props.xml", "tree-common-props.xml", = + "rowKeyConverter-prop.xml", "tree-serverEventListeners-props.xml"} ) //TODO add rowData caching for wrapper events public abstract class AbstractTree extends UIDataAdaptor implements MetaCo= mponentResolver, MetaComponentEncoder, TreeSelectionChangeSource, TreeToggl= eSource { @@ -138,14 +139,6 @@ selection } = - @SuppressWarnings("unused") - @Attribute(generate =3D false, signature =3D @Signature(returnType =3D= Void.class, parameters =3D TreeSelectionChangeEvent.class)) - private MethodExpression selectionChangeListener; - - @SuppressWarnings("unused") - @Attribute(generate =3D false, signature =3D @Signature(returnType =3D= Void.class, parameters =3D TreeToggleListener.class)) - private MethodExpression toggleListener; - private transient TreeRange treeRange; = private transient UIComponent currentComponent =3D this; @@ -203,6 +196,7 @@ return COMPONENT_FAMILY; } = + @Attribute public Collection getSelection() { @SuppressWarnings("unchecked") Collection selection =3D (Collection) getStateHelp= er().eval(PropertyKeys.selection); @@ -481,9 +475,20 @@ Object value =3D getValue(); if (value =3D=3D null) { dataModel =3D new DeclarativeTreeDataModelImpl(this); + } else if (value instanceof TreeNode) { + dataModel =3D new ClassicTreeNodeDataModelImpl(); + dataModel.setWrappedData(value); + } else if (value instanceof TreeDataModel) { + if (value instanceof ExtendedDataModel) { + dataModel =3D (ExtendedDataModel) value; + } else { + throw new IllegalArgumentException( + MessageFormat.format("TreeDataModel implementation {0}= is not a subclass of ExtendedDataModel", = + value.getClass().getName())); + } } else { dataModel =3D new SwingTreeNodeDataModelImpl(); - dataModel.setWrappedData(getValue()); + dataModel.setWrappedData(value); } = return dataModel; Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actTreeModelAdaptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eModelAdaptor.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eModelAdaptor.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -31,6 +31,7 @@ import javax.faces.context.FacesContext; import javax.faces.convert.Converter; = +import org.richfaces.cdk.annotations.Attribute; import org.richfaces.convert.ConverterUtil; = /** @@ -45,6 +46,7 @@ = private Converter rowKeyConverter; = + @Attribute public Converter getRowKeyConverter() { if (this.rowKeyConverter !=3D null) { return this.rowKeyConverter; Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actTreeNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eNode.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eNode.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,7 +23,6 @@ = import java.io.IOException; = -import javax.el.MethodExpression; import javax.el.ValueExpression; import javax.faces.component.UIComponent; import javax.faces.component.UIComponentBase; @@ -40,7 +39,6 @@ import org.richfaces.cdk.annotations.EventName; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.cdk.annotations.Signature; import org.richfaces.cdk.annotations.Tag; import org.richfaces.context.ExtendedVisitContext; import org.richfaces.context.ExtendedVisitContextMode; @@ -58,7 +56,7 @@ family =3D AbstractTreeNode.COMPONENT_FAMILY, = tag =3D @Tag(name =3D "treeNode", handler =3D "org.richfaces.view.face= lets.TreeNodeHandler"), renderer =3D @JsfRenderer(type =3D "org.richfaces.TreeNodeRenderer"), - attributes =3D {"events-props.xml", "core-props.xml", "i18n-props.xml"= , "tree-common-props.xml"} + attributes =3D {"events-props.xml", "core-props.xml", "i18n-props.xml"= , "tree-common-props.xml", "treeNode-serverEventListeners-props.xml"} ) public abstract class AbstractTreeNode extends UIComponentBase implements = MetaComponentResolver, MetaComponentEncoder, IterationStateHolder, TreeTogg= leSource { = @@ -72,9 +70,6 @@ expanded } = - @Attribute(generate =3D false, signature =3D @Signature(returnType =3D= Void.class, parameters =3D TreeToggleEvent.class)) - private MethodExpression toggleListener; - public AbstractTreeNode() { setRendererType("org.richfaces.TreeNodeRenderer"); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataT= ableColumnsIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableCo= lumnsIterator.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableCo= lumnsIterator.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -24,34 +24,38 @@ = import java.util.Iterator; = +import javax.faces.component.UIColumn; import javax.faces.component.UIComponent; = +import com.google.common.collect.AbstractIterator; = + /** * Iterator for all children table columns. * = * @author asmirnov * = */ -class DataTableColumnsIterator extends DataTableIteratorBase { +class DataTableColumnsIterator extends AbstractIterator { = - protected Iterator childrenIterator; - - public DataTableColumnsIterator(UIComponent dataTable) { - this.childrenIterator =3D dataTable.getChildren().iterator(); + private Iterator childrenIterator; + = + public DataTableColumnsIterator(UIComponent component) { + super(); + this.childrenIterator =3D component.getChildren().iterator(); } = - protected UIComponent nextItem() { - while (childrenIterator !=3D null && childrenIterator.hasNext()) { + @Override + protected UIComponent computeNext() { + while (childrenIterator.hasNext()) { UIComponent child =3D childrenIterator.next(); - if (child instanceof javax.faces.component.UIColumn || child i= nstanceof Column) { + = + if (child instanceof UIColumn || child instanceof Column) { return child; } } - - // TODO nick - free childrenIterator field - - return null; + = + return endOfData(); } - + = } Added: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTabl= eDataChilderIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDa= taChilderIterator.java (rev 0) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDa= taChilderIterator.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,69 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2011, 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.component; + +import java.util.Iterator; + +import javax.faces.component.UIColumn; +import javax.faces.component.UIComponent; + +import com.google.common.collect.AbstractIterator; +import com.google.common.collect.Iterators; + +/** + * @author Nick Belaevski + * = + */ +class DataTableDataChilderIterator extends AbstractIterator { + + private Iterator dataTableChildren; + = + private Iterator columnChildren =3D Iterators.emptyIterat= or(); + = + public DataTableDataChilderIterator(UIComponent dataTable) { + super(); + this.dataTableChildren =3D dataTable.getChildren().iterator(); + } + + @Override + protected UIComponent computeNext() { + while (columnChildren.hasNext() || dataTableChildren.hasNext()) { + if (columnChildren.hasNext()) { + return columnChildren.next(); + } + = + UIComponent child =3D dataTableChildren.next(); + if (child instanceof UIColumn || child instanceof AbstractColu= mn) { + columnChildren =3D child.getChildren().iterator(); + } else { + columnChildren =3D Iterators.emptyIterator(); + return child; + } + } + + dataTableChildren =3D Iterators.emptyIterator(); + columnChildren =3D Iterators.emptyIterator(); + = + return endOfData(); + } + +} Deleted: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTa= bleDataIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDa= taIterator.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDa= taIterator.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,71 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.richfaces.component; - -import java.util.Iterator; - -import javax.faces.component.UIColumn; -import javax.faces.component.UIComponent; - - -class DataTableDataIterator extends DataTableIteratorBase { - - private Iterator facetsIterator; - - private Iterator childrenIterator; - - public DataTableDataIterator(UIDataTableBase dataTable) { - this.childrenIterator =3D dataTable.getChildren().iterator(); - this.facetsIterator =3D dataTable.getFacets().values().iterator(); - } - - protected UIComponent nextItem() { - - UIComponent nextColumn =3D null; - while (nextColumn =3D=3D null && childrenIterator.hasNext()) { - UIComponent child =3D childrenIterator.next(); - if ((child instanceof UIColumn) || (child instanceof Column)) { - nextColumn =3D child; - } = - } - - // TODO nick - free childrenIterator - - while (nextColumn =3D=3D null && facetsIterator.hasNext()) { - nextColumn =3D facetsIterator.next(); - } - - // TODO nick - free facetsIterator - - return nextColumn; - } - - protected Iterator getFacetsIterator() { - return this.facetsIterator; - } - - protected Iterator getChildrenIterator() { - return this.childrenIterator; - } - -} Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataT= ableFixedChildrenIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFi= xedChildrenIterator.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFi= xedChildrenIterator.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -27,56 +27,45 @@ import javax.faces.component.UIColumn; import javax.faces.component.UIComponent; = +import com.google.common.collect.AbstractIterator; +import com.google.common.collect.Iterators; = -class DataTableFixedChildrenIterator extends DataTableDataIterator { = - private Iterator currentColumnIterator; +class DataTableFixedChildrenIterator extends AbstractIterator= { = - public DataTableFixedChildrenIterator(UIDataTableBase dataTable) { - super(dataTable); + private Iterator facetsIterator; + = + private Iterator dataTableChildren; + = + private Iterator columnFacets =3D Iterators.emptyIterator= (); + = + public DataTableFixedChildrenIterator(UIComponent dataTable) { + super(); + = + this.facetsIterator =3D dataTable.getFacets().values().iterator(); + this.dataTableChildren =3D dataTable.getChildren().iterator(); } = - protected UIComponent nextItem() { - UIComponent next =3D null; - - if (currentColumnIterator !=3D null && currentColumnIterator.hasNe= xt()) { - next =3D currentColumnIterator.next(); - checkColumnIterator(); + @Override + protected UIComponent computeNext() { + if (facetsIterator.hasNext()) { + return facetsIterator.next(); } - - if (next =3D=3D null) { - Iterator childrenIterator =3D getChildrenIterator= (); - while (next =3D=3D null && childrenIterator.hasNext()) { - UIComponent child =3D childrenIterator.next(); - if ((child instanceof UIColumn) && child.isRendered()) { - currentColumnIterator =3D getChildFacetIterator(child); - next =3D nextItem(); - } = + = + while (columnFacets.hasNext() || dataTableChildren.hasNext()) { + if (columnFacets.hasNext()) { + return columnFacets.next(); } + = + UIComponent child =3D dataTableChildren.next(); + if (child instanceof UIColumn || child instanceof AbstractColu= mn) { + columnFacets =3D child.getFacets().values().iterator(); + } } = - if (next =3D=3D null) { - next =3D getNextFacet(); - } - return next; - } + dataTableChildren =3D Iterators.emptyIterator(); + columnFacets =3D Iterators.emptyIterator(); = - protected UIComponent getNextFacet() { - Iterator facetsIterator =3D getFacetsIterator(); - if(facetsIterator.hasNext()) { - return facetsIterator.next(); - } - return null; + return endOfData(); } - - protected void checkColumnIterator() { - if (!currentColumnIterator.hasNext()) { - currentColumnIterator =3D null; - } - } - - protected Iterator getChildFacetIterator(UIComponent comp= onent) { - return component.getFacets().values().iterator(); - } - } Deleted: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTa= bleIteratorBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableIt= eratorBase.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableIt= eratorBase.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,72 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright ${year}, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ -package org.richfaces.component; - -import java.util.Iterator; -import java.util.NoSuchElementException; - -/** - * @author Anton Belevich - * @author Nick Belaevski - */ -public abstract class DataTableIteratorBase implements Iterator { - - private boolean isCompleted =3D false; - - private E next =3D null; - - private void setupNext() { - if (!isCompleted) { - if (next =3D=3D null) { - next =3D nextItem(); - - if (next =3D=3D null) { - isCompleted =3D true; - } - } - } - } - - public boolean hasNext() { - setupNext(); - - return next !=3D null; - } - - public E next() { - setupNext(); - - if (next =3D=3D null) { - throw new NoSuchElementException(); - } - - E result =3D next; - next =3D null; - return result; - } - - public void remove() { - throw new UnsupportedOperationException("Iterator is read-only"); - } - - protected abstract E nextItem(); -} Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UIDat= aTableBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UIDataTable= Base.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UIDataTable= Base.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -32,7 +32,6 @@ import java.util.Map; import java.util.Set; = -import javax.faces.component.UIColumn; import javax.faces.component.UIComponent; import javax.faces.component.visit.VisitCallback; import javax.faces.component.visit.VisitContext; @@ -42,7 +41,6 @@ import javax.faces.event.PhaseId; import javax.faces.event.PreRenderComponentEvent; = -import org.ajax4jsf.component.IterationStateHolder; import org.ajax4jsf.model.DataVisitor; import org.ajax4jsf.model.ExtendedDataModel; import org.ajax4jsf.model.Range; @@ -173,7 +171,7 @@ } = protected Iterator dataChildren() { - return new DataTableDataIterator(this); + return new DataTableDataChilderIterator(this); } = public boolean isColumnFacetPresent(String facetName) { @@ -334,6 +332,16 @@ return super.visitFixedChildren(visitContext, callback); } = + @Override + protected void restoreChildState(FacesContext facesContext) { + // Forces client id to be reset + for (UIComponent child : getChildren()) { + child.setId(child.getId()); + } + = + super.restoreChildState(facesContext); + } + = protected boolean visitDataChildren(VisitContext visitContext, final V= isitCallback callback, boolean visitRows) { if (visitContext instanceof ExtendedVisitContext && visitRows) { ExtendedVisitContext extendedVisitContext =3D (ExtendedVisitCo= ntext) visitContext; @@ -394,50 +402,4 @@ return SUPPORTED_META_COMPONENTS; } = - private boolean isStateful(UIComponent component) { - if (component instanceof IterationStateHolder) { - return true; - } - = - if (component instanceof UIColumn || component instanceof Column) { - return false; - } - = - return true; - } - = - @Override - protected void saveChildState(FacesContext facesContext) { - Iterator dataChildren =3D dataChildren(); - while (dataChildren.hasNext()) { - UIComponent child =3D dataChildren.next(); - = - if (isStateful(child)) { - saveChildState(facesContext, child); - } else { - for (UIComponent grandKid: child.getChildren()) { - saveChildState(facesContext, grandKid); - } - } - } - } - = - @Override - protected void restoreChildState(FacesContext facesContext) { - Iterator dataChildren =3D dataChildren(); - while (dataChildren.hasNext()) { - UIComponent child =3D dataChildren.next(); - = - if (isStateful(child)) { - restoreChildState(facesContext, child); - } else { - //reset cached clientId - child.setId(child.getId()); - = - for (UIComponent grandKid: child.getChildren()) { - restoreChildState(facesContext, grandKid); - } - } - } - } } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITre= eModelAdaptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITreeModel= Adaptor.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITreeModel= Adaptor.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -21,6 +21,7 @@ */ package org.richfaces.component; = +import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.Tag; = @@ -46,6 +47,7 @@ return COMPONENT_FAMILY; } = + @Attribute public Object getNodes() { Object nodes =3D getStateHelper().eval(PropertyKeys.nodes); = @@ -58,6 +60,7 @@ getStateHelper().put(PropertyKeys.nodes, nodes); } = + @Attribute public boolean isLeaf() { return (Boolean) getStateHelper().eval(PropertyKeys.leaf, false); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITre= eModelRecursiveAdaptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITreeModel= RecursiveAdaptor.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/UITreeModel= RecursiveAdaptor.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -21,6 +21,7 @@ */ package org.richfaces.component; = +import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.Tag; = @@ -46,6 +47,7 @@ return COMPONENT_FAMILY; } = + @Attribute public Object getRoots() { Object roots =3D getStateHelper().eval(PropertyKeys.roots); = @@ -58,6 +60,7 @@ getStateHelper().put(PropertyKeys.roots, roots); } = + @Attribute public Object getNodes() { return getStateHelper().eval(PropertyKeys.nodes); } @@ -70,6 +73,7 @@ return null; } = + @Attribute public boolean isLeaf() { return (Boolean) getStateHelper().eval(PropertyKeys.leaf, false); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExp= ressionTreeSelectionChangeListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExpressio= nTreeSelectionChangeListener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExpressio= nTreeSelectionChangeListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -43,7 +43,7 @@ super(methodExpressionOneArg); } = - public void processSelectionChange(TreeSelectionChangeEvent event) thr= ows AbortProcessingException { + public void processTreeSelectionChange(TreeSelectionChangeEvent event)= throws AbortProcessingException { processEvent(event); } = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExp= ressionTreeToggleListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExpressio= nTreeToggleListener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/event/MethodExpressio= nTreeToggleListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -42,7 +42,7 @@ super(methodExpressionOneArg); } = - public void processToggle(TreeToggleEvent event) throws AbortProcessin= gException { + public void processTreeToggle(TreeToggleEvent event) throws AbortProce= ssingException { processEvent(event); } = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTr= eeNodeDataModelImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNode= DataModelImpl.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/model/ClassicTreeNode= DataModelImpl.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -36,8 +36,6 @@ = private static final Converter DEFAULT_CONVERTER =3D new StringSequenc= eRowKeyConverter(); = - private TreeNode rootNode; - = public boolean isLeaf() { return getData().isLeaf(); } @@ -53,12 +51,12 @@ = @Override public Object getWrappedData() { - return rootNode; + return getRootNode(); } = @Override public void setWrappedData(Object data) { - this.rootNode =3D (TreeNode) data; + setRootNode((TreeNode) data); } = public Converter getRowKeyConverter() { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/model/iterators= /ClassicTreeNodeTuplesIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/Class= icTreeNodeTuplesIterator.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/model/iterators/Class= icTreeNodeTuplesIterator.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -34,8 +34,6 @@ = private TreeNode treeNode; = - private SequenceRowKey baseKey; - = private Iterator childrenKeysIterator =3D null; = public ClassicTreeNodeTuplesIterator(TreeNode treeNode, SequenceRowKey= baseKey) { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Abstr= actTableBaseRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/AbstractTab= leBaseRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/AbstractTab= leBaseRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -123,7 +123,9 @@ public void encodeFirstRowStart(ResponseWriter writer, FacesContext co= ntext, String parentId, int currentRow, UIComponent component) throws IOEx= ception { writer.startElement(HtmlConstants.TR_ELEMENT, component); String styleClass =3D concatClasses(getRowClass(context, parentId)= , getFirstRowClass(context, parentId), component.getAttributes().get(ROW_CL= ASS)); - encodeStyleClass(writer, context, component, HtmlConstants.STYLE_C= LASS_ATTR, styleClass); + if (styleClass.length() > 0) { + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClas= s, null); + } } = public void encodeFirstRowEnd(ResponseWriter writer)throws IOExceptio= n { @@ -133,7 +135,9 @@ public void encodeRowStart(ResponseWriter writer, FacesContext context= , String parentId, int currentRow, UIComponent component) throws IOExcepti= on { writer.startElement(HtmlConstants.TR_ELEMENT, component); String styleClass =3D concatClasses(getRowClass(context, parentId)= , component.getAttributes().get(ROW_CLASS)); - encodeStyleClass(writer, context, component, HtmlConstants.STYLE_C= LASS_ATTR, styleClass); = + if (styleClass.length() > 0) { + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClas= s, null); + } } = public void encodeRowEnd(ResponseWriter writer) throws IOException { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Abstr= actTableRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/AbstractTab= leRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/AbstractTab= leRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -84,8 +84,7 @@ decodeSortingFiltering(context, component); } = - @Override - protected void encodeRows(FacesContext facesContext, RowHolderBase row= Holder) { + protected void putRowStylesIntoContext(FacesContext facesContext, RowH= olderBase rowHolder) { UIDataTableBase dataTableBase =3D (UIDataTableBase)rowHolder.getRo= w(); = String rowClass =3D getRowSkinClass(); @@ -96,9 +95,7 @@ cellClass =3D mergeStyleClasses(CELL_CLASS_KEY, cellClass, dataTab= leBase); firstClass =3D mergeStyleClasses(FIRST_ROW_CLASS_KEY, firstClass, = dataTableBase); = - saveRowStyles(facesContext, dataTableBase.getClientId(facesContext= ), firstClass, rowClass, cellClass); - - super.encodeRows(facesContext, rowHolder); + saveRowStyles(facesContext, dataTableBase.getClientId(facesContext= ), firstClass, rowClass, cellClass); = } = protected boolean isEncodeHeaders(UIDataTableBase table) { @@ -146,35 +143,10 @@ encodeBeforeRows(writer, facesContext, dataTableBase, encodeParent= TBody, encodePartialUpdate); = if (rowCount > 0) { - processRows(writer, facesContext, dataTableBase, new Object[] = {encodePartialUpdate, encodeParentTBody}); + processRows(writer, facesContext, dataTableBase, new Object[]{= encodePartialUpdate, encodeParentTBody}); } else { - int columns =3D getColumnsCount(dataTableBase.columns()); - - writer.startElement(HtmlConstants.TR_ELEMENT, dataTableBase); - String styleClass =3D (String) dataTableBase.getAttributes().g= et("noDataStyleClass"); - styleClass =3D concatClasses(getNoDataClass(), styleClass); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClas= s, null); - - writer.startElement(HtmlConstants.TD_ELEM, dataTableBase); - writer.writeAttribute(HtmlConstants.COLSPAN_ATTRIBUTE, columns= , null); - - String cellStyleClass =3D (String) dataTableBase.getAttributes= ().get("noDataCellStyleClass"); - cellStyleClass =3D concatClasses( getNoDataCellClass(), cellSt= yleClass); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, cellStyle= Class, null); - - UIComponent noDataFacet =3D dataTableBase.getNoData(); - if (noDataFacet !=3D null && noDataFacet.isRendered()) { - noDataFacet.encodeAll(facesContext); - } else { - String noDataLabel =3D dataTableBase.getNoDataLabel(); - if (noDataLabel !=3D null) { - writer.writeText(noDataLabel, "noDataLabel"); - } - } - - writer.endElement(HtmlConstants.TD_ELEM); - writer.endElement(HtmlConstants.TR_ELEMENT); - } = + encodeNoDataFacetOrLabel(writer,facesContext,dataTableBase); + } = = encodeAfterRows(writer, facesContext, dataTableBase, encodeParentT= Body, encodePartialUpdate); @@ -193,6 +165,37 @@ dataTableBase.setRowKey(facesContext, key); dataTableBase.restoreOrigValue(facesContext); } + + public void encodeNoDataFacetOrLabel(ResponseWriter writer, FacesConte= xt facesContext, UIDataTableBase dataTableBase) + throws IOException { + + int columns =3D getColumnsCount(dataTableBase.columns()); + UIComponent noDataFacet =3D dataTableBase.getNoData(); + String noDataLabel =3D dataTableBase.getNoDataLabel(); + + writer.startElement(HtmlConstants.TR_ELEMENT, dataTableBase); + String styleClass =3D (String) dataTableBase.getAttributes().get("= noDataStyleClass"); + styleClass =3D concatClasses(getNoDataClass(), styleClass); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClass, n= ull); + + writer.startElement(HtmlConstants.TD_ELEM, dataTableBase); + writer.writeAttribute(HtmlConstants.COLSPAN_ATTRIBUTE, columns, nu= ll); + + String cellStyleClass =3D (String) dataTableBase.getAttributes().g= et("noDataCellStyleClass"); + cellStyleClass =3D concatClasses(getNoDataCellClass(), cellStyleCl= ass); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, cellStyleClas= s, null); + + if (noDataFacet !=3D null && noDataFacet.isRendered()) { + noDataFacet.encodeAll(facesContext); + } else if (noDataLabel !=3D null && noDataLabel.length() > 0) { + writer.writeText(noDataLabel, "noDataLabel"); + } else { + writer.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE, "display:= none;", null); + } + writer.endElement(HtmlConstants.TD_ELEM); + writer.endElement(HtmlConstants.TR_ELEMENT); + + } = protected void doEncodeChildren(ResponseWriter writer, FacesContext co= ntext, UIComponent component) throws IOException { if(component instanceof UIDataTableBase) { @@ -457,7 +460,7 @@ = writer.startElement(element, column); = - encodeStyleClass(writer, context, column, null, cellClass); + encodeStyleClass(writer, context, column, facetName + "Class",= cellClass); = writer.writeAttribute(HtmlConstants.SCOPE_ATTRIBUTE, HtmlConst= ants.COL_ELEMENT, null); getUtils().encodeAttribute(context, column, HtmlConstants.COLS= PAN_ATTRIBUTE); @@ -518,7 +521,9 @@ partialEnd(facesContext); } = - if (!isColumnGroup){ + if (isColumnGroup){ + writer.endElement(HtmlConstants.TR_ELEMENT); + } else { writer.endElement(element); writer.endElement(HtmlConstants.TR_ELEMENT); = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Colla= psibleSubTableRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Collapsible= SubTableRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Collapsible= SubTableRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -29,7 +29,7 @@ import org.richfaces.component.AbstractDataTable; import org.richfaces.component.Row; import org.richfaces.component.UIDataTableBase; -import org.richfaces.event.ToggleEvent; +import org.richfaces.event.CollapsibleSubTableToggleEvent; import org.richfaces.renderkit.util.AjaxRendererUtils; = import javax.faces.application.ResourceDependencies; @@ -111,7 +111,7 @@ } = = if(subTable.isExpanded() !=3D isExpanded) { - new ToggleEvent(subTable, isExpanded, togglerId).queue(); + new CollapsibleSubTableToggleEvent(subTable, isExpanded, t= ogglerId).queue(); } } } @@ -185,7 +185,7 @@ public void encodeRow(ResponseWriter writer, FacesContext facesContext= , RowHolderBase holder) throws IOException { RowHolder rowHolder =3D (RowHolder)holder; Row row =3D rowHolder.getRow(); - = + putRowStylesIntoContext(facesContext, rowHolder); = rowHolder.setRowStart(true); Iterator components =3D row.columns(); if (rowHolder.isUpdatePartial()) { @@ -217,7 +217,7 @@ partialEnd(facesContext); } } - = + @Override public void encodeAfterRows(ResponseWriter writer, FacesContext facesC= ontext, UIDataTableBase dataTableBase, boolean encodeParentTBody, boolean partialUpdate) throws IOExcepti= on { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Colla= psibleSubTableTogglerRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Collapsible= SubTableTogglerRendererBase.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Collapsible= SubTableTogglerRendererBase.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -161,6 +161,7 @@ if (label !=3D null && label.trim().length() > 0) { writer.startElement(HtmlConstants.A_ELEMENT, control); writer.writeAttribute(HtmlConstants.HREF_ATTR, "javascript:voi= d(0);", null); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-csttg= -lnk", null); = writer.writeText(label, null); writer.endElement(HtmlConstants.A_ELEMENT); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Colum= nGroupRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ColumnGroup= Renderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ColumnGroup= Renderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -59,7 +59,6 @@ columnNumber++; } = } - encodeRowEnd(writer); } = public RowHolderBase createRowHolder(FacesContext context, UIComponent= component, Object[] options) { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataG= ridRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataGridRen= derer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataGridRen= derer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,6 +23,7 @@ package org.richfaces.renderkit; = import java.io.IOException; +import java.util.Map; = import javax.faces.FacesException; import javax.faces.application.ResourceDependencies; @@ -240,8 +241,11 @@ AbstractDataGrid dataGrid =3D (AbstractDataGrid)component; writer.startElement(HtmlConstants.TABLE_ELEMENT, dataGrid); writer.writeAttribute(HtmlConstants.ID_ATTRIBUTE, dataGrid.getClie= ntId(facesContext), null); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-dg", null= ); - + Map attributes =3D dataGrid.getAttributes(); + String classes =3D concatClasses("rf-dg", attributes.get(HtmlConst= ants.STYLE_CLASS_ATTR)); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, classes, null= ); + RenderKitUtils.renderAttribute(facesContext, "style", attributes.g= et(HtmlConstants.STYLE_ATTRIBUTE)); + RenderKitUtils.renderAttribute(facesContext, HtmlConstants.TITLE_A= TTRIBUTE, attributes.get(HtmlConstants.TITLE_ATTRIBUTE)); encodeCaption(writer, facesContext, dataGrid); encodeHeader(writer, facesContext, dataGrid, false); encodeFooter(writer, facesContext, dataGrid, false); @@ -288,14 +292,12 @@ int columns =3D dataGrid.getColumns(); int rest =3D columns - cell; = - if(rest !=3D 0) { - for (int i =3D 0; i < rest; i++) { - writer.startElement(HtmlConstants.TD_ELEM, dataGrid); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-d= g-c", null); - writer.endElement(HtmlConstants.TD_ELEM); - } - writer.endElement(HtmlConstants.TR_ELEMENT); + for (int i =3D 0; i < rest; i++) { + writer.startElement(HtmlConstants.TD_ELEM, dataGrid); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-dg-c"= , null); + writer.endElement(HtmlConstants.TD_ELEM); } + writer.endElement(HtmlConstants.TR_ELEMENT); } = public DataVisitResult process(FacesContext facesContext, Object rowKe= y, Object argument) { Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataS= crollerBaseRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrolle= rBaseRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrolle= rBaseRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -42,7 +42,7 @@ import org.ajax4jsf.javascript.JSReference; import org.richfaces.component.AbstractDataScroller; import org.richfaces.component.DataScrollerControlsMode; -import org.richfaces.event.DataScrollerEvent; +import org.richfaces.event.DataScrollEvent; import org.richfaces.renderkit.util.AjaxRendererUtils; = @ResourceDependencies( { = @@ -68,7 +68,7 @@ int page =3D scroller.getPage(); = if (newPage !=3D 0 && newPage !=3D page) { - new DataScrollerEvent(scroller, String.valueOf(page), para= m, newPage).queue(); + new DataScrollEvent(scroller, String.valueOf(page), param,= newPage).queue(); } } } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataT= ableRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRe= nderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRe= nderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -77,19 +77,9 @@ public void begin(ResponseWriter writer, FacesContext context, UIC= omponent component, Object [] params) throws IOException { org.richfaces.component.AbstractColumn column =3D (org.richfac= es.component.AbstractColumn) component; writer.writeAttribute(HtmlConstants.ID_ATTRIBUTE, column.getCl= ientId(context), null); - - if (isSortable(column)) { - //TODO :anton -> should component be selfSorted - writer.startElement(HtmlConstants.SPAN_ELEM, column); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rich= -table-sortable-header", null); - } } = public void end(ResponseWriter writer, FacesContext context, UICom= ponent component, Object [] params) throws IOException { - org.richfaces.component.AbstractColumn column =3D (org.richfac= es.component.AbstractColumn) component; - if (isSortable(column)) { - writer.endElement(HtmlConstants.SPAN_ELEM); - } } } = @@ -147,6 +137,8 @@ = AbstractDataTable dataTable =3D (AbstractDataTable) row; = + putRowStylesIntoContext(facesContext, rowHolder); + boolean partialUpdate =3D rowHolder.isUpdatePartial(); boolean parentTbodyStart =3D rowHolder.isEncodeParentTBody(); boolean tbodyStart =3D parentTbodyStart; @@ -181,8 +173,26 @@ partialStart(facesContext, id); } = + if (!isSubtable && !parentTbodyStart && !tbodyStart) { + encodeTableBodyStart(writer, facesContext, dataTab= le); + rowHolder.setRowStart(true); + tbodyStart =3D true; + } + child.encodeAll(facesContext); = + if (!isSubtable) { + encodeRowEnd(writer); + if (!components.hasNext()) { + if (!parentTbodyStart && tbodyStart) { + encodeTableBodyEnd(writer); + tbodyStart =3D false; + } + } = + rowHolder.setRowStart(true); + rowHolder.resetProcessCell(); + } + = if (isSubtable && partialUpdate) { partialEnd(facesContext); } @@ -281,14 +291,6 @@ return true; } = - public boolean isSortable(UIColumn column) { - if (column instanceof org.richfaces.component.AbstractColumn) { - //TODO: anton - add check for the "comparator" property - return ((org.richfaces.component.AbstractColumn) column).getVa= lueExpression("sortBy") !=3D null; - } - return false; - } - public void encodeClientScript(ResponseWriter writer, FacesContext fac= esContext, UIDataTableBase dataTableBase) throws IOException { AbstractDataTable dataTable =3D (AbstractDataTable) dataTableBase; = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/Exten= dedDataTableRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDat= aTableRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDat= aTableRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -297,8 +297,7 @@ boolean columnFacetPresent =3D table.isColumnFacetPresent(name); if (columnFacetPresent || "footer".equals(name)) { writer.startElement(HtmlConstants.DIV_ELEM, table); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, HtmlUtil.= concatClasses("rf-edt-" + getFacetClassName(name), = - (String) table.getAttributes().get(name + "Class")), null); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-edt-"= + getFacetClassName(name), null); writer.startElement(HtmlConstants.TABLE_ELEMENT, table); writer.writeAttribute(HtmlConstants.CELLPADDING_ATTRIBUTE, "0"= , null); writer.writeAttribute(HtmlConstants.CELLSPACING_ATTRIBUTE, "0"= , null); @@ -374,7 +373,8 @@ = writer.startElement(HtmlConstants.DIV_ELEM, table); writer.writeAttribute(HtmlConstants.ID_ATTRIBUTE, elementId, n= ull); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-edt-t= bl-hdr", null); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, + HtmlUtil.concatClasses("rf-edt-tbl-hdr", table.getHeaderCl= ass()), null); header.encodeAll(context); writer.endElement(HtmlConstants.DIV_ELEM); = @@ -467,7 +467,8 @@ = writer.startElement(HtmlConstants.DIV_ELEM, table); writer.writeAttribute(HtmlConstants.ID_ATTRIBUTE, elementId, n= ull); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, "rf-edt-t= bl-ftr", null); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, + HtmlUtil.concatClasses("rf-edt-tbl-ftr", table.getFooterCl= ass()), null); footer.encodeAll(context); writer.endElement(HtmlConstants.DIV_ELEM); = @@ -806,10 +807,17 @@ if (column.isRendered()) { writer.startElement(HtmlConstants.TD_ELEM, table); = - String columnClass =3D getColumnClass(rowHolder, columnNum= ber); + String columnClass =3D concatClasses(getColumnClass(rowHol= der, columnNumber), = + column.getAttributes().get(HtmlConstants.STYLE_CLASS_A= TTR)); if (!"".equals(columnClass)) { writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, c= olumnClass, null); } + = + String columnStyle =3D (String)column.getAttributes().get(= HtmlConstants.STYLE_ATTRIBUTE); + if (!"".equals(columnStyle)) { + writer.writeAttribute(HtmlConstants.STYLE_ATTRIBUTE, c= olumnStyle, null); + } + = columnNumber++; = writer.startElement(HtmlConstants.DIV_ELEM, table); Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/Collapsi= bleSubTableHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/CollapsibleSub= TableHandler.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/CollapsibleSub= TableHandler.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,38 +23,32 @@ = package org.richfaces.taglib; = -import javax.faces.view.facelets.ComponentConfig; -import javax.faces.view.facelets.ComponentHandler; -import javax.faces.view.facelets.FaceletContext; -import javax.faces.view.facelets.MetaRule; -import javax.faces.view.facelets.MetaRuleset; -import javax.faces.view.facelets.Metadata; -import javax.faces.view.facelets.MetadataTarget; -import javax.faces.view.facelets.TagAttribute; - import org.richfaces.component.AbstractCollapsibleSubTable; +import org.richfaces.view.facelets.RowKeyConverterRule; = +import javax.faces.view.facelets.*; + /** * @author Anton Belevich * = */ public class CollapsibleSubTableHandler extends ComponentHandler { = - private static final CollapsibleSubTableHandlerMetaRule METARULE =3D n= ew CollapsibleSubTableHandlerMetaRule(); - - public CollapsibleSubTableHandler(ComponentConfig config) { super(config); } = protected MetaRuleset createMetaRuleset(Class type) { MetaRuleset m =3D super.createMetaRuleset(type); - m.addRule(METARULE); + m.addRule(CollapsibleSubTableHandlerMetaRule.INSTANCE); + m.addRule(RowKeyConverterRule.INSTANCE); return m; } = static class CollapsibleSubTableHandlerMetaRule extends MetaRule { = + public static final CollapsibleSubTableHandlerMetaRule INSTANCE = =3D new CollapsibleSubTableHandlerMetaRule(); + public Metadata applyRule(String name, TagAttribute attribute, Met= adataTarget meta) { if (meta.isTargetInstanceOf(AbstractCollapsibleSubTable.class)= && "toggleListener".equals(name)) { return new CollapsibleSubTableMapper(attribute); @@ -66,7 +60,7 @@ = static class CollapsibleSubTableMapper extends Metadata { = - private static final Class[] SIGNATURE =3D new Class[] { org.richf= aces.event.ToggleEvent.class }; + private static final Class[] SIGNATURE =3D new Class[] { org.richf= aces.event.CollapsibleSubTableToggleEvent.class }; = private final TagAttribute attribute; = @@ -75,7 +69,7 @@ } = public void applyMetadata(FaceletContext ctx, Object instance) { - ((AbstractCollapsibleSubTable) instance).addToggleListener((ne= w MethodExpressionToggleListener(this.attribute.getMethodExpression(ctx, nu= ll, SIGNATURE)))); + ((AbstractCollapsibleSubTable) instance).addCollapsibleSubTabl= eToggleListener((new MethodExpressionToggleListener(this.attribute.getMetho= dExpression(ctx, null, SIGNATURE)))); } } } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataGrid= Handler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataGridHandle= r.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataGridHandle= r.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -22,6 +22,8 @@ = package org.richfaces.taglib; = +import org.richfaces.view.facelets.RowKeyConverterRule; + import javax.faces.view.facelets.ComponentConfig; import javax.faces.view.facelets.ComponentHandler; import javax.faces.view.facelets.MetaRuleset; @@ -44,6 +46,7 @@ protected MetaRuleset createMetaRuleset(Class type) { MetaRuleset metaRuleset =3D super.createMetaRuleset(type); metaRuleset.alias(ELEMENTS, ROWS); + metaRuleset.addRule(RowKeyConverterRule.INSTANCE); return metaRuleset; = } = Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataScro= llerHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataScrollerHa= ndler.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataScrollerHa= ndler.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -70,7 +70,7 @@ = private static final class ScrollListenerMapper extends Metadata { = - private static final Class[] SIGNATURE =3D new Class[] { org.richf= aces.event.DataScrollerEvent.class }; + private static final Class[] SIGNATURE =3D new Class[] { org.richf= aces.event.DataScrollEvent.class }; = private final TagAttribute attribute; = @@ -81,7 +81,7 @@ @Override public void applyMetadata(FaceletContext ctx, Object instance) { = - ((AbstractDataScroller) instance).addScrollerListener((new Met= hodExpressionScrollListener(this.attribute + ((AbstractDataScroller) instance).addScrollListener((new Metho= dExpressionScrollListener(this.attribute .getMethodExpression(ctx, null, SIGNATURE)))); } } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataTabl= eHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataTableHandl= er.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/DataTableHandl= er.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,36 +23,30 @@ = package org.richfaces.taglib; = -import javax.faces.view.facelets.ComponentConfig; -import javax.faces.view.facelets.ComponentHandler; -import javax.faces.view.facelets.FaceletContext; -import javax.faces.view.facelets.MetaRule; -import javax.faces.view.facelets.MetaRuleset; -import javax.faces.view.facelets.Metadata; -import javax.faces.view.facelets.MetadataTarget; -import javax.faces.view.facelets.TagAttribute; - import org.richfaces.component.AbstractDataTable; +import org.richfaces.view.facelets.RowKeyConverterRule; = +import javax.faces.view.facelets.*; + /** * @author Anton Belevich * */ public class DataTableHandler extends ComponentHandler { = - private static final SortingFilteringRule METARULE =3D new SortingFilt= eringRule(); - public DataTableHandler(ComponentConfig config) { super(config); } = protected MetaRuleset createMetaRuleset(Class type) { MetaRuleset m =3D super.createMetaRuleset(type); - m.addRule(METARULE); + m.addRule(SortingFilteringRule.INSTANCE); + m.addRule(RowKeyConverterRule.INSTANCE); return m; } = static class SortingFilteringRule extends MetaRule { + private static final SortingFilteringRule INSTANCE =3D new Sorting= FilteringRule(); = public Metadata applyRule(String name, TagAttribute attribute, Met= adataTarget meta) { if(meta.isTargetInstanceOf(AbstractDataTable.class)) { Added: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ExtendedDat= aTableHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ExtendedDataTa= bleHandler.java (rev 0) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ExtendedDataTa= bleHandler.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,24 @@ +package org.richfaces.taglib; + +import org.richfaces.view.facelets.RowKeyConverterRule; + +import javax.faces.view.facelets.ComponentConfig; +import javax.faces.view.facelets.ComponentHandler; +import javax.faces.view.facelets.MetaRuleset; + +/** + * User: Gleb Galkin + * Date: 11.03.11 + */ +public class ExtendedDataTableHandler extends ComponentHandler { + + public ExtendedDataTableHandler(ComponentConfig config) { + super(config); + } + + protected MetaRuleset createMetaRuleset(Class type) { + MetaRuleset metaRuleset =3D super.createMetaRuleset(type); + metaRuleset.addRule(RowKeyConverterRule.INSTANCE); + return metaRuleset; + } +} Added: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ListHandler= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ListHandler.ja= va (rev 0) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/ListHandler.ja= va 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,24 @@ +package org.richfaces.taglib; + +import org.richfaces.view.facelets.RowKeyConverterRule; + +import javax.faces.view.facelets.ComponentConfig; +import javax.faces.view.facelets.ComponentHandler; +import javax.faces.view.facelets.MetaRuleset; + +/** + * User: Gleb Galkin + * Date: 11.03.11 + */ +public class ListHandler extends ComponentHandler { + + public ListHandler(ComponentConfig config) { + super(config); + } + + protected MetaRuleset createMetaRuleset(Class type) { + MetaRuleset metaRuleset =3D super.createMetaRuleset(type); + metaRuleset.addRule(RowKeyConverterRule.INSTANCE); + return metaRuleset; + } +} \ No newline at end of file Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodEx= pressionScrollListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodExpressi= onScrollListener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodExpressi= onScrollListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -3,14 +3,14 @@ import javax.el.MethodExpression; import javax.faces.context.FacesContext; = -import org.richfaces.event.DataScrollerEvent; -import org.richfaces.event.DataScrollerListener; +import org.richfaces.event.DataScrollEvent; +import org.richfaces.event.DataScrollListener; = /** * @author Anton Belevich * */ -public class MethodExpressionScrollListener implements DataScrollerListene= r { +public class MethodExpressionScrollListener implements DataScrollListener { = private MethodExpression methodExpression; = @@ -23,7 +23,7 @@ this.methodExpression =3D methodExpression; } = - public void processScroller(DataScrollerEvent dataScrollerEvent) { + public void processDataScroll(DataScrollEvent dataScrollerEvent) { FacesContext facesContext =3D FacesContext.getCurrentInstance(); methodExpression.invoke(facesContext.getELContext(), new Object[] = { dataScrollerEvent }); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodEx= pressionToggleListener.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodExpressi= onToggleListener.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/taglib/MethodExpressi= onToggleListener.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -25,10 +25,10 @@ import javax.el.MethodExpression; import javax.faces.context.FacesContext; = -import org.richfaces.event.ToggleEvent; -import org.richfaces.event.ToggleListener; +import org.richfaces.event.CollapsibleSubTableToggleEvent; +import org.richfaces.event.CollapsibleSubTableToggleListener; = -public class MethodExpressionToggleListener implements ToggleListener { +public class MethodExpressionToggleListener implements CollapsibleSubTable= ToggleListener { = private MethodExpression methodExpression; = @@ -41,7 +41,7 @@ this.methodExpression =3D methodExpression; } = - public void processToggle(ToggleEvent toggleEvent) { + public void processCollapsibleSubTableToggle(CollapsibleSubTableToggle= Event toggleEvent) { FacesContext facesContext =3D FacesContext.getCurrentInstance(); methodExpression.invoke(facesContext.getELContext(), new Object[]{= toggleEvent}); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/view/facelets/T= reeHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/view/facelets/TreeHan= dler.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/view/facelets/TreeHan= dler.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -21,27 +21,19 @@ */ package org.richfaces.view.facelets; = -import static org.richfaces.component.AbstractTree.DEFAULT_TREE_NODE_FACET= _NAME; -import static org.richfaces.component.AbstractTree.DEFAULT_TREE_NODE_ID; +import com.google.common.base.Strings; +import org.richfaces.component.AbstractTree; +import org.richfaces.component.AbstractTreeNode; = import javax.faces.application.Application; import javax.faces.component.UIComponent; import javax.faces.component.html.HtmlOutputText; import javax.faces.context.FacesContext; -import javax.faces.view.facelets.ComponentConfig; -import javax.faces.view.facelets.ComponentHandler; -import javax.faces.view.facelets.FaceletContext; -import javax.faces.view.facelets.MetaRule; -import javax.faces.view.facelets.MetaRuleset; -import javax.faces.view.facelets.Metadata; -import javax.faces.view.facelets.MetadataTarget; -import javax.faces.view.facelets.TagAttribute; +import javax.faces.view.facelets.*; = -import org.richfaces.component.AbstractTree; -import org.richfaces.component.AbstractTreeNode; +import static org.richfaces.component.AbstractTree.DEFAULT_TREE_NODE_FACET= _NAME; +import static org.richfaces.component.AbstractTree.DEFAULT_TREE_NODE_ID; = -import com.google.common.base.Strings; - /** * @author Nick Belaevski * = @@ -72,6 +64,7 @@ protected MetaRuleset createMetaRuleset(Class type) { MetaRuleset metaRuleset =3D super.createMetaRuleset(type); metaRuleset.addRule(RULE); + metaRuleset.addRule(RowKeyConverterRule.INSTANCE); return metaRuleset; } = Added: trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/tre= e-serverEventListeners-props.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/tree-s= erverEventListeners-props.xml (rev 0) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/tree-s= erverEventListeners-props.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,34 @@ + + + + + + treeSelectionChangeListener + javax.el.MethodExpression + + false + + + + treeToggleListener + javax.el.MethodExpression + + false + + + + Added: trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/tre= eNode-serverEventListeners-props.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/treeNo= de-serverEventListeners-props.xml (rev 0) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/cdk/attributes/treeNo= de-serverEventListeners-props.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -0,0 +1,27 @@ + + + + + + toggleListener + javax.el.MethodExpression + + false + + + + Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/collapsible-subtable.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/collapsible-subtable.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/collapsible-subtable.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -17,9 +17,16 @@ padding:0px; } = -.rf-cst { +.rf-csttg-lnk { + vertical-align: top; } = +.rf-cst, .rf-cst-nd { + border-bottom-width:'#{richSkin.tableBorderWidth}'; + border-bottom-style:solid; + border-bottom-color:'#{richSkin.tableBorderColor}'; +} + .rf-cst-r{ } = @@ -32,7 +39,7 @@ .rf-cst-hdr-fst-r{ } = -.rf-cst-c{ +.rf-cst-c, .rf-cst-nd-c{ border-bottom-width:'#{richSkin.tableBorderWidth}'; border-bottom-style:solid; border-bottom-color:'#{richSkin.tableBorderColor}'; Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/datascroller.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/datascroller.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/datascroller.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -117,7 +117,7 @@ cursor: default; font-weight: bold; border-width: 1px; - bordr-style: solid; + border-style: solid; border-color: transparent; border-bottom-width: 1px; border-bottom-style: solid; Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/datatable.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/datatable.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/datatable.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,12 +1,9 @@ .rf-dt{ background-color:'#{richSkin.tableBackgroundColor}'; border-collapse:collapse; - border-left-width:'#{richSkin.tableBorderWidth}'; - border-left-style:solid; = - border-left-color:'#{richSkin.tableBorderColor}'; - border-top-width:'#{richSkin.tableBorderWidth}'; - border-top-style:solid; - border-top-color:'#{richSkin.tableBorderColor}'; = + border-width:'#{richSkin.tableBorderWidth}'; + border-style:solid; + border-color:'#{richSkin.tableBorderColor}'; = empty-cells:show; } = Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/extendedDataTable.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/extendedDataTable.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/extendedDataTable.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -419,7 +419,7 @@ }, = beginReorder: function(event) { - if (!jQuery(event.currentTarget).is("a, img, :input")) { + if (!jQuery(event.target).is("a, img, :input")) { this.idOfReorderingColumn =3D event.currentTarget.className.match(new = RegExp(WIDTH_CLASS_NAME_BASE + "([^\\W]*)"))[1]; jQuery(document).bind("mousemove", jQuery.proxy(this.reorder, this)); this.headerCells.bind("mouseover", jQuery.proxy(this.overReorder, this= )); Deleted: trunk/ui/iteration/ui/src/test/java/org/richfaces/component/Iterat= orBaseTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/test/java/org/richfaces/component/IteratorBas= eTest.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/test/java/org/richfaces/component/IteratorBas= eTest.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,150 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright 2009, Red Hat, Inc. and individual contributors - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ -package org.richfaces.component; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.NoSuchElementException; - -import org.junit.Test; - - -/** - * @author Nick Belaevski - */ -public class IteratorBaseTest { - - private static final List strings =3D Collections.unmodifiableLis= t(Arrays.asList("a", "b", "c")); - = - private static class IteratorImpl extends DataTableIteratorBase { - - private Iterator iterator; - = - public IteratorImpl(List list) { - super(); - = - this.iterator =3D list.iterator(); - } - = - @Override - protected E nextItem() { - if (iterator.hasNext()) { - return iterator.next(); - } - - return null; - } - = - } - = - private Iterator createTestIterator(List list) { - return new IteratorImpl(list); - } - = - private Iterator createStringsIterator() { - return createTestIterator(strings); - } - = - private Iterator createEmptyIterator() { - return createTestIterator(Collections.emptyList()); - } - - @Test - public void testIteration() throws Exception { - Iterator testIterator =3D createStringsIterator(); - assertTrue(testIterator.hasNext()); - assertEquals("a", testIterator.next()); - assertTrue(testIterator.hasNext()); - assertEquals("b", testIterator.next()); - assertTrue(testIterator.hasNext()); - assertEquals("c", testIterator.next()); - assertFalse(testIterator.hasNext()); - try { - testIterator.next(); - = - fail(); - } catch (NoSuchElementException e) { - //should be thrown - ignore - } - } - - @Test - public void testIterationWithoutHasNext() throws Exception { - Iterator testIterator =3D createStringsIterator(); - assertEquals("a", testIterator.next()); - assertEquals("b", testIterator.next()); - assertEquals("c", testIterator.next()); - try { - testIterator.next(); - = - fail(); - } catch (NoSuchElementException e) { - //should be thrown - ignore - } - assertFalse(testIterator.hasNext()); - } - - @Test - public void testEmptyList() throws Exception { - Iterator testIterator =3D createEmptyIterator(); - assertFalse(testIterator.hasNext()); - try { - testIterator.next(); - = - fail(); - } catch (NoSuchElementException e) { - //should be thrown - ignore - } - } - - @Test - public void testEmptyListWithoutHasNext() throws Exception { - Iterator testIterator =3D createEmptyIterator(); - try { - testIterator.next(); - = - fail(); - } catch (NoSuchElementException e) { - //should be thrown - ignore - } - } - - @Test - public void testRemove() throws Exception { - Iterator testIterator =3D createStringsIterator(); - testIterator.next(); - try { - testIterator.remove(); - = - fail(); - } catch (Exception e) { - //unsupported - ignore - } - } -} Modified: trunk/ui/iteration/ui/src/test/java/org/richfaces/component/UIDat= aTableTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/test/java/org/richfaces/component/UIDataTable= Test.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/iteration/ui/src/test/java/org/richfaces/component/UIDataTable= Test.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -144,7 +144,7 @@ */ @Test public void testDataChildren() { - Assert.assertTrue(table.dataChildren() instanceof DataTableDataIte= rator); + Assert.assertTrue(table.dataChildren() instanceof DataTableDataChi= lderIterator); } = /** Modified: trunk/ui/misc/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/misc/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/misc/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -40,9 +40,9 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/misc - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/misc - http://fisheye.jboss.org/browse/richfaces/ + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/misc + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/misc + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/m= isc = Modified: trunk/ui/misc/ui/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/misc/ui/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/misc/ui/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -58,10 +58,10 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/misc/dist/richfaces-ui-misc-ui + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/misc/dist/richfaces-ui-misc-ui - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/misc/dist/richfaces-ui-misc-ui + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/misc/dist/richfaces-ui-misc-ui - http://fisheye.jboss.org/browse/richfaces/ + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/m= isc/dist/richfaces-ui-misc-ui \ No newline at end of file Modified: trunk/ui/misc/ui/src/main/java/org/richfaces/component/behavior/C= omponentControlBehavior.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/misc/ui/src/main/java/org/richfaces/component/behavior/Compone= ntControlBehavior.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/misc/ui/src/main/java/org/richfaces/component/behavior/Compone= ntControlBehavior.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -49,7 +49,7 @@ private List children; = enum PropertyKeys { - target, selector, operation, onbeforeoperation + target, selector, operation, onbeforeoperation, event } = public List getChildren() { @@ -60,6 +60,15 @@ } = @Attribute + public String getEvent() { + return (String) getStateHelper().eval(PropertyKeys.event); + } + + public void setEvent(String event) { + getStateHelper().put(PropertyKeys.event, event); + } + = + @Attribute public String getTarget() { return (String) getStateHelper().eval(PropertyKeys.target); } Modified: trunk/ui/output/api/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/api/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/api/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -51,10 +51,10 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/output/panels/api - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/output/panels/api + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/output/panels/api + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/output/panels/api - http://fisheye.jboss.org/browse/richfaces + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/o= utput/panels/api = \ No newline at end of file Modified: trunk/ui/output/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -41,8 +41,8 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/output - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/output - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/output + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/output + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/o= utput \ No newline at end of file Modified: trunk/ui/output/ui/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/pom.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/pom.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -76,9 +76,9 @@ = - scm:svn:http://anonsvn.jboss.org/repos/richfaces/trunk= /ui/output/panels/ui - scm:svn:https://svn.jboss.org/repos/richfaces= /trunk/ui/output/panels/ui - http://fisheye.jboss.org/browse/richfaces + scm:svn:http://anonsvn.jboss.org/repos/richfaces/branc= hes/4.0.X/ui/output/panels/ui + scm:svn:https://svn.jboss.org/repos/richfaces= /branches/4.0.X/ui/output/panels/ui + http://fisheye.jboss.org/browse/richfaces/branches/4.0.X/ui/o= utput/panels/ui = \ No newline at end of file Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= Accordion.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractAccord= ion.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractAccord= ion.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,7 +23,12 @@ package org.richfaces.component; = = -import org.richfaces.cdk.annotations.*; +import org.richfaces.cdk.annotations.Attribute; +import org.richfaces.cdk.annotations.EventName; +import org.richfaces.cdk.annotations.JsfComponent; +import org.richfaces.cdk.annotations.JsfRenderer; +import org.richfaces.cdk.annotations.Tag; +import org.richfaces.cdk.annotations.TagType; = /** * @author akolonitsky @@ -52,6 +57,12 @@ String res =3D super.getActiveItem(); if (res =3D=3D null) { res =3D getFirstItem().getName(); + } else { + AbstractTogglePanelTitledItem item =3D + (AbstractTogglePanelTitledItem) super.getItemByIndex(s= uper.getChildIndex(res)); + if (item.isDisabled()) { + res =3D getFirstItem().getName(); + } } return res; } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= CollapsiblePanel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractCollap= siblePanel.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractCollap= siblePanel.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -27,6 +27,7 @@ import javax.faces.context.FacesContext; import javax.faces.event.AbortProcessingException; import javax.faces.event.FacesEvent; +import javax.faces.event.PhaseId; = import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.EventName; @@ -212,11 +213,13 @@ = @Override public void broadcast(FacesEvent event) throws AbortProcessingExceptio= n { + if (event instanceof PanelToggleEvent) { + setExpanded(((PanelToggleEvent)event).getExpanded()); + setSubmittedActiveItem(null); + if (event.getPhaseId() !=3D PhaseId.UPDATE_MODEL_VALUES) { + FacesContext.getCurrentInstance().renderResponse(); + } + } super.broadcast(event); - - if (event instanceof PanelToggleEvent - && (isBypassUpdates() || isImmediate())) { - FacesContext.getCurrentInstance().renderResponse(); - } } } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= DropDownMenu.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDo= wnMenu.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDo= wnMenu.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -67,6 +67,9 @@ @Attribute(events =3D @EventName("itemclick")) public abstract String getOnitemclick(); = = + @Attribute + public abstract String getLabel(); + = public enum Facets { label, = labelDisabled Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= Panel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanel.= java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanel.= java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,11 +23,11 @@ = import javax.faces.component.UIComponentBase; = +import org.richfaces.cdk.annotations.Attribute; import org.richfaces.cdk.annotations.JsfComponent; import org.richfaces.cdk.annotations.JsfRenderer; import org.richfaces.cdk.annotations.Tag; import org.richfaces.cdk.annotations.TagType; -import org.richfaces.cdk.annotations.Attribute; = /** * JSF component class * = @@ -38,7 +38,9 @@ ) public abstract class AbstractPanel extends UIComponentBase { = - private static final String COMPONENT_FAMILY =3D "org.richfaces.Panel"= ; = + public static final String COMPONENT_TYPE =3D "org.richfaces.Panel"; + = + public static final String COMPONENT_FAMILY =3D "org.richfaces.Panel";= = = @Attribute public abstract String getHeader(); Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= PanelMenu.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enu.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enu.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -75,58 +75,66 @@ //TODO nick - is component immediate =3D true only? //TODO nick - processValue should be executed in context of compon= ent, i.e. when 'component' EL variable is set = - processValue(context); + ItemChangeEvent event =3D createItemChangeEvent(context); + if (event !=3D null) { + event.queue(); + } } - - private void processValue(FacesContext context) { - try { - if (context =3D=3D null) { - throw new NullPointerException(); + = + public void queueEvent(FacesEvent event) { + if ((event instanceof ItemChangeEvent) && (event.getComponent() = =3D=3D this)) { + setEventPhase((ItemChangeEvent)event); + } + super.queueEvent(event); + } + = + public void setEventPhase(FacesEvent event) { + if (event instanceof ItemChangeEvent) { + AbstractPanelMenuItem actItm =3D (AbstractPanelMenuItem) ((Ite= mChangeEvent)event).getNewItem(); = + if (isImmediate() || (actItm !=3D null && actItm.isImmediate()= )) { + event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); + } else if (actItm!=3D null && actItm.isBypassUpdates()) { + event.setPhaseId(PhaseId.PROCESS_VALIDATIONS); + } else { + event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES); } + } + } = - // Submitted value =3D=3D null means "the component was not su= bmitted at all". - String activeItem =3D getSubmittedActiveItem(); - if (activeItem =3D=3D null) { - return; - } + private ItemChangeEvent createItemChangeEvent(FacesContext context) { = - String previous =3D (String) getValue(); - setActiveItem(activeItem); - setSubmittedActiveItem(null); + // Submitted value =3D=3D null means "the component was not submit= ted at all". + String activeItem =3D getSubmittedActiveItem(); + if (activeItem =3D=3D null) { + return null; + } = - if (previous =3D=3D null || !previous.equalsIgnoreCase(activeI= tem)) { - AbstractPanelMenuItem prevItm =3D null; - AbstractPanelMenuItem actItm =3D null; - if (previous !=3D null) { - prevItm =3D getItem(previous); - } - if (activeItem !=3D null) { - actItm =3D getItem(activeItem); - } - = - ItemChangeEvent event =3D new ItemChangeEvent(this, previo= us,prevItm, activeItem, actItm); = - if (isImmediate() || (actItm !=3D null && actItm.isImmedia= te())) { - event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); - } else if (actItm!=3D null && actItm.isBypassUpdates()) { - event.setPhaseId(PhaseId.PROCESS_VALIDATIONS); - } else { - event.setPhaseId(PhaseId.INVOKE_APPLICATION); - } - event.queue(); + String previous =3D (String) getValue(); + if (previous =3D=3D null || !previous.equalsIgnoreCase(activeItem)= ) { + AbstractPanelMenuItem prevItm =3D null; + AbstractPanelMenuItem actItm =3D null; + if (previous !=3D null) { + prevItm =3D getItem(previous); } - } catch (RuntimeException e) { - context.renderResponse(); - throw e; + if (activeItem !=3D null) { + actItm =3D getItem(activeItem); + } + = + return new ItemChangeEvent(this, previous, prevItm, activeItem= , actItm); } + return null; } = @Override public void broadcast(FacesEvent event) throws AbortProcessingExceptio= n { - super.broadcast(event); - if (event instanceof ItemChangeEvent) { - getFacesContext().renderResponse(); + setValue(((ItemChangeEvent) event).getNewItemName()); + setSubmittedActiveItem(null); + if (event.getPhaseId() !=3D PhaseId.UPDATE_MODEL_VALUES) { + FacesContext.getCurrentInstance().renderResponse(); + } } + super.broadcast(event); } = public String getSubmittedActiveItem() { @@ -137,6 +145,7 @@ this.submittedActiveItem =3D String.valueOf(submittedValue); } = + @Attribute(generate =3D false) public String getActiveItem() { return (String) getValue(); } @@ -155,6 +164,7 @@ } } = + @Attribute(generate =3D false) public boolean isImmediate() { return (Boolean) getStateHelper().eval(PropertyKeys.immediate, fal= se); } @@ -216,7 +226,8 @@ topGroupCollapsedRightIcon, topGroupDisabledLeftIcon, topGroupDisabledRightIcon, - itemLeftIcon + itemLeftIcon, + value } = @Attribute @@ -494,4 +505,13 @@ public void removeItemChangeListener(ItemChangeListener listener) { removeFacesListener(listener); } + = + @Attribute(generate =3D false, hidden =3D true) + public Object getValue() { + return getStateHelper().eval(Properties.value); + } + + public void setValue(Object value) { + getStateHelper().put(Properties.value, value); + } = } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= PanelMenuGroup.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enuGroup.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enuGroup.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,6 +30,7 @@ = import javax.el.MethodExpression; import javax.el.ValueExpression; +import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.event.FacesEvent; import javax.faces.event.PhaseId; @@ -126,8 +127,8 @@ } = @Attribute - public boolean isExpanded() { - return getValue() =3D=3D null ? false : (Boolean) getValue(); + public Boolean isExpanded() { + return (Boolean) getValue(); } = public void setExpanded(boolean expanded) { @@ -323,4 +324,46 @@ = @Attribute(events =3D @EventName("beforeselect")) public abstract String getOnbeforeselect(); + = + public boolean hasActiveItem(UIComponent component, String activeItem)= { + if (activeItem =3D=3D null) { + return false; + } + if (component instanceof AbstractPanelMenuItem) { + AbstractPanelMenuItem item =3D (AbstractPanelMenuItem) compone= nt; + if (activeItem.equals(item.getName())) { + return true; + } + } + = + if (component instanceof AbstractPanelMenuGroup) { + AbstractPanelMenuGroup group =3D (AbstractPanelMenuGroup) comp= onent; + if (!group.getPanelMenu().isBubbleSelection()) { + return false; + } + } + + if (component.getChildCount() > 0) { + for (UIComponent child : component.getChildren()) { + if (!child.isRendered()) { + continue; + } + = + if (!(child instanceof AbstractPanelMenuItem)) { + continue; + } + = + if (hasActiveItem(child, activeItem)) { + return true; + } + } + } + = + return false; + } + = + public boolean getState() { + Boolean flag =3D this.isExpanded(); + return (flag =3D=3D null ? this.hasActiveItem(this, this.getPanelM= enu().getActiveItem()) : flag); + } } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= PanelMenuItem.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enuItem.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelM= enuItem.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,11 +23,16 @@ = package org.richfaces.component; = -import com.google.common.base.Predicate; +import javax.faces.component.UIComponent; + import org.richfaces.PanelMenuMode; -import org.richfaces.cdk.annotations.*; +import org.richfaces.cdk.annotations.Attribute; +import org.richfaces.cdk.annotations.EventName; +import org.richfaces.cdk.annotations.JsfComponent; +import org.richfaces.cdk.annotations.Tag; +import org.richfaces.cdk.annotations.TagType; = -import javax.faces.component.UIComponent; +import com.google.common.base.Predicate; = /** * @author akolonitsky @@ -45,6 +50,10 @@ protected AbstractPanelMenuItem() { setRendererType("org.richfaces.PanelMenuItemRenderer"); } + = + public boolean isActiveItem() { + return this.getName().equals(this.getPanelMenu().getActiveItem()); + } = public boolean isTopItem() { return getParentItem() instanceof AbstractPanelMenu; @@ -104,8 +113,15 @@ = // ------------------------------------------------ Html Attributes enum Properties { - leftIcon, leftDisabledIcon, rightIcon, rightDisabledIcon, styleCla= ss, disabledClass, execute, name - + leftIcon, = + leftDisabledIcon, = + rightIcon, = + rightDisabledIcon, = + styleClass, = + disabledClass, = + execute, = + name, + value } = @Attribute(generate =3D false) @@ -212,4 +228,13 @@ return comp instanceof AbstractPanelMenuGroup || comp instance= of AbstractPanelMenu; } } + = + @Attribute(generate =3D false, hidden =3D true) + public Object getValue() { + return getStateHelper().eval(Properties.value); + } + + public void setValue(Object value) { + getStateHelper().put(Properties.value, value); + } } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= TabPanel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractTabPan= el.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractTabPan= el.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -25,7 +25,11 @@ = import org.richfaces.HeaderAlignment; import org.richfaces.HeaderPosition; -import org.richfaces.cdk.annotations.*; +import org.richfaces.cdk.annotations.Attribute; +import org.richfaces.cdk.annotations.JsfComponent; +import org.richfaces.cdk.annotations.JsfRenderer; +import org.richfaces.cdk.annotations.Tag; +import org.richfaces.cdk.annotations.TagType; = /** * @author akolonitsky @@ -54,6 +58,12 @@ String res =3D super.getActiveItem(); if (res =3D=3D null) { res =3D getFirstItem().getName(); + } else { + AbstractTogglePanelTitledItem item =3D + (AbstractTogglePanelTitledItem) super.getItemByIndex(s= uper.getChildIndex(res)); + if (item.isDisabled()) { + res =3D getFirstItem().getName(); + } } return res; } @@ -82,9 +92,6 @@ public abstract String getTabHeaderClass(); = @Attribute(hidden =3D true) - public abstract boolean isBypassUpdates(); - - @Attribute(hidden =3D true) public abstract boolean isLimitRender(); = @Attribute(hidden =3D true) Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= TogglePanel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractToggle= Panel.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractToggle= Panel.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -22,16 +22,10 @@ = package org.richfaces.component; = -import com.google.common.base.Strings; -import org.richfaces.application.MessageFactory; -import org.richfaces.application.ServiceTracker; -import org.richfaces.appplication.FacesMessages; -import org.richfaces.cdk.annotations.*; -import org.richfaces.component.util.MessageUtil; -import org.richfaces.event.ItemChangeEvent; -import org.richfaces.event.ItemChangeListener; -import org.richfaces.event.ItemChangeSource; -import org.richfaces.renderkit.util.RendererUtils; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; = import javax.el.ELException; import javax.el.MethodExpression; @@ -41,21 +35,48 @@ import javax.faces.component.UIComponent; import javax.faces.component.UIOutput; import javax.faces.component.UpdateModelException; +import javax.faces.component.visit.VisitCallback; +import javax.faces.component.visit.VisitContext; +import javax.faces.component.visit.VisitResult; import javax.faces.context.FacesContext; -import javax.faces.event.*; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import javax.faces.event.AbortProcessingException; +import javax.faces.event.ExceptionQueuedEvent; +import javax.faces.event.ExceptionQueuedEventContext; +import javax.faces.event.FacesEvent; +import javax.faces.event.PhaseId; +import javax.faces.event.PostValidateEvent; +import javax.faces.event.PreValidateEvent; = +import org.richfaces.application.MessageFactory; +import org.richfaces.application.ServiceTracker; +import org.richfaces.application.FacesMessages; +import org.richfaces.cdk.annotations.Attribute; +import org.richfaces.cdk.annotations.EventName; +import org.richfaces.cdk.annotations.JsfComponent; +import org.richfaces.cdk.annotations.JsfRenderer; +import org.richfaces.cdk.annotations.Tag; +import org.richfaces.cdk.annotations.TagType; +import org.richfaces.component.util.MessageUtil; +import org.richfaces.context.ExtendedVisitContext; +import org.richfaces.context.ExtendedVisitContextMode; +import org.richfaces.event.ItemChangeEvent; +import org.richfaces.event.ItemChangeListener; +import org.richfaces.event.ItemChangeSource; +import org.richfaces.renderkit.MetaComponentRenderer; +import org.richfaces.renderkit.util.RendererUtils; + +import com.google.common.base.Strings; + /** * @author akolonitsky * @version 1.0 */ @JsfComponent(tag =3D @Tag(type =3D TagType.Facelets, handler =3D "org.ric= hfaces.view.facelets.html.TogglePanelTagHandler"), renderer =3D @JsfRenderer(type =3D "org.richfaces.TogglePanelRende= rer")) -public abstract class AbstractTogglePanel extends UIOutput implements Abst= ractDivPanel, ItemChangeSource { +public abstract class AbstractTogglePanel extends UIOutput implements Abst= ractDivPanel, ItemChangeSource, MetaComponentResolver, MetaComponentEncoder= { = + public static final String ACTIVE_ITEM_META_COMPONENT =3D "activeItem"; + = public static final String COMPONENT_TYPE =3D "org.richfaces.TogglePan= el"; = public static final String COMPONENT_FAMILY =3D "org.richfaces.ToggleP= anel"; @@ -204,7 +225,10 @@ popComponentFromEL(context); } = - createItemChangeEvent(context); + ItemChangeEvent event =3D createItemChangeEvent(context); + if (event !=3D null) { + event.queue(); + } } = /** @@ -372,7 +396,7 @@ } } = - private void createItemChangeEvent(FacesContext context) { + private ItemChangeEvent createItemChangeEvent(FacesContext context) { if (context =3D=3D null) { throw new NullPointerException(); } @@ -380,12 +404,10 @@ // Submitted value =3D=3D null means "the component was not submit= ted at all". String activeItem =3D getSubmittedActiveItem(); if (activeItem =3D=3D null) { - return; + return null; } = String previous =3D (String) getValue(); - setValue(activeItem); - setSubmittedActiveItem(null); if (previous =3D=3D null || !previous.equalsIgnoreCase(activeItem)= ) { UIComponent prevComp =3D null; UIComponent actvComp =3D null; @@ -397,8 +419,9 @@ actvComp =3D (UIComponent)getItem(activeItem); } = - new ItemChangeEvent(this, previous, prevComp, activeItem, actv= Comp).queue(); + return new ItemChangeEvent(this, previous, prevComp, activeIte= m, actvComp); } + return null; } = @Override @@ -413,19 +436,14 @@ if (isImmediate() || (event.getNewItem() !=3D null && RendererUtils.getInstance().isBooleanAttribute(event.getNewIte= m(), "immediate"))) { event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); - } else if (isBypassUpdates() || (event.getNewItem() !=3D null && - RendererUtils.getInstance().isBooleanAttribute(event.getNewIte= m(), "bypassUpdates"))) { - event.setPhaseId(PhaseId.PROCESS_VALIDATIONS); } else { - event.setPhaseId(PhaseId.INVOKE_APPLICATION); + event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES); } } - = + protected void setEventPhase(FacesEvent event) { if (isImmediate()) { event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); - } else if (isBypassUpdates()) { - event.setPhaseId(PhaseId.PROCESS_VALIDATIONS); } else { event.setPhaseId(PhaseId.INVOKE_APPLICATION); } @@ -433,11 +451,14 @@ = @Override public void broadcast(FacesEvent event) throws AbortProcessingExceptio= n { - super.broadcast(event); - if (event instanceof ItemChangeEvent) { - FacesContext.getCurrentInstance().renderResponse(); + setValue(((ItemChangeEvent) event).getNewItemName()); + setSubmittedActiveItem(null); + if (event.getPhaseId() !=3D PhaseId.UPDATE_MODEL_VALUES) { + FacesContext.getCurrentInstance().renderResponse(); + } } + super.broadcast(event); } = // -------------------------------------------------- Panel Items Mana= ging @@ -618,9 +639,6 @@ getStateHelper().put(PropertyKeys.switchType, switchType); } = - @Attribute - public abstract boolean isBypassUpdates(); - @Attribute(hidden =3D true) public abstract boolean isLimitRender(); = @@ -665,4 +683,66 @@ removeFacesListener(listener); } = + public String resolveClientId(FacesContext facesContext, UIComponent c= ontextComponent, String metaComponentId) { + if (ACTIVE_ITEM_META_COMPONENT.equals(metaComponentId)) { + return getClientId(facesContext) + MetaComponentResolver.META_= COMPONENT_SEPARATOR_CHAR + metaComponentId; + } + return null; + } + + public String substituteUnresolvedClientId(FacesContext facesContext, = UIComponent contextComponent, + String metaComponentId) { + return null; + } + = + public void encodeMetaComponent(FacesContext context, String metaCompo= nentId) throws IOException { + ((MetaComponentRenderer) getRenderer(context)).encodeMetaComponent= (context, this, metaComponentId); + } + = + @Override + public boolean visitTree(VisitContext context, VisitCallback callback)= { + if (!isVisitable(context)) { + return false; + } + + FacesContext facesContext =3D context.getFacesContext(); + pushComponentToEL(facesContext, null); + + try { + VisitResult result =3D context.invokeVisitCallback(this, callb= ack); + + if (result =3D=3D VisitResult.COMPLETE) { + return true; + } + + if (result =3D=3D VisitResult.ACCEPT) { + if (context instanceof ExtendedVisitContext) { + ExtendedVisitContext extendedVisitContext =3D (Extende= dVisitContext) context; + if (extendedVisitContext.getVisitMode() =3D=3D Extende= dVisitContextMode.RENDER) { + = + result =3D extendedVisitContext.invokeMetaComponen= tVisitCallback(this, callback, ACTIVE_ITEM_META_COMPONENT); + if (result =3D=3D VisitResult.COMPLETE) { + return true; + } + } + } + } + = + if (result =3D=3D VisitResult.ACCEPT) { + Iterator kids =3D this.getFacetsAndChildren(); + + while(kids.hasNext()) { + boolean done =3D kids.next().visitTree(context, callba= ck); + + if (done) { + return true; + } + } + } + } finally { + popComponentFromEL(facesContext); + } + + return false; + } = } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/component/Abstract= Tooltip.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractToolti= p.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractToolti= p.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -71,6 +71,7 @@ target } = + @Attribute(generate =3D false) public String getTarget() { UIComponent parent2 =3D getParent(); String id2 =3D parent2.getId(); Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Col= lapsiblePanelRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Collapsib= lePanelRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Collapsib= lePanelRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -102,29 +102,6 @@ }; = @Override - protected void doDecode(FacesContext context, UIComponent component) { - AbstractTogglePanel panel =3D (AbstractTogglePanel) component; - - Map requestMap =3D - context.getExternalContext().getRequestParameterMap(); - - // Don't overwrite the value unless you have to! - String newValue =3D requestMap.get(getValueRequestParamName(contex= t, component)); - if (newValue !=3D null) { - panel.setSubmittedActiveItem(newValue); - } - - String compClientId =3D component.getClientId(context); - String clientId =3D requestMap.get(compClientId); - if (clientId !=3D null && clientId.equals(compClientId)) { - context.getPartialViewContext().getRenderIds().add(clientId); - - //TODO nick - this should be done on encode, not on decode - addOnCompleteParam(context, newValue, panel.getClientId(contex= t)); - } - } - - @Override protected void doEncodeBegin(ResponseWriter writer, FacesContext conte= xt, UIComponent component) throws IOException { super.doEncodeBegin(writer, context, component); = Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Men= uItemRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/MenuItemR= endererBase.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/MenuItemR= endererBase.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -9,6 +9,7 @@ import org.richfaces.component.AbstractMenuItem; import org.richfaces.component.Mode; import org.richfaces.renderkit.AjaxCommandRendererBase; +import org.richfaces.renderkit.util.HandlersChain; = public class MenuItemRendererBase extends AjaxCommandRendererBase { = @@ -82,7 +83,40 @@ return ""; } } - = + + /** overridden due to {@link https://issues.jboss.org/browse/RF-10695} + * + * @param context + * @param component + * @return + */ + + @Override + public String getOnClick(FacesContext context, UIComponent component) { + StringBuffer onClick =3D new StringBuffer(); + + if (!getUtils().isBooleanAttribute(component, "disabled")) { + HandlersChain handlersChain =3D new HandlersChain(context, com= ponent); + + handlersChain.addBehaviors("click", "action"); + handlersChain.addAjaxSubmitFunction(); + + String handlerScript =3D handlersChain.toScript(); + + if (handlerScript !=3D null) { + onClick.append(handlerScript); + } + + if (!"reset".equals(component.getAttributes().get("type"))) { + onClick.append(";return false;"); + } + } else { + onClick.append("return false;"); + } + + return onClick.toString(); + } + protected Mode resolveSubmitMode(AbstractMenuItem menuItem) { if (menuItem.getMode() !=3D null) { return menuItem.getMode(); @@ -92,7 +126,7 @@ return parent.getMode(); } return Mode.server; - } = + } = protected String getStyleClass(FacesContext facesContext, UIComponent = component, String ddMenuStyle, String menuGroupStyle, String menuItemStyle)= { UIComponent ddMenu =3D getDDMenu(component); Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Pan= elMenuGroupHeaderRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= GroupHeaderRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= GroupHeaderRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -6,6 +6,7 @@ import javax.faces.context.ResponseWriter; = import org.richfaces.component.AbstractPanelMenuGroup; +import org.richfaces.component.util.HtmlUtil; import org.richfaces.renderkit.util.PanelIcons; import org.richfaces.renderkit.util.PanelIcons.State; = @@ -35,7 +36,7 @@ iconExpanded =3D PanelIcons.transparent.toString(); } = - encodeTdIcon(writer, context, cssClassPrefix + "-ico", iconCollaps= ed, iconExpanded, getState(group)); + encodeTdIcon(writer, context, HtmlUtil.concatClasses(cssClassPrefi= x + "-ico", group.getLeftIconClass()), iconCollapsed, iconExpanded, getStat= e(group)); } = protected void encodeHeaderRightIcon(ResponseWriter writer, FacesConte= xt context, AbstractPanelMenuGroup group) throws IOException { @@ -50,6 +51,6 @@ iconExpanded =3D PanelIcons.transparent.toString(); } //TODO nick - should this be "-ico-exp"? also why expanded icon st= ate is connected with right icon alignment? - encodeTdIcon(writer, context, cssClassPrefix + "-exp-ico", iconCol= lapsed, iconExpanded, getState(group)); + encodeTdIcon(writer, context, HtmlUtil.concatClasses(cssClassPrefi= x + "-exp-ico", group.getRightIconClass()), iconCollapsed, iconExpanded, ge= tState(group)); } } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Pan= elMenuGroupRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= GroupRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= GroupRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -43,14 +43,11 @@ import javax.faces.context.ResponseWriter; import javax.faces.event.ActionEvent; = -import org.ajax4jsf.javascript.JSFunction; import org.ajax4jsf.javascript.JSObject; -import org.ajax4jsf.javascript.ScriptUtils; import org.richfaces.PanelMenuMode; import org.richfaces.cdk.annotations.JsfRenderer; import org.richfaces.component.AbstractPanelMenuGroup; import org.richfaces.component.AbstractPanelMenuItem; -import org.richfaces.renderkit.HtmlConstants; = import com.google.common.base.Strings; = @@ -117,7 +114,7 @@ writer.writeAttribute(ID_ATTRIBUTE, expanded, null); writer.writeAttribute(NAME_ATTRIBUTE, expanded, null); writer.writeAttribute(TYPE_ATTR, INPUT_TYPE_HIDDEN, null); - writer.writeAttribute(VALUE_ATTRIBUTE, String.valueOf(menuGroup.is= Expanded()), null); + writer.writeAttribute(VALUE_ATTRIBUTE, String.valueOf(menuGroup.ge= tState()), null); writer.endElement(INPUT_ELEM); = encodeHeader(writer, context, menuGroup); @@ -128,7 +125,8 @@ writer.startElement(DIV_ELEM, null); writer.writeAttribute(ID_ATTRIBUTE, menuGroup.getClientId(context)= + ":hdr", null); writer.writeAttribute(CLASS_ATTRIBUTE, concatClasses(getCssClass(m= enuGroup, "-hdr"), - "rf-pm-hdr-" + (menuGroup.isExpanded() ? "exp" : "colps"), = + "rf-pm-hdr-" + (menuGroup.getState() ? "exp" : "colps"), = + (menuGroup.getPanelMenu().isBubbleSelection() && menuGroup= .hasActiveItem(menuGroup, menuGroup.getPanelMenu().getActiveItem()) ? getCs= sClass(menuGroup, "-sel") : ""), PanelMenuItemRenderer.isParentPanelMenuDisabled(menuGroup)= || menuGroup.isDisabled() ? getCssClass(menuGroup, "-hdr-dis") : null), nu= ll); = (menuGroup.isTopItem() ? topHeaderRenderer : headerRenderer).encod= eHeader(writer, context, menuGroup); @@ -143,7 +141,7 @@ private void encodeContentBegin(ResponseWriter writer, FacesContext co= ntext, AbstractPanelMenuGroup menuGroup) throws IOException { writer.startElement(DIV_ELEM, null); writer.writeAttribute(ID_ATTRIBUTE, menuGroup.getClientId(context)= + ":cnt", null); - writer.writeAttribute(CLASS_ATTRIBUTE, concatClasses(getCssClass(m= enuGroup, "-cnt"), menuGroup.isExpanded() ? "rf-pm-exp" : "rf-pm-colps"), n= ull); + writer.writeAttribute(CLASS_ATTRIBUTE, concatClasses(getCssClass(m= enuGroup, "-cnt"), menuGroup.getState() ? "rf-pm-exp" : "rf-pm-colps"), nul= l); = writeJavaScript(writer, context, menuGroup); } @@ -202,9 +200,10 @@ options.put("disabled", PanelMenuItemRenderer.isParentPanelMenuDis= abled(panelMenuGroup) || panelMenuGroup.isDisabled()); options.put("expandEvent", getExpandEvent(panelMenuGroup)); options.put("collapseEvent", getCollapseEvent(panelMenuGroup)); - options.put("expanded", panelMenuGroup.isExpanded()); + options.put("expanded", panelMenuGroup.getState()); options.put("selectable", panelMenuGroup.isSelectable()); options.put("unselectable", panelMenuGroup.isUnselectable()); + options.put("stylePrefix", getCssClass(panelMenuGroup, "")); = addEventOption(context, panelMenuGroup, options, COLLAPSE); addEventOption(context, panelMenuGroup, options, EXPAND); @@ -235,40 +234,6 @@ return true; } = - private boolean containsActiveItem(UIComponent component, String activ= eItem) { - if (component instanceof AbstractPanelMenuItem) { - AbstractPanelMenuItem item =3D (AbstractPanelMenuItem) compone= nt; - if (activeItem.equals(item.getName())) { - return true; - } - } - = - if (component instanceof AbstractPanelMenuGroup) { - AbstractPanelMenuGroup group =3D (AbstractPanelMenuGroup) comp= onent; - if (!group.getPanelMenu().isBubbleSelection()) { - return false; - } - } - - if (component.getChildCount() > 0) { - for (UIComponent child : component.getChildren()) { - if (!child.isRendered()) { - continue; - } - = - if (!(child instanceof AbstractPanelMenuItem)) { - continue; - } - = - if (containsActiveItem(child, activeItem)) { - return true; - } - } - } - = - return false; - } - = @Override protected void doEncodeChildren(ResponseWriter writer, FacesContext co= ntext, UIComponent component) throws IOException { @@ -277,16 +242,8 @@ = boolean isClientMode =3D group.getMode() =3D=3D PanelMenuMode.clie= nt; = - if (isClientMode || group.isExpanded()) { + if (isClientMode || group.getState()) { renderChildren(context, component); - } else { - String activeItem =3D group.getPanelMenu().getActiveItem(); - if (!Strings.isNullOrEmpty(activeItem) && containsActiveItem(c= omponent, activeItem)) { - writer.startElement(HtmlConstants.SCRIPT_ELEM, component); - writer.writeAttribute(HtmlConstants.TYPE_ATTR, HtmlConstan= ts.TEXT_JAVASCRIPT_TYPE, null); - writer.writeText(ScriptUtils.toScript(new JSFunction("Rich= Faces.$", component.getClientId(context))) + ".__restoreSelection();", null= ); - writer.endElement(HtmlConstants.SCRIPT_ELEM); - } } } } Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Pan= elMenuItemRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= ItemRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= ItemRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -189,13 +189,14 @@ = writer.endElement(TD_ELEM); } - + = @Override protected String getStyleClass(UIComponent component) { AbstractPanelMenuItem menuItem =3D (AbstractPanelMenuItem) compone= nt; return concatClasses(getCssClass(menuItem, ""), attributeAsString(component, "styleClass"), PanelMenuItemRenderer.isParentPanelMenuDisabled(menuItem) || m= enuItem.isDisabled() ? getCssClass(menuItem, "-dis") : "", + (menuItem.isActiveItem() ? getCssClass(menuItem, "-sel") := ""), PanelMenuItemRenderer.isParentPanelMenuDisabled(menuItem) = || menuItem.isDisabled() ? attributeAsString(component, "disabledClass") : = ""); } = @@ -221,6 +222,7 @@ options.put("name", panelMenuItem.getName()); options.put("selectable", panelMenuItem.isSelectable()); options.put("unselectable", panelMenuItem.isUnselectable()); + options.put("stylePrefix", getCssClass(panelMenuItem, "")); = addEventOption(context, panelMenuItem, options, UNSELECT); addEventOption(context, panelMenuItem, options, SELECT); Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Pan= elMenuRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= Renderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenu= Renderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -23,23 +23,24 @@ = package org.richfaces.renderkit.html; = -import org.ajax4jsf.javascript.JSObject; -import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.component.AbstractPanelMenu; -import org.richfaces.component.util.HtmlUtil; -import org.richfaces.renderkit.HtmlConstants; +import static org.richfaces.renderkit.html.TogglePanelRenderer.getAjaxOpti= ons; +import static org.richfaces.renderkit.html.TogglePanelRenderer.getValueReq= uestParamName; = +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + import javax.faces.application.ResourceDependencies; import javax.faces.application.ResourceDependency; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; = -import static org.richfaces.renderkit.html.TogglePanelRenderer.getAjaxOpti= ons; -import static org.richfaces.renderkit.html.TogglePanelRenderer.getValueReq= uestParamName; +import org.ajax4jsf.javascript.JSObject; +import org.richfaces.cdk.annotations.JsfRenderer; +import org.richfaces.component.AbstractPanelMenu; +import org.richfaces.component.util.HtmlUtil; +import org.richfaces.renderkit.HtmlConstants; = /** * @author akolonitsky Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Tab= PanelRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelR= enderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelR= enderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -22,25 +22,39 @@ = package org.richfaces.renderkit.html; = -import org.ajax4jsf.javascript.JSObject; -import org.richfaces.cdk.annotations.JsfRenderer; -import org.richfaces.component.*; -import org.richfaces.component.util.HtmlUtil; -import org.richfaces.context.ExtendedPartialViewContext; -import org.richfaces.renderkit.HtmlConstants; -import org.richfaces.renderkit.RenderKitUtils; +import static org.richfaces.component.AbstractTogglePanelTitledItem.Header= States.active; +import static org.richfaces.component.AbstractTogglePanelTitledItem.Header= States.disabled; +import static org.richfaces.component.AbstractTogglePanelTitledItem.Header= States.inactive; +import static org.richfaces.renderkit.HtmlConstants.CLASS_ATTRIBUTE; +import static org.richfaces.renderkit.HtmlConstants.DIV_ELEM; +import static org.richfaces.renderkit.HtmlConstants.ID_ATTRIBUTE; +import static org.richfaces.renderkit.HtmlConstants.SPAN_ELEM; +import static org.richfaces.renderkit.HtmlConstants.STYLE_ATTRIBUTE; +import static org.richfaces.renderkit.HtmlConstants.TBODY_ELEMENT; +import static org.richfaces.renderkit.HtmlConstants.TD_ELEM; +import static org.richfaces.renderkit.HtmlConstants.TR_ELEMENT; +import static org.richfaces.renderkit.RenderKitUtils.renderPassThroughAttr= ibutes; = +import java.io.IOException; +import java.util.Map; + import javax.faces.application.ResourceDependencies; import javax.faces.application.ResourceDependency; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; -import java.io.IOException; -import java.util.Map; = -import static org.richfaces.component.AbstractTogglePanelTitledItem.Header= States.*; -import static org.richfaces.renderkit.HtmlConstants.*; -import static org.richfaces.renderkit.RenderKitUtils.renderPassThroughAttr= ibutes; +import org.ajax4jsf.javascript.JSObject; +import org.richfaces.cdk.annotations.JsfRenderer; +import org.richfaces.component.AbstractTab; +import org.richfaces.component.AbstractTabPanel; +import org.richfaces.component.AbstractTogglePanel; +import org.richfaces.component.AbstractTogglePanelItemInterface; +import org.richfaces.component.AbstractTogglePanelTitledItem; +import org.richfaces.component.util.HtmlUtil; +import org.richfaces.context.ExtendedPartialViewContext; +import org.richfaces.renderkit.HtmlConstants; +import org.richfaces.renderkit.RenderKitUtils; = /** * @author akolonitsky @@ -70,33 +84,6 @@ private static final String STYLE =3D STYLE_ATTRIBUTE; private static final String CLASS =3D CLASS_ATTRIBUTE; = -// @Override -// protected void doDecode(FacesContext context, UIComponent component)= { -// AbstractTogglePanel panel =3D (AbstractTogglePanel) component; -// -// Map requestMap =3D -// context.getExternalContext().getRequestParameterMap(); -// -// // Don't overwrite the value unless you have to! -// String newValue =3D requestMap.get(getValueRequestParamName(cont= ext, component)); -// if (newValue !=3D null) { -// panel.setSubmittedActiveItem(newValue); -// } -// -// String tabClientId =3D component.getClientId(context); -// if (requestMap.get(tabClientId) !=3D null) { -// new ActionEvent(component).queue(); -// -// if (context.getPartialViewContext().isPartialRequest()) { -// //TODO nick - why render item by default? -// context.getPartialViewContext().getRenderIds().add(tabCl= ientId); -// -// //TODO nick - this should be done on encode, not on deco= de -// AbstractTab tab =3D (AbstractTab) component; -// addOnCompleteParam(context, tab.getName(), tab.getTabPan= el().getClientId(context)); -// } -// } -// } = protected static void addOnCompleteParam(FacesContext context, String = newValue, String panelId) { StringBuilder onComplete =3D new StringBuilder(); @@ -153,7 +140,7 @@ = @Override protected String getStyle(UIComponent component) { - return concatStyles(attributeAsString(component, "style"), "width:= 100%;"); + return attributeAsString(component, "style"); } = @Override Modified: trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/Tog= glePanelRenderer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePan= elRenderer.java 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePan= elRenderer.java 2011-03-27 13:51:09 UTC (rev 22318) @@ -22,29 +22,33 @@ = package org.richfaces.renderkit.html; = +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import javax.faces.application.ResourceDependencies; +import javax.faces.application.ResourceDependency; +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.context.PartialViewContext; +import javax.faces.context.ResponseWriter; + import org.ajax4jsf.javascript.JSFunctionDefinition; import org.ajax4jsf.javascript.JSObject; import org.ajax4jsf.javascript.JSReference; import org.richfaces.cdk.annotations.JsfRenderer; import org.richfaces.component.AbstractTogglePanel; import org.richfaces.component.AbstractTogglePanelItemInterface; +import org.richfaces.component.MetaComponentResolver; import org.richfaces.component.util.HtmlUtil; import org.richfaces.context.ExtendedPartialViewContext; import org.richfaces.renderkit.AjaxOptions; import org.richfaces.renderkit.HtmlConstants; +import org.richfaces.renderkit.MetaComponentRenderer; import org.richfaces.renderkit.util.AjaxRendererUtils; import org.richfaces.renderkit.util.FormUtil; import org.richfaces.renderkit.util.HandlersChain; = -import javax.faces.application.ResourceDependencies; -import javax.faces.application.ResourceDependency; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.context.ResponseWriter; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - /** * @author akolonitsky */ @@ -56,7 +60,7 @@ @ResourceDependency(name =3D "richfaces-base-component.js"), @ResourceDependency(library =3D "org.richfaces", name =3D "toggleP= anel.js")}) @JsfRenderer(type =3D "org.richfaces.TogglePanelRenderer", family =3D Abst= ractTogglePanel.COMPONENT_FAMILY) -public class TogglePanelRenderer extends DivPanelRenderer { +public class TogglePanelRenderer extends DivPanelRenderer implements MetaC= omponentRenderer { = public static final String VALUE_POSTFIX =3D "-value"; = @@ -76,17 +80,14 @@ String newValue =3D requestMap.get(getValueRequestParamName(contex= t, component)); if (newValue !=3D null) { panel.setSubmittedActiveItem(newValue); - = - //Retrieve the child item from the panel - AbstractTogglePanelItemInterface panelItem =3D panel.getItem(n= ewValue); - if (panelItem !=3D null) { - //Set the active panel to be rendered - context.getPartialViewContext().getRenderIds().add(((UICom= ponent) panelItem).getClientId(context)); - - //TODO nick - this should be done on encode, not on decode - addOnCompleteParam(context, newValue, panel.getClientId(co= ntext)); - } } + = + if (requestMap.get("javax.faces.partial.ajax") !=3D null) { + PartialViewContext pvc =3D context.getPartialViewContext(); + pvc.getRenderIds().add( + component.getClientId(context) + MetaComponentResolver.MET= A_COMPONENT_SEPARATOR_CHAR + + AbstractTogglePanel.ACTIVE_ITEM_META_COMPONENT); + } } = protected static void addOnCompleteParam(FacesContext context, String = newValue, String panelId) { @@ -100,7 +101,7 @@ static String getValueRequestParamName(FacesContext context, UICompone= nt component) { return component.getClientId(context) + VALUE_POSTFIX; } - + = @Override protected void doEncodeBegin(ResponseWriter writer, FacesContext conte= xt, UIComponent component) throws IOException { FormUtil.throwEnclFormReqExceptionIfNeed(context, component); @@ -114,7 +115,7 @@ writer.writeAttribute(HtmlConstants.TYPE_ATTR, HtmlConstants.INPUT= _TYPE_HIDDEN, null); writer.writeAttribute(HtmlConstants.VALUE_ATTRIBUTE, panel.getActi= veItem(), null); writer.endElement(HtmlConstants.INPUT_ELEM); - + = writeJavaScript(writer, context, component); } = @@ -179,5 +180,39 @@ protected Class getComponentClass() { return AbstractTogglePanel.class; } + + public void encodeMetaComponent(FacesContext context, UIComponent comp= onent, String metaComponentId) + throws IOException { + if (AbstractTogglePanel.ACTIVE_ITEM_META_COMPONENT.equals(metaComp= onentId)) { + AbstractTogglePanel panel =3D (AbstractTogglePanel)component; + AbstractTogglePanelItemInterface item =3D panel.getItem(panel.= getActiveItem()); + = + if (item !=3D null) { + partialStart(context, ((UIComponent)item).getClientId(cont= ext)); + ((UIComponent)item).encodeAll(context); + partialEnd(context); + addOnCompleteParam(context, item.getName(), panel.getClien= tId(context)); + } else { + partialStart(context, component.getClientId(context)); + component.encodeAll(context); + partialEnd(context); + addOnCompleteParam(context, panel.getActiveItem(), panel.g= etClientId(context)); + } + } else { + throw new IllegalArgumentException(metaComponentId); + } + } + + public void decodeMetaComponent(FacesContext context, UIComponent comp= onent, String metaComponentId) { + // TODO Auto-generated method stub + } + = + protected void partialStart(FacesContext facesContext, String id) thro= ws IOException { + facesContext.getPartialViewContext().getPartialResponseWriter().st= artUpdate(id); + } + = + protected void partialEnd(FacesContext facesContext) throws IOExceptio= n { + facesContext.getPartialViewContext().getPartialResponseWriter().en= dUpdate(); = + } = } = Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/dropdownmenu.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= dropdownmenu.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= dropdownmenu.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,18 +1,30 @@ .rf-ddm-lbl, .rf-ddm-lbl-dis { = - font-family: '#{richSkin.headerFamilyFont}'; = - font-size:11px; + font-family: '#{richSkin.generalFamilyFont}'; + font-size:'#{richSkin.generalSizeFont}'; + font-weight: '#{richSkin.headerWeightFont}'; position:relative; + white-space:nowrap; } -.rf-ddm-lbl-unsel { - border:0 solid transparent; - padding:3px 6px; + +.rf-ddm-lbl { + padding: 2px 5px; } -.rf-ddm-lbl, .rf-ddm-lbl-dis { - height:auto; - padding:2px 5px; - white-space:nowrap; - width:auto; + +.rf-ddm-unsel { + border: 1px solid transparent; } + +.rf-ddm-sel { + background-image: "url(#{resource['org.richfaces.images:menu_item_bg.g= if']})"; + background-repeat: repeat-x; + background-position: bottom left; + background-color: '#{richSkin.additionalBackgroundColor}'; + /*from additionalBackgroundColor (top) to tabBackgroundColor (bottom) = additionalBackgroundColor*/ + border : 1px solid; /*headerBackgroundColor*/ + border-color: '#{richSkin.headerBackgroundColor}'; + cursor:pointer; +} + .rf-ddm-pos{ top:20px; left:0; @@ -24,7 +36,7 @@ cursor: default; } .rf-ddm-lbl-dec { - font-weight:bold; + font-weight:'#{richSkin.headerWeightFont}'; cursor : pointer; } .rf-ddm-lst { = @@ -65,9 +77,9 @@ border-color: '#{richSkin.headerBackgroundColor}'; cursor : pointer; = padding : 1px 36px 2px 2px; - background-color: '#{richSkin.tabBackgroundColor}'; + background-color: '#{richSkin.additionalBackgroundColor}'; background-repeat: repeat-x; - background-position: top; + background-position: bottom left; background-image: "url(#{resource['org.richfaces.images:menu_item_bg.gif'= ]})"; = z-index:10; } @@ -85,11 +97,12 @@ color : '#{richSkin.generalTextColor}'; /*#000000;*/ /*generalTextColor*/ display:inline-block; text-decoration : none; + vertical-align:middle; z-index:2; } .rf-ddm-sep { font-size : 0px; = - border-top: 1px solid; /* #bfbfc0;*/ /*panelBorderColor*/ + border-top: 1px solid; /* #BED6F8;*/ /*panelBorderColor*/ border-top-color: '#{richSkin.panelBorderColor}'; margin : 2px 0px 2px 24px; } Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/menu.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= menu.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= menu.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -4,27 +4,29 @@ var defaultOptions =3D { positionType : "DROPDOWN", direction : "AA", - jointPoint : "AA" + jointPoint : "AA", + selectMenuCss : "rf-ddm-sel", + unselectMenuCss : "rf-ddm-unsel" }; = // constructor definition - rf.ui.Menu =3D function(componentId, options) { - this.options =3D {}; - $.extend(this.options, defaultOptions, options || {}); - $super.constructor.call(this, componentId, this.options); - this.id =3D componentId; - this.namespace =3D this.namespace || "." - + rf.Event.createNamespace(this.name, this.id); - this.groupList =3D new Array(); + rf.ui.Menu =3D function(componentId, options) { + this.options =3D {}; + $.extend(this.options, defaultOptions, options || {}); + $super.constructor.call(this, componentId, this.options); + this.id =3D componentId; + this.namespace =3D this.namespace || "." + + rf.Event.createNamespace(this.name, this.id); + this.groupList =3D new Array(); = - rf.Event.bindById(this.id + "_label", this.options.showEvent, $.proxy( - this.__showHandler, this), this); + rf.Event.bindById(this.id + "_label", this.options.showEvent, $.pr= oxy( + this.__showHandler, this), this); + this.element =3D $(rf.getDomElement(this.id)); = - this.attachToDom(componentId); - if (!rf.ui.MenuManager) - rf.ui.MenuManager =3D {}; - this.menuManager =3D rf.ui.MenuManager; - }; + if (!rf.ui.MenuManager) + rf.ui.MenuManager =3D {}; + this.menuManager =3D rf.ui.MenuManager; + }; = rf.ui.MenuBase.extend(rf.ui.Menu); = @@ -67,13 +69,32 @@ this.menuManager.deletedMenuId(); }, = - destroy : function() { - // clean up code here - this.detach(this.id); + select : function() { + this.element.removeClass(this.options.unselectMenuCss); + this.element.addClass(this.options.selectMenuCss); + }, + unselect : function() { + this.element.removeClass(this.options.selectMenuCss); + this.element.addClass(this.options.unselectMenuCss); + }, = - rf.Event.unbindById(this.id + "_label", this.options.showEvent); + __overHandler : function() { + $super.__overHandler.call(this); + this.select(); + }, = - // call parent's destroy method + __leaveHandler : function() { + $super.__leaveHandler.call(this); + this.unselect(); + }, + + destroy : function() { + // clean up code here + this.detach(this.id); + + rf.Event.unbindById(this.id + "_label", this.options.showE= vent); + + // call parent's destroy method $super.destroy.call(this); = } @@ -107,6 +128,5 @@ getActiveSubMenu : function() { return this.activeSubMenu; } - } })(jQuery, RichFaces); \ No newline at end of file Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/panelMenu.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenu.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenu.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -166,7 +166,7 @@ = .rf-pm-top-itm:hover { color: '#{richSkin.headerTextColor}'; - background-color:#ffd700; + background-color: '#{richSkin.additionalBackgroundColor}'; } = .rf-pm-top-itm-sel { Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/panelMenu.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenu.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenu.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -51,19 +51,6 @@ this.activeItem =3D this.__getValueInput().value; this.nestingLevel =3D 0; = - var menuGroup =3D this; - if (menuGroup.options.expandSingle) { - menuGroup.__panelMenu().bind("expand", function (event) { - menuGroup.__childGroups().each (function (index, group= ) { - if (event.target.id !=3D group.id) { - rf.$(group.id).__collapse(); - } - }); - - event.stopPropagation(); - }); - } - this.__addUserEventHandler("collapse"); this.__addUserEventHandler("expand"); }, @@ -107,7 +94,7 @@ * @return {String} TODO ... */ selectedItem: function (id) { - if (id !=3D undefined) { + if (typeof id !=3D "undefined") { var valueInput =3D this.__getValueInput(); var prevActiveItem =3D valueInput.value; = @@ -208,6 +195,16 @@ return item.itemName =3D=3D this.activeItem; }, = + __collapseGroups : function (event) { + var topGroup =3D rf.$(event.target.id).__rfTopGroup(); + this.__childGroups().each (function (index, group) { + if (group.id !=3D event.target.id && (!topGroup || group.id != =3D topGroup.id)) { + rf.$(group.id).__collapse(); + } + }); + = + }, + = destroy: function () { rf.Event.unbindById(this.id, "."+this.namespace); $super.destroy.call(this); Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/panelMenuGroup.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenuGroup.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenuGroup.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -204,29 +204,19 @@ } = if (menuGroup.options.expandSingle) { + var component =3D this; menuGroup.__group().bind("expand", function (event) { - if (menuGroup.__isMyEvent(event)) { - return; - } - - menuGroup.__childGroups().each (function (index, g= roup) { - var rfGroup =3D rf.$(group); - if (!rfGroup.__isMyEvent(event)) { - rfGroup.collapse(); - } - }); - = - //TODO nick - why? - event.stopPropagation(); + component.__rfPanelMenu().__collapseGroups(event); + event.stopPropagation(); }); } = - this.__addUserEventHandler("beforecollapse"); + /*this.__addUserEventHandler("beforecollapse"); this.__addUserEventHandler("collapse"); this.__addUserEventHandler("beforeexpand"); this.__addUserEventHandler("expand"); this.__addUserEventHandler("beforeswitch"); - this.__addUserEventHandler("switch"); + this.__addUserEventHandler("switch");*/ } }, = @@ -403,11 +393,6 @@ __isMyEvent: function (event) { return this.id =3D=3D event.target.id; = }, - - __fireEvent: function(eventName) { - var data =3D {id: this.id}; - return rf.Event.fireById(this.id, eventName, data); - }, = destroy: function () { rf.Event.unbindById(this.id, "."+this.namespace); Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/panelMenuItem.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenuItem.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= panelMenuItem.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -161,10 +161,6 @@ // todo move it this.selectionClass =3D this.options.stylePrefix + "-sel"; = - if (panelMenu.__isActiveItem(this)) { - rootElt.ready($.proxy(this.__restoreSelection, this)); - } - = if (!this.options.disabled) { var item =3D this; = @@ -292,11 +288,6 @@ __header : function () { return this.__item(); }, - - __restoreSelection: function() { - this.__select(); - //this.__fireSelect(); - }, = __isSelected: function() { return this.__header().hasClass(this.selectionClass); @@ -315,7 +306,7 @@ item: this }); }, - + = __fireSelect : function () { return rf.Event.fireById(this.id, "select", { item: this @@ -327,6 +318,10 @@ item: this }); }, + = + __fireEvent : function (eventType, event) { + return this.invokeEvent(eventType, rf.getDomElement(this.id), eve= nt, {id: this.id, item: this}); + }, = /** * @private @@ -337,6 +332,11 @@ rf.Event.bindById(this.id, name, handler); } }, + = + __rfTopGroup : function () { + var res =3D this.__item().parents(".rf-pm-top-gr")[0]; + return res ? res : null; + }, = destroy: function () { var panelMenu =3D this.__rfPanelMenu(); Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/popupPanel.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= popupPanel.ecss 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= popupPanel.ecss 2011-03-27 13:51:09 UTC (rev 22318) @@ -30,6 +30,7 @@ top: 6px; left: 6px; bottom: -6px; + z-index: -1; } = .rf-pp-cntr { @@ -73,7 +74,6 @@ top : 0px; left : 0px; overflow : auto; - position: relative; background : '#{richSkin.generalBackgroundColor}'; } .rf-pp-cnt { = Modified: trunk/ui/output/ui/src/main/resources/META-INF/resources/org.rich= faces/popupPanel.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= popupPanel.js 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/= popupPanel.js 2011-03-27 13:51:09 UTC (rev 22318) @@ -175,12 +175,9 @@ this.borders =3D null; = if (this.domReattached) { - var element =3D this.div; - var parent =3D element.parent(); - if (parent) { - parent.remove(element); - } + this.div.remove(); } + this.markerId =3D null; this.options =3D null; = @@ -311,7 +308,7 @@ options.height =3D this.maxHeight; } $(richfaces.getDomElement(eContentElt)).css('heigh= t', options.height + (/px/.test(options.height) ? '' : 'px')); - var headerHeight =3D $(richfaces.getDomElement(thi= s.markerId + "_header"))[0] ? $(richfaces.getDomElement(this.markerId + "_h= eader"))[0].clientHeight : 0; + var headerHeight =3D $(richfaces.getDomElement(thi= s.markerId + "_header")) ? $(richfaces.getDomElement(this.markerId + "_head= er")).innerHeight() : 0; this.scrollerDiv.css('height', options.height - he= aderHeight + (/px/.test(options.height) ? '' : 'px')); } = @@ -749,11 +746,11 @@ $.extend(richfaces.ui.PopupPanel, { = showPopupPanel : function (id, opts, event) { - richfaces.Event.ready(richfaces.$(id).show()); + richfaces.Event.ready(function(){richfaces.$(id).show()}); }, = hidePopupPanel : function (id, opts, event) { - richfaces.Event.ready(richfaces.$(id).hide()); + richfaces.Event.ready(function(){richfaces.$(id).hide()}); } }); = Modified: trunk/ui/output/ui/src/main/templates/dropdownmenu.template.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/main/templates/dropdownmenu.template.xml 2011-03= -25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/main/templates/dropdownmenu.template.xml 2011-03= -27 13:51:09 UTC (rev 22318) @@ -21,7 +21,7 @@ = -
      = Modified: trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/htm= l/dropDownMenu_ajaxMode.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/drop= DownMenu_ajaxMode.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/drop= DownMenu_ajaxMode.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,4 +1,4 @@ -
      +
      File Modified: trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/htm= l/dropDownMenu_serverMode.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/drop= DownMenu_serverMode.xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/drop= DownMenu_serverMode.xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,4 +1,4 @@ -
      +
      File Modified: trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/htm= l/tab.xmlunit.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/tab.= xmlunit.xml 2011-03-25 18:58:21 UTC (rev 22317) +++ trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/tab.= xmlunit.xml 2011-03-27 13:51:09 UTC (rev 22318) @@ -1,4 +1,4 @@ -
      +
      + - + .rich-calendar-tool-btn { + font-family: Arial, Verdana; + } + = Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/calendar/samples/clientStylingDisablement-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ca= lendar/samples/clientStylingDisablement-sample.xhtml 2011-03-27 14:42:19 UT= C (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ca= lendar/samples/clientStylingDisablement-sample.xhtml 2011-03-28 11:54:33 UT= C (rev 22321) @@ -5,17 +5,17 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - - + \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/calendar/samples/dataModel-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ca= lendar/samples/dataModel-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ca= lendar/samples/dataModel-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,16 +5,16 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + .wdc { + font-weight: bold; + font-style: italic; + } + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/clientValidation/samples/jsfValidators-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/cl= ientValidation/samples/jsfValidators-sample.xhtml 2011-03-27 14:42:19 UTC (= rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/cl= ientValidation/samples/jsfValidators-sample.xhtml 2011-03-28 11:54:33 UTC (= rev 22321) @@ -12,7 +12,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/clientValidation/samples/jsr303-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/cl= ientValidation/samples/jsr303-sample.xhtml 2011-03-27 14:42:19 UTC (rev 223= 20) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/cl= ientValidation/samples/jsr303-sample.xhtml 2011-03-28 11:54:33 UTC (rev 223= 21) @@ -12,7 +12,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/collapsiblePanel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= llapsiblePanel/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 223= 20) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= llapsiblePanel/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 223= 21) @@ -10,7 +10,7 @@ = = + style=3D"float:right" alt=3D"rf" /> RichFaces is a component library for JSF and an advanced framework for = easily integrating AJAX capabilities into business applications.
        Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/commandButton/samples/commandButton-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mmandButton/samples/commandButton-sample.xhtml 2011-03-27 14:42:19 UTC (rev= 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mmandButton/samples/commandButton-sample.xhtml 2011-03-28 11:54:33 UTC (rev= 22321) @@ -5,11 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + + .outhello { + font-weight: bold; + } + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/commandLink/samples/commandLink-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mmandLink/samples/commandLink-sample.xhtml 2011-03-27 14:42:19 UTC (rev 223= 20) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mmandLink/samples/commandLink-sample.xhtml 2011-03-28 11:54:33 UTC (rev 223= 21) @@ -5,12 +5,12 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - = - + + .outhello { + font-weight: bold; + } + + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/component-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponent-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponent-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -8,11 +8,11 @@ = - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/componentControl/samples/tableFilteringAPI-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponentControl/samples/tableFilteringAPI-sample.xhtml 2011-03-27 14:42:19 U= TC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/co= mponentControl/samples/tableFilteringAPI-sample.xhtml 2011-03-28 11:54:33 U= TC (rev 22321) @@ -6,11 +6,11 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich" xmlns:fn=3D"http://java.sun.com/jsp/jstl/functions"> - + + .atop { + vertical-align: top; + } + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dataGrid/samples/grid-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taGrid/samples/grid-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taGrid/samples/grid-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dataScroller/samples/dataScrollerAPI-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taScroller/samples/dataScrollerAPI-sample.xhtml 2011-03-27 14:42:19 UTC (re= v 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taScroller/samples/dataScrollerAPI-sample.xhtml 2011-03-28 11:54:33 UTC (re= v 22321) @@ -5,22 +5,22 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + + onclick=3D"#{rich:component('ds')}.previous()" alt=3D"arr_left"/> - + + onclick=3D"#{rich:component('ds')}.next()" alt=3D"arr_right"/> - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dataTable/samples/dataTableEdit-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/dataTableEdit-sample.xhtml 2011-03-27 14:42:19 UTC (rev 223= 20) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/dataTableEdit-sample.xhtml 2011-03-28 11:54:33 UTC (rev 223= 21) @@ -6,11 +6,11 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> = - + @@ -43,13 +43,13 @@ - + - + = - + Please wait... = Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dataTable/samples/tableSorting-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/tableSorting-sample.xhtml 2011-03-27 14:42:19 UTC (rev 2232= 0) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/tableSorting-sample.xhtml 2011-03-28 11:54:33 UTC (rev 2232= 1) @@ -11,7 +11,7 @@ State Flag - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dataTable/samples/tableStyling-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/tableStyling-sample.xhtml 2011-03-27 14:42:19 UTC (rev 2232= 0) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/da= taTable/samples/tableStyling-sample.xhtml 2011-03-28 11:54:33 UTC (rev 2232= 1) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + = - + Drag the item to proper area.. Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dropDownMenu/samples/sideMenu-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/dr= opDownMenu/samples/sideMenu-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/dr= opDownMenu/samples/sideMenu-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -7,7 +7,7 @@ xmlns:rich=3D"http://richfaces.org/rich"> = - + - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/dropDownMenu/samples/topMenu-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/dr= opDownMenu/samples/topMenu-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/dr= opDownMenu/samples/topMenu-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -8,7 +8,7 @@ = = - + = - + @@ -42,7 +42,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/fileUpload/samples/imgUpload-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/fi= leUpload/samples/imgUpload-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/fi= leUpload/samples/imgUpload-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -8,7 +8,7 @@ = = - + - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/graphValidator/samples/passwordValidation-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/gr= aphValidator/samples/passwordValidation-sample.xhtml 2011-03-27 14:42:19 UT= C (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/gr= aphValidator/samples/passwordValidation-sample.xhtml 2011-03-28 11:54:33 UT= C (rev 22321) @@ -6,7 +6,7 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> = - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/jquery/samples/jquery-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/jq= uery/samples/jquery-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/jq= uery/samples/jquery-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + = =
        = - - - - - - - - - + + + + + + + + + =
        Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/mediaOutput/samples/flashUsage-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/me= diaOutput/samples/flashUsage-sample.xhtml 2011-03-27 14:42:19 UTC (rev 2232= 0) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/me= diaOutput/samples/flashUsage-sample.xhtml 2011-03-28 11:54:33 UTC (rev 2232= 1) @@ -21,12 +21,12 @@ alt=3D"Get Adobe Flash player" /> = - + =
        \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/mediaOutput/samples/imgUsage-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/me= diaOutput/samples/imgUsage-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/me= diaOutput/samples/imgUsage-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -37,6 +37,6 @@
        + mimeType=3D"image/jpeg" alt=3D"img" />
        \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/outputPanel/samples/compositemessages-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ou= tputPanel/samples/compositemessages-sample.xhtml 2011-03-27 14:42:19 UTC (r= ev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ou= tputPanel/samples/compositemessages-sample.xhtml 2011-03-28 11:54:33 UTC (r= ev 22321) @@ -19,7 +19,7 @@
        + required=3D"true" rows=3D"3" cols=3D"17">
        Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/outputPanel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ou= tputPanel/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ou= tputPanel/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,14 +5,14 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + = Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/panel/samples/lookCustomization-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nel/samples/lookCustomization-sample.xhtml 2011-03-27 14:42:19 UTC (rev 223= 20) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nel/samples/lookCustomization-sample.xhtml 2011-03-28 11:54:33 UTC (rev 223= 21) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/panel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nel/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nel/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -7,7 +7,7 @@ xmlns:rich=3D"http://richfaces.org/rich"> + style=3D"float:right" alt=3D"rf"/> RichFaces is a component library for JSF and an advanced framework for = easily integrating AJAX capabilities into business applications.
          Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/panelMenu/samples/panelMenu-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nelMenu/samples/panelMenu-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/pa= nelMenu/samples/panelMenu-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,11 +5,11 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + - + } +//]]> = + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/queue/samples/queue-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/qu= eue/samples/queue-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/qu= eue/samples/queue-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -44,7 +44,7 @@ - + \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/repeat/samples/simpleGrid-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/re= peat/samples/simpleGrid-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/re= peat/samples/simpleGrid-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -13,7 +13,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/standardSkinning/standardSkinning.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= andardSkinning/standardSkinning.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= andardSkinning/standardSkinning.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -51,7 +51,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/status/samples/referencedusage-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/referencedusage-sample.xhtml 2011-03-27 14:42:19 UTC (rev 2232= 0) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/referencedusage-sample.xhtml 2011-03-28 11:54:33 UTC (rev 2232= 1) @@ -19,7 +19,7 @@ + style=3D"width:16px; height:16px;" alt=3D"ai" /> @@ -29,7 +29,7 @@ + style=3D"width:16px; height:16px;" alt=3D"ai" /> Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/status/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -21,7 +21,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/status/samples/viewusage-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/viewusage-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/st= atus/samples/viewusage-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -37,7 +37,7 @@ - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/tabPanel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ta= bPanel/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/ta= bPanel/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -10,7 +10,7 @@ + style=3D"float:right" alt=3D"rf" /> RichFaces is a component library for JSF and an advanced framework for = easily integrating AJAX capabilities into business applications.
            = Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/togglePanel/samples/simple-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/simple-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/simple-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + @@ -48,6 +48,5 @@ style=3D"#{rich:findComponent('panel1').activeItem =3D=3D 'item2' ? 'f= ont-weight:bold' : 'font-weight:normal'}" /> -
            \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/togglePanel/samples/wizard-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/wizard-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/wizard-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - +
            Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/togglePanel/samples/wizard.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/wizard.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= gglePanel/samples/wizard.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> = - +
            Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/toolBar/samples/toolBar-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= olBar/samples/toolBar-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= olBar/samples/toolBar-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + = - + - + styleClass=3D"pic" alt=3D"create_folder" /> + - - - + + + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/toolBar/samples/toolBarIcons-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= olBar/samples/toolBarIcons-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= olBar/samples/toolBarIcons-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -72,7 +72,7 @@
            - + Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfa= ces/tooltip/samples/tooltip-sample.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= oltip/samples/tooltip-sample.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/richfaces/to= oltip/samples/tooltip-sample.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -5,7 +5,7 @@ xmlns:ui=3D"http://java.sun.com/jsf/facelets" xmlns:a4j=3D"http://richfaces.org/a4j" xmlns:rich=3D"http://richfaces.org/rich"> - + = - + - + - = + \ No newline at end of file Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp/templa= tes/main.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp/templates/ma= in.xhtml 2011-03-27 14:42:19 UTC (rev 22320) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp/templates/ma= in.xhtml 2011-03-28 11:54:33 UTC (rev 22321) @@ -7,7 +7,7 @@ RichFaces Showcase - = + = --===============6761897851590681874==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 28 08:07:30 2011 Content-Type: multipart/mixed; boundary="===============3575258335515554755==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22322 - branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF. Date: Mon, 28 Mar 2011 08:07:30 -0400 Message-ID: <201103281207.p2SC7Uke022238@svn01.web.mwc.hst.phx2.redhat.com> --===============3575258335515554755== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: artdaw Date: 2011-03-28 08:07:30 -0400 (Mon, 28 Mar 2011) New Revision: 22322 Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/a= ppengine-web.xml Log: RF-10753: wrong application name is fixed Modified: branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WE= B-INF/appengine-web.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/= appengine-web.xml 2011-03-28 11:54:33 UTC (rev 22321) +++ branches/4.0.X/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/= appengine-web.xml 2011-03-28 12:07:30 UTC (rev 22322) @@ -1,6 +1,6 @@ - travelcurve + richfaces-showcase 28 true = --===============3575258335515554755==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 28 11:18:44 2011 Content-Type: multipart/mixed; boundary="===============5299494632046386778==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22323 - in modules/build/resources/trunk/vdl-doc: src and 3 other directories. Date: Mon, 28 Mar 2011 11:18:44 -0400 Message-ID: <201103281518.p2SFIiHD027236@svn01.web.mwc.hst.phx2.redhat.com> --===============5299494632046386778== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-28 11:18:43 -0400 (Mon, 28 Mar 2011) New Revision: 22323 Added: modules/build/resources/trunk/vdl-doc/pom.xml modules/build/resources/trunk/vdl-doc/src/ modules/build/resources/trunk/vdl-doc/src/main/ modules/build/resources/trunk/vdl-doc/src/main/properties/ modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xml modules/build/resources/trunk/vdl-doc/src/main/xsl/ modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.html.= xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.html.x= sl modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.html= .xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.xsl Log: https://issues.jboss.org/browse/RF-10598 Get a basic tld document build goi= ng with the files as they are Added: modules/build/resources/trunk/vdl-doc/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/pom.xml (= rev 0) +++ modules/build/resources/trunk/vdl-doc/pom.xml 2011-03-28 15:18:43 UTC (= rev 22323) @@ -0,0 +1,230 @@ + + 4.0.0 + + org.richfaces.vdl + vdl-doc + 1.0-SNAPSHOT + = + vdl-doc + http://richfaces.org + + + UTF-8= = + + + + + org.richfaces.ui + richfaces-components-ui + 4.0.0-SNAPSHOT = + + + + + + + + org.codehaus.mojo + xml-maven-plugin + 1.0 + + + + transform + + + + + + + src/main/properties + src/main/xsl/tld-frame.html.xsl + + + output-dir + target/vdldoc + + + + + ^(.*)\.(.*)$ + tld-frame-list.txt + + + + + src/main/properties + src/main/xsl/tld-summary.html.xsl<= /stylesheet> + + + output-dir + target/vdldoc + + + + + ^(.*)\.(.*)$ + tld-summary-list.txt + + + + + src/main/properties + src/main/xsl/tag.html.xsl + + + output-dir + target/vdldoc + + + + + ^(.*)\.(.*)$ + tag-list.txt + + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/alltags-frame.html.xs= l + + + ^(.*)\.(.*)$ + alltags-frame.html + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/alltags-noframe.html.= xsl + + + ^(.*)\.(.*)$ + alltags-noframe.html + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/index.html.xsl + + + ^(.*)\.(.*)$ + index.html + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/help-doc.html.xsl + + + ^(.*)\.(.*)$ + help-doc.html + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/overview-frame.html.x= sl + + + ^(.*)\.(.*)$ + overview-frame.html + + + + + src/main/properties + ${project.build.directory}/vdldoc + src/main/xsl/overview-summary.html= .xsl + + + ^(.*)\.(.*)$ + overview-summary.html + + + + + src/main/properties + src/main/xsl/function.html.xsl + + + output-dir + target/vdldoc/ + + + + + ^(.*)\.(.*)$ + function-list.txt + + + + + + + + + + net.sf.saxon + saxon + 8.7 + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + deps + process-sources + + unpack + + + + + + + org.richfaces.ui + richfaces-components-ui + + + **/*.taglib.xml + ${project.build.directory}/taglibs/ + + + + maven-assembly-plugin + 2.2.1 + + + src/assembly/distribution.xml + + + + + + Added: modules/build/resources/trunk/vdl-doc/src/main/properties/properties= .xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xm= l (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xm= l 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,20 @@ + + + VDL Documentation + Tag Library Documentation Generator - Generated Documentation<= /doc-title> + + + + Ajax4JSF + Ajax4JSF VDL Documentation + ../../../target/taglibs/META-INF/a4j.taglib.xml + description + + + RichFaces + RichFaces VDL Documentation + ../../../target/taglibs/META-INF/rich.taglib.xml + description + = + + \ No newline at end of file Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.htm= l.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.html.x= sl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.html.x= sl 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,107 @@ + + + + + + + + = + + + + + + + All Tags / Functions + + + + + + All Tags / Functions +
            + + + + +
            + + + + + + = + +
            + + = +
            + = + + + /.html + tagFrame + : + +
            +
            + + + + + /.fn.html + tagFrame + :() + +
            +
            + +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.h= tml.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.html= .xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.html= .xsl 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,105 @@ + + + + + + + + = + + + + + + + All Tags / Functions + + + + + + All Tags / Functions +
            + + + + +
            + + + + + + = + +
            + + = +
            + = + + + /.html + + : +
            +
            + + + + + /.fn.html + + :() +
            +
            + +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl 20= 11-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,371 @@ + + + + + + + + + + + default + + + + + + + + + + + + + + + + --- + + + + + + + + + + + + + + + + + Unnamed TLD + + + + + + () + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   +  Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .fn.html + + _top + NO FRAMES + +   + + + +
            + + +
            +

            + + + +
            + Function + +

            + + +   + + ( + +
            + +
            +

            + + Example: +
            +

            +                        
            +                    
            +

            + +


            + + + + + + + + + + + + + + + + + + +
            + + Function Information + +
            Function Class + + + + + + None + + +
            Function Signature + + + + + + None + + +
            Display Name + + + + + + None + + +
            +
            +

            + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   +  Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .fn.html + + _top + NO FRAMES + +   + + + +
            + +


            + + + Output Generated by + Tag Library Documentation + Generator. + Java, JSP, and JavaServer Pages are trademarks or + registered trademarks of Sun Microsystems, Inc. in= the US and other + countries. Copyright 2002-4 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + +
            + +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl 20= 11-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,235 @@ + + + + + + + + = + + + + + + + + API Help (<xsl:value-of select=3D"properties/window-title"/>) + + + + + + + + + + + + + + + +
            + + + + + + + + +
             <= a href=3D"overview-summary.html">Overview   Library   Tag  &= #160;Help 
            +
            + +
            +  PREV  +  NEXT  + +  FRAMES=   +  NO FRAM= ES  + + +
            +
            +
            +

            How This Tag Library Document Is Organized

            +
            + This TLD (Tag Library Descriptor) document has pages correspondi= ng = + to the items in the navigation bar, described as follows. +

            Overview

            +
            +

            + The Overview page is the= front = + page of this TLD document and provides a list of all tag libra= ries + with a summary for each. +

            +

            Library

            +
            +

            + Each tag library has a page that contains a list of its = + validator, listeners, tags, and functions, with a summary for = each. + This page can contain four categories: +

              +
            • Validator
            • +
            • Listeners
            • +
            • Tags
            • +
            • Functions
            • +
            +
            +

            Validator

            +
            +

            + A tag library can have at most one validator. If a tag library + has a validator, it has its own page describing the validator, + the class that implements the validator, and the available + initialization parameters. +

            +

            Listeners

            +
            +

            + A tag library can have zero or more listeners. If a tag libra= ry + has at least one listener, a page is generated that lists all + listener classes registered for the tag library. +

            +

            Tags

            +
            +

            + A tag library can have zero or more tags. Each tag has its own + page that describes the tag, its display name, its unique acti= on + name, the class that implements the tag, the TagExtraInfo clas= s, + the body content type, scripting variable information, attribu= tes, + whether the tag supports dynamic attributes, and an optional = + example use of the tag. +

            +

            Functions

            +
            +

            + A tag library can contain zero or more EL functions. If a tag + library has at least one function, a page is generated that li= sts + all functions, the class that implements the function, the + function signature, and an optional example use of the functio= n. +

            + +

            Prev/Next

            +
            + These links take you to the next or previous validator, listen= er, = + tag, function, or related page. +
            +

            Frames/No Frames

            +
            + These links show and hide the HTML frames. All pages are avai= lable = + with or without frames. +
            +
            +
            + + + + + + + + + + +
            + + + + + + + + +
             <= a href=3D"overview-summary.html">Overview   Library   Tag  &= #160;Help 
            +
            + +
            +  PREV  +  NEXT  + +  FRAMES=   +  NO FRAM= ES  + + +
            +
            + + Output Generated by = + Tag Library Documentation Generator. + Java, JSP, and JavaServer Pages are trademarks or = + registered trademarks of Sun Microsystems, Inc. in the US and ot= her + countries. Copyright 2002-4 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. = + + + +
            +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl 2011-= 03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,75 @@ + + + + + + + + = + + + + + + + + <xsl:value-of select=3D"properties/window-title"/> + + + + + + + + + + + <h2>Frame Alert</h2> + <p/> + This document is designed to be viewed using the frames feature.= = + If you see this message, you are using a non-frame-capable web = + client. + <br/> + Link to <a href=3D"overview-summary.html">Non-frame version.</a> + + + + = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.ht= ml.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.html.= xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.html.= xsl 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,114 @@ + + + + + + + + = + + + + + + + + Overview (<xsl:value-of select=3D"properties/window-title"/>) + + + + + + + + + +
            + + + +
            + + + + +
            + + All Tags / Functions + +

            + + Tag Libraries + +
            + +

            +

            + + + + = + + + + /tld-frame.html + tldFrame + + + + + + + + + Unnamed TLD + + + + +
            +
            + = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.= html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.htm= l.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.htm= l.xsl 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,208 @@ + + + + + + + + = + + + + + + + + Overview (<xsl:value-of select=3D"properties/window-title"/>) + + + + + + + + + + + + + + + + +
            + + + + + + + + +
             Overview   Library   Tag  = 0;Help<= /a> 
            +
            + +
            + + + +  FRAMES=   +  NO FRAMES  + + +
            + +


            +
            +

            +
            + + + + + +
            + Tag Libraries +
            +

            +


            + + + + + + + + + + + +
            + + + + + + + + +
             Overview   Library   Tag  = 0;Help<= /a> 
            +
            + +
            + + + +  FRAMES=   +  NO FRAMES  + + +
            + +
            + + Output Generated by = + Tag Library Documentation Generator. + Java, JSP, and JavaServer Pages are trademarks or = + registered trademarks of Sun Microsystems, Inc. in the US and ot= her + countries. Copyright 2002-4 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. = + + + +
            + = + + + + + /tld-summary.html + + + + + + + + + Unnamed TLD + + + + + + + +
            +                  
            +                
            +
            + + No Description + +
            + + +
            +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css 2011-= 03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,60 @@ +/* Javadoc style sheet */ + +/* + * + * Copyright (c) 2003-2004, Sun Microsystems, Inc. + * All rights reserved. + * = + * Redistribution and use in source and binary forms, with or without = + * modification, are permitted provided that the following conditions are = met: + * = + * * Redistributions of source code must retain the above copyright = + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright = + * notice, this list of conditions and the following disclaimer in t= he + * documentation and/or other materials provided with the distributi= on. + * * Neither the name of Sun Microsystems, Inc. nor the names of its = + * contributors may be used to endorse or promote products derived f= rom + * this software without specific prior written permission. + * = + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS = + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMIT= ED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A = + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNE= R OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, = + * ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* Define colors, fonts and other style attributes here to override the de= faults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } +.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } +.FrameItemFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } + +/* Example of smaller, sans-serif font in frames */ +/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-= serif } */ + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000= ;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF= ;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-co= lor:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-co= lor:#FFFFFF;} + Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl 2011-03= -28 15:18:43 UTC (rev 22323) @@ -0,0 +1,527 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + () + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   = ;Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .html + _top + NO FRAMES + +   + + + +
            + + +
            +

            + + + +
            + Tag + +

            +
            + + + + +
            +

            +


            + + + + + + + + + + + + + + + + + + + + + + + + +
            + + Tag Information + +
            Component type + + + + + + + + + None + + +
            Tag Name + + +
            Renderer Type + + + + + + None + + +
            Handler Class + + + + + + None + + +
            +
            + + +
            +

            +


            + + + + + + + + + + + + + + + + + +
            + + Tag Information + +
            Handler Id + + + + + + + + + None + + +
            Handler Class + + + + + + None + + +
            +
            + + + + + + + + + + +
            + + Tag Information + +
            Handler Class + +
            +
            +
            + + +
            +

            + + + + + + + + +
            + + Supported Facets + +
            No facets
            +
            +

            + + + + + + + + 0"> + + + + + + + + + + + + + +
            + + Attributes + +
            + Name + + Required + + Type + + Description +
            + No Attributes Defined. +
            +
            +

            + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   = ;Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .html + + _top + NO FRAMES + +   + + + +
            + +


            + + + Output Generated by + Tag Library Documentation + Generator. + + + + + +
            + + + + + + + + + + + + false + + + + + + + + + + + java.lang.String + + + + + + + + + + No Description + + + + + +
            \ No newline at end of file Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl = (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl 2= 011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + = + + + + + + + + + + Unnamed TLD + + + + + + + + () + + + No Description + + + + + + + + + + + <xsl:value-of select=3D"$taglibfull"/> + + + + + + + + + + + + + 0"> + + + + + 0"> + + + + + +
            + + Tags +   + + + + +
            + + Functions +   + + + +
            + + + +
            +
            + + +
            + + .html + tagFrame + : + +
            + + +
            + + .fn.html + tagFrame + :() + +
            + +
            = Added: modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.= xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.xsl= (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.xsl= 2011-03-28 15:18:43 UTC (rev 22323) @@ -0,0 +1,458 @@ + + + + + + + + = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unnamed TLD + + + + + + + + + () + + + + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +  &= #160;Library   + + &#= 160;Tag  +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + NO FRAMES + +   + + + +
            + + +
            +

            + +

            +
            + + XML Syntax: +
            + +      + + + <anyxmlelement xmlns:=3D"u= rn:jsptagdir:" + /> +
            +
            + + <anyxmlelement xmlns:=3D"u= rn:jsptld:" /> +
            +
            + + <anyxmlelement xmlns:=3D"" /&g= t; +
            +
            +
            +
            +
            +
            + + +
            +                                
            +                            
            +
            + + No Description + +
            +

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            + + Tag Library Information + +
            Display Name + + + None +
            Short Name + + + None +
            URI + + + None +
            +   +

            + + 0"> + + + + + +
            + + Tag Summary + +
            +   +

            + + + 0"> + + + + + +
            + + Function Summary + +
            +   +

            + + + + + + + + + + +
            + + + + + +   + + FRAMES + +   +   + + NO FRAMES + +   + + + +
            + +


            + + + Java, JSP, and JavaServer Pages are trademarks= or registered + trademarks of Sun Microsystems, Inc. in the US= and other countries. + Copyright 2002-3 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + +
            +
            + = + + + + + + .html + + + + + + + + + + + + + + + No Description + + + + + + + + + + + + + + + .fn.html + + + ( = + + + + + + + + + No Description + + + + + + = + +
            = --===============5299494632046386778==-- From richfaces-svn-commits at lists.jboss.org Mon Mar 28 13:12:59 2011 Content-Type: multipart/mixed; boundary="===============0526831949623585427==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22324 - in modules/build/resources/trunk/vdl-doc: src/main/properties and 1 other directories. Date: Mon, 28 Mar 2011 13:12:59 -0400 Message-ID: <201103281712.p2SHCxtu018043@svn01.web.mwc.hst.phx2.redhat.com> --===============0526831949623585427== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-28 13:12:58 -0400 (Mon, 28 Mar 2011) New Revision: 22324 Modified: modules/build/resources/trunk/vdl-doc/pom.xml modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xml modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl Log: https://issues.jboss.org/browse/RF-10598 Get a basic tld document build goi= ng with the files as they are Modified: modules/build/resources/trunk/vdl-doc/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/pom.xml 2011-03-28 15:18:43 UTC (= rev 22323) +++ modules/build/resources/trunk/vdl-doc/pom.xml 2011-03-28 17:12:58 UTC (= rev 22324) @@ -2,13 +2,15 @@ xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 http://ma= ven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 = - org.richfaces.vdl - vdl-doc - 1.0-SNAPSHOT + org.richfaces.build.resources + faces-vdl-documentation + 1-SNAPSHOT = - vdl-doc + RichFaces VDl Documentation http://richfaces.org = + Richfaces Resources for VDL generation + UTF-8= = @@ -216,15 +218,6 @@ ${project.build.directory}/taglibs/ - - maven-assembly-plugin - 2.2.1 - - - src/assembly/distribution.xml - - - Modified: modules/build/resources/trunk/vdl-doc/src/main/properties/propert= ies.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xm= l 2011-03-28 15:18:43 UTC (rev 22323) +++ modules/build/resources/trunk/vdl-doc/src/main/properties/properties.xm= l 2011-03-28 17:12:58 UTC (rev 22324) @@ -8,13 +8,13 @@ Ajax4JSF Ajax4JSF VDL Documentation ../../../target/taglibs/META-INF/a4j.taglib.xml - description + Represents core Ajax functionality, and page wide Ajax con= trols and utility components. RichFaces RichFaces VDL Documentation ../../../target/taglibs/META-INF/rich.taglib.xml - description + Represents self-contained and advanced UI components with = out-of-the-box Ajax functionality. = \ No newline at end of file Modified: modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl 2011-03= -28 15:18:43 UTC (rev 22323) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl 2011-03= -28 17:12:58 UTC (rev 22324) @@ -264,6 +264,27 @@ + = + = + + = @@ -333,27 +354,9 @@ - -
            -

            - - - - - - - +

            = = -

            - - Supported Facets - -
            No facets
            -
            -

            - - + + + + + = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tag.ht= ml.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/main/xsl/= tag.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tag.html.x= sl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tag.html.x= sl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + () + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + +
            Modified: modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html= .xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl 2= 011-03-28 15:18:43 UTC (rev 22323) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl 2= 011-03-28 17:12:58 UTC (rev 22324) @@ -47,7 +47,7 @@ xmlns:fo=3D"http://www.w3.org/1999/XSL/Format"> = - + @@ -97,7 +97,7 @@ <xsl:value-of select=3D"$taglibfull"/> - + + + + All Tags / Functions +
            + + + + +
            + + + true<= /xsl:with-param> + + + + + +
            + + + + + + + + + + All Tags / Functions + + + + + + All Tags / Functions +
            + + + + +
            + + + false + + + + + +
            + + + +
            + + + + false + + + /.html + + + tagFrame + + + + + + + : + +
            +
            + + + + false + + /.fn.html + + + tagFrame + + + + + + :() + +
            + + + +
            + + + + + \ No newline at end of file Added: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/common.= xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/common.xsl= (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/common.xsl= 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/functi= on.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/main= /xsl/function.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/function.h= tml.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/function.h= tml.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,373 @@ + + + + + + + + + + + default + + + + + + + + + + + + + + + + --- + + + + + + + + + + + + Unnamed TLD + + + + + + () + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + + + + + + +
            + + + + + +   + + FRAMES + +   +   + + <= xsl:value-of select=3D"javaee:function-name"/>.fn.html + + _top + NO FRAMES + +   + + + +
            + + +
            +

            + + + +
            + Function + +

            + + +   + + ( + +
            + +
            +

            + + Example: +
            +

            +                                
            +                            
            +

            + +


            + + + + + + + + + + + + + + + + + + +
            + + Function Information + +
            Function Class + + + + + + None + + +
            Function Signature + + + + + + None + + +
            Display Name + + + + + + None + + +
            +
            +

            + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   +  Tag = 0; +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + <= xsl:value-of select=3D"javaee:function-name"/>.fn.html + + _top + NO FRAMES + +   + + + +
            + +


            + + + Output Generated by + Tag Library Documentation + Generator. + Java, JSP, and JavaServer Pages are tradem= arks or + registered trademarks of Sun Microsystems,= Inc. in the US and other + countries. Copyright 2002-4 Sun Microsyste= ms, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + + +
            +
            +
            + + + + + +
            = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/help-d= oc.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/main= /xsl/help-doc.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/help-doc.h= tml.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/help-doc.h= tml.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,244 @@ + + + + + + + + = + + + + + + + + + + + + + API Help (<xsl:value-of select=3D"properties/window-titl= e"/>) + + + + + + + + + + + + + + + +
            + + + + + + + + +
            &= #160;Overv= iew  =  Library  =  Tag   Help 
            +
            + +
            +  PREV  +  NEXT  + +  FRAM= ES  +  N= O FRAMES  + + +
            +
            +
            +

            How This Tag Library Document Is Organized

            +
            + This TLD (Tag Library Descriptor) document has pages corre= sponding + to the items in the navigation bar, described as follows. +

            Overview

            +
            +

            + The Overview page = is the front + page of this TLD document and provides a list of all tag= libraries + with a summary for each. +

            +

            Library

            +
            +

            + Each tag library has a page that contains a list of its + validator, listeners, tags, and functions, with a summar= y for each. + This page can contain four categories: +

              +
            • Validator
            • +
            • Listeners
            • +
            • Tags
            • +
            • Functions
            • +
            +
            +

            Validator

            +
            +

            + A tag library can have at most one validator. If a tag = library + has a validator, it has its own page describing the vali= dator, + the class that implements the validator, and the availab= le + initialization parameters. +

            +

            Listeners

            +
            +

            + A tag library can have zero or more listeners. If a tag= library + has at least one listener, a page is generated that list= s all + listener classes registered for the tag library. +

            +

            Tags

            +
            +

            + A tag library can have zero or more tags. Each tag has = its own + page that describes the tag, its display name, its uniqu= e action + name, the class that implements the tag, the TagExtraInf= o class, + the body content type, scripting variable information, a= ttributes, + whether the tag supports dynamic attributes, and an opti= onal + example use of the tag. +

            +

            Functions

            +
            +

            + A tag library can contain zero or more EL functions. If= a tag + library has at least one function, a page is generated t= hat lists + all functions, the class that implements the function, t= he + function signature, and an optional example use of the f= unction. +

            + +

            Prev/Next

            +
            + These links take you to the next or previous validator, = listener, + tag, function, or related page. +
            +

            Frames/No Frames

            +
            + These links show and hide the HTML frames. All pages ar= e available + with or without frames. +
            +
            +
            + + + + + + + + + + +
            + + + + + + + + +
            &= #160;Overv= iew  =  Library  =  Tag   Help 
            +
            + +
            +  PREV  +  NEXT  + +  FRAM= ES  +  N= O FRAMES  + + +
            +
            + + Output Generated by + Tag Library Documentation Generator. + Java, JSP, and JavaServer Pages are trademarks or + registered trademarks of Sun Microsystems, Inc. in the US = and other + countries. Copyright 2002-4 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + +
            + +
            +
            = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/index.= html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/main/xs= l/index.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/index.html= .xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/index.html= .xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,84 @@ + + + + + + + + = + + + + + + + + + + + + <xsl:value-of select=3D"properties/window-title"/> + + + + + + + + + + + <h2>Frame Alert</h2> + <p/> + This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web + client. + <br/> + Link to <a href=3D"overview-summary.html">Non-frame version.</a> + + + + + + + + = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overvi= ew-frame.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/sr= c/main/xsl/overview-frame.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overview-f= rame.html.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overview-f= rame.html.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,123 @@ + + + + + + + + = + + + + + + + + + + + Overview (<xsl:value-of select=3D"properties/windo= w-title"/>) + + + + + + + + + +
            + + + + + +
            + + + + +
            + + + All Tags / Functions + + +

            + + Tag Libraries + +
            + + + + + <= xsl:value-of select=3D"@short-name"/>/tld-frame.html + tldFrame + + + + + + + + + Unnamed TLD + + + + +
            +
            +

            +

            + + + + + + = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overvi= ew-summary.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/= src/main/xsl/overview-summary.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overview-s= ummary.html.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/overview-s= ummary.html.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,215 @@ + + + + + + + + = + + + + + + + + + + + Overview (<xsl:value-of select=3D"properties/window-titl= e"/>) + + + + + + + + + + + + + + + + +
            + + + + + + + + +
             Overview  =  Library  =  Tag  =  Help 
            +
            + +
            + + + +  FRAM= ES  +  NO FRAMES  + + +
            + +


            +
            +

            +
            + + + + + +
            + Tag Libraries +
            +

            +


            + + + + + + + + + + + +
            + + + + + + + + +
             Overview  =  Library  =  Tag  =  Help 
            +
            + +
            + + + +  FRAM= ES  +  NO FRAMES  + + +
            + +
            + + Output Generated by + Tag Library Documentation Generator. + Java, JSP, and JavaServer Pages are trademarks or + registered trademarks of Sun Microsystems, Inc. in the US = and other + countries. Copyright 2002-4 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + +
            + +
            + = + +
            + + /tld-summary.html + + + + + + + + + Unnamed TLD + + + + + + +
            +                  
            +                
            +
            + + No Description + +
            +
            + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   = ;Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .html + _top + NO FRAMES + +   + + + +
            + + +


            +

            + + + +
            + Tag + +

            +
            + + + + +
            +

            +


            + + + + + + + + + + + + + + + + + + + + + + + + +
            + + Tag Information + +
            Component type + + + + + + + + + None + + +
            Tag Name + + +
            Renderer Type + + + + + + None + + +
            Handler Class + + + + + + None + + +
            + = + = + + = +
            + + +
            +

            +


            + + + + + + + + + + + + + + + + + +
            + + Tag Information + +
            Handler Id + + + + + + + + + None + + +
            Handler Class + + + + + + None + + +
            +
            + + + + + + + + + + +
            + + Tag Information + +
            Handler Class + +
            +
            +
            +
            +

            = + + + + + + + 0"> + + + + + + + + + + + + + +
            + + Attributes + +
            + Name + + Required + + Type + + Description +
            + No Attributes Defined. +
            +
            +

            + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +   + + + Library + + +   +   = ;Tag   +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + .html + _top + NO FRAMES + +   + + + +
            + +


            + + + Output Generated by + Tag Library Documentation + Generator. + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + java.lang.String + + + + + + + + + + No Description + + + + + + \ No newline at end of file Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-fr= ame.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/mai= n/xsl/tld-frame.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-frame.= html.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-frame.= html.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + = + + + + + + + + + + + Unnamed TLD + + + + + + + + () + + + No Description + + + + + + + + + + + <xsl:value-of select=3D"$taglibfull"/> + + + + + + + + + + + + + 0"> + + + + + 0"> + + + + + +
            + + Tags +   + + + + +
            + + .html + tagFrame + : + +
            +
            +
            + + Functions +   + + + +
            + + .fn.html + tagFrame + :() + + +
            + +
            +
            + + + +
            +
            + + + + + + + + + +
            = Copied: modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-su= mmary.html.xsl (from rev 22346, modules/build/resources/trunk/vdl-doc/src/m= ain/xsl/tld-summary.html.xsl) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-summar= y.html.xsl (rev 0) +++ modules/build/resources/trunk/vdl-doc/src/main/resources/xsl/tld-summar= y.html.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -0,0 +1,477 @@ + + + + + + + + = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unnamed TLD + + + + + + + + + () + + + + + + + + <xsl:value-of select=3D"$title"/> + + + + + + + + + + + + + + + + +
            + + + + + + + + +
              + + + Overview + + +   +  &= #160;Library   + + &#= 160;Tag  +   + + + Help + + +   +
            +
            + + +
            + + + + + + +   + + FRAMES + +   +   + + NO FRAMES + +   + + + +
            + + +
            +

            + +

            +
            + + XML Syntax: +
            + +      + + + <anyxmlelement xmlns:=3D"u= rn:jsptagdir:" + /> +
            +
            + + <anyxmlelement xmlns:=3D"u= rn:jsptld:" /> +
            +
            + + <anyxmlelement xmlns:=3D"" /&g= t; +
            +
            +
            +
            +
            +
            + + +
            +                                
            +                            
            +
            + + No Description + +
            +

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            + + Tag Library Information + +
            Display Name + + + None +
            Short Name + + + None +
            URI + + + None +
            +   +

            + + 0"> + + + + + + + + + + + + + +
            + + Tag Summary + +
            + + + <= xsl:value-of select=3D"javaee:tag-name"/>.html + + + + + + + + + + + + + + No Description + + +
            +   +

            + + + 0"> + + + + + + + + + + + + + +
            + + Function Summary + +
            + + + + + + + = + = .fn.html + = + = + + ( + + + + + + = + + + = No Description + + +
            +   +

            + + + + + + + + + + +
            + + + + + +   + + FRAMES + +   +   + + NO FRAMES + +   + + + +
            + +


            + + + Java, JSP, and JavaServer Pages are trademarks= or registered + trademarks of Sun Microsystems, Inc. in the US= and other countries. + Copyright 2002-3 Sun Microsystems, Inc. + 4150 Network Circle + Santa Clara, CA 95054, U.S.A. + All Rights Reserved. + + + + +
            +
            + = + + + + + + + + + +
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.h= tml.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.html.x= sl 2011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-frame.html.x= sl 2011-03-31 19:44:04 UTC (rev 22347) @@ -1,107 +0,0 @@ - - - - - - - - = - - - - - - - All Tags / Functions - - - - - - All Tags / Functions -
            - - - - -
            - - - - - - = - -
            - - = -
            - = - - - /.html - tagFrame - : - -
            -
            - - - - - /.fn.html - tagFrame - :() - -
            -
            - -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe= .html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.html= .xsl 2011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/alltags-noframe.html= .xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -1,105 +0,0 @@ - - - - - - - - = - - - - - - - All Tags / Functions - - - - - - All Tags / Functions -
            - - - - -
            - - - - - - = - -
            - - = -
            - = - - - /.html - - : -
            -
            - - - - - /.fn.html - - :() -
            -
            - -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.x= sl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl 20= 11-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/function.html.xsl 20= 11-03-31 19:44:04 UTC (rev 22347) @@ -1,371 +0,0 @@ - - - - - - - - - - - default - - - - - - - - - - - - - - - - --- - - - - - - - - - - - - - - - - - Unnamed TLD - - - - - - () - - - - - <xsl:value-of select=3D"$title"/> - - - - - - - - - - - - - - - - - -
            - - - - - - - - -
              - - - Overview - - -   -   - - - Library - - -   -   -  Tag   -   - - - Help - - -   -
            -
            - - -
            - - - - - - -   - - FRAMES - -   -   - - .fn.html - - _top - NO FRAMES - -   - - - -
            - - -
            -

            - - - -
            - Function - -

            - - -   - - ( - -
            - -
            -

            - - Example: -
            -

            -                        
            -                    
            -

            - -


            - - - - - - - - - - - - - - - - - - -
            - - Function Information - -
            Function Class - - - - - - None - - -
            Function Signature - - - - - - None - - -
            Display Name - - - - - - None - - -
            -
            -

            - - - - - - - - - - - - -
            - - - - - - - - -
              - - - Overview - - -   -   - - - Library - - -   -   -  Tag   -   - - - Help - - -   -
            -
            - - -
            - - - - - - -   - - FRAMES - -   -   - - .fn.html - - _top - NO FRAMES - -   - - - -
            - -


            - - - Output Generated by - Tag Library Documentation - Generator. - Java, JSP, and JavaServer Pages are trademarks or - registered trademarks of Sun Microsystems, Inc. in= the US and other - countries. Copyright 2002-4 Sun Microsystems, Inc. - 4150 Network Circle - Santa Clara, CA 95054, U.S.A. - All Rights Reserved. - - - - -
            - -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.x= sl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl 20= 11-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/help-doc.html.xsl 20= 11-03-31 19:44:04 UTC (rev 22347) @@ -1,235 +0,0 @@ - - - - - - - - = - - - - - - - - API Help (<xsl:value-of select=3D"properties/window-title"/>) - - - - - - - - - - - - - - - -
            - - - - - - - - -
             <= a href=3D"overview-summary.html">Overview   Library   Tag  &= #160;Help 
            -
            - -
            -  PREV  -  NEXT  - -  FRAMES=   -  NO FRAM= ES  - - -
            -
            -
            -

            How This Tag Library Document Is Organized

            -
            - This TLD (Tag Library Descriptor) document has pages correspondi= ng = - to the items in the navigation bar, described as follows. -

            Overview

            -
            -

            - The Overview page is the= front = - page of this TLD document and provides a list of all tag libra= ries - with a summary for each. -

            -

            Library

            -
            -

            - Each tag library has a page that contains a list of its = - validator, listeners, tags, and functions, with a summary for = each. - This page can contain four categories: -

              -
            • Validator
            • -
            • Listeners
            • -
            • Tags
            • -
            • Functions
            • -
            -
            -

            Validator

            -
            -

            - A tag library can have at most one validator. If a tag library - has a validator, it has its own page describing the validator, - the class that implements the validator, and the available - initialization parameters. -

            -

            Listeners

            -
            -

            - A tag library can have zero or more listeners. If a tag libra= ry - has at least one listener, a page is generated that lists all - listener classes registered for the tag library. -

            -

            Tags

            -
            -

            - A tag library can have zero or more tags. Each tag has its own - page that describes the tag, its display name, its unique acti= on - name, the class that implements the tag, the TagExtraInfo clas= s, - the body content type, scripting variable information, attribu= tes, - whether the tag supports dynamic attributes, and an optional = - example use of the tag. -

            -

            Functions

            -
            -

            - A tag library can contain zero or more EL functions. If a tag - library has at least one function, a page is generated that li= sts - all functions, the class that implements the function, the - function signature, and an optional example use of the functio= n. -

            - -

            Prev/Next

            -
            - These links take you to the next or previous validator, listen= er, = - tag, function, or related page. -
            -

            Frames/No Frames

            -
            - These links show and hide the HTML frames. All pages are avai= lable = - with or without frames. -
            -
            -
            - - - - - - - - - - -
            - - - - - - - - -
             <= a href=3D"overview-summary.html">Overview   Library   Tag  &= #160;Help 
            -
            - -
            -  PREV  -  NEXT  - -  FRAMES=   -  NO FRAM= ES  - - -
            -
            - - Output Generated by = - Tag Library Documentation Generator. - Java, JSP, and JavaServer Pages are trademarks or = - registered trademarks of Sun Microsystems, Inc. in the US and ot= her - countries. Copyright 2002-4 Sun Microsystems, Inc. - 4150 Network Circle - Santa Clara, CA 95054, U.S.A. - All Rights Reserved. = - - - -
            -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl 2011-= 03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/index.html.xsl 2011-= 03-31 19:44:04 UTC (rev 22347) @@ -1,75 +0,0 @@ - - - - - - - - = - - - - - - - - <xsl:value-of select=3D"properties/window-title"/> - - - - - - - - - - - <h2>Frame Alert</h2> - <p/> - This document is designed to be viewed using the frames feature.= = - If you see this message, you are using a non-frame-capable web = - client. - <br/> - Link to <a href=3D"overview-summary.html">Non-frame version.</a> - - - - = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.= html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.html.= xsl 2011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-frame.html.= xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -1,114 +0,0 @@ - - - - - - - - = - - - - - - - - Overview (<xsl:value-of select=3D"properties/window-title"/>) - - - - - - - - - -
            - - - -
            - - - - -
            - - All Tags / Functions - -

            - - Tag Libraries - -
            - -

            -

            - - - - = - - - - /tld-frame.html - tldFrame - - - - - - - - - Unnamed TLD - - - - -
            -
            - = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summar= y.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.htm= l.xsl 2011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/overview-summary.htm= l.xsl 2011-03-31 19:44:04 UTC (rev 22347) @@ -1,208 +0,0 @@ - - - - - - - - = - - - - - - - - Overview (<xsl:value-of select=3D"properties/window-title"/>) - - - - - - - - - - - - - - - - -
            - - - - - - - - -
             Overview   Library   Tag  = 0;Help<= /a> 
            -
            - -
            - - - -  FRAMES=   -  NO FRAMES  - - -
            - -


            -
            -

            -
            - - - - - -
            - Tag Libraries -
            -

            -


            - - - - - - - - - - - -
            - - - - - - - - -
             Overview   Library   Tag  = 0;Help<= /a> 
            -
            - -
            - - - -  FRAMES=   -  NO FRAMES  - - -
            - -
            - - Output Generated by = - Tag Library Documentation Generator. - Java, JSP, and JavaServer Pages are trademarks or = - registered trademarks of Sun Microsystems, Inc. in the US and ot= her - countries. Copyright 2002-4 Sun Microsystems, Inc. - 4150 Network Circle - Santa Clara, CA 95054, U.S.A. - All Rights Reserved. = - - - -
            - = - - - - - /tld-summary.html - - - - - - - - - Unnamed TLD - - - - - - - -
            -                  
            -                
            -
            - - No Description - -
            - - -
            -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css 2011-= 03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/stylesheet.css 2011-= 03-31 19:44:04 UTC (rev 22347) @@ -1,60 +0,0 @@ -/* Javadoc style sheet */ - -/* - * - * Copyright (c) 2003-2004, Sun Microsystems, Inc. - * All rights reserved. - * = - * Redistribution and use in source and binary forms, with or without = - * modification, are permitted provided that the following conditions are = met: - * = - * * Redistributions of source code must retain the above copyright = - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright = - * notice, this list of conditions and the following disclaimer in t= he - * documentation and/or other materials provided with the distributi= on. - * * Neither the name of Sun Microsystems, Inc. nor the names of its = - * contributors may be used to endorse or promote products derived f= rom - * this software without specific prior written permission. - * = - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS = - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMIT= ED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A = - * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNE= R OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, = - * ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -/* Define colors, fonts and other style attributes here to override the de= faults */ - -/* Page background color */ -body { background-color: #FFFFFF } - -/* Table colors */ -.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ -.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ -.TableRowColor { background: #FFFFFF } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } -.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } -.FrameItemFont { font-size: 10pts; font-family: Helvetica, Arial, san-s= erif } - -/* Example of smaller, sans-serif font in frames */ -/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-= serif } */ - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ -.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000= ;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF= ;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-co= lor:#FFFFFF;} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-co= lor:#FFFFFF;} - Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl 2011-03= -31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tag.html.xsl 2011-03= -31 19:44:04 UTC (rev 22347) @@ -1,530 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - () - - - - - <xsl:value-of select=3D"$title"/> - - - - - - - - - - - - - - - - - -
            - - - - - - - - -
              - - - Overview - - -   -   - - - Library - - -   -   = ;Tag   -   - - - Help - - -   -
            -
            - - -
            - - - - - - -   - - FRAMES - -   -   - - .html - _top - NO FRAMES - -   - - - -
            - - -
            -

            - - - -
            - Tag - -

            -
            - - - - -
            -

            -


            - - - - - - - - - - - - - - - - - - - - - - - - -
            - - Tag Information - -
            Component type - - - - - - - - - None - - -
            Tag Name - - -
            Renderer Type - - - - - - None - - -
            Handler Class - - - - - - None - - -
            - = - = - - = -
            - - -
            -

            -


            - - - - - - - - - - - - - - - - - -
            - - Tag Information - -
            Handler Id - - - - - - - - - None - - -
            Handler Class - - - - - - None - - -
            -
            - - - - - - - - - - -
            - - Tag Information - -
            Handler Class - -
            -
            -
            -
            -

            = - - - - - - - 0"> - - - - - - - - - - - - - -
            - - Attributes - -
            - Name - - Required - - Type - - Description -
            - No Attributes Defined. -
            -
            -

            - - - - - - - - - - - - - -
            - - - - - - - - -
              - - - Overview - - -   -   - - - Library - - -   -   = ;Tag   -   - - - Help - - -   -
            -
            - - -
            - - - - - - -   - - FRAMES - -   -   - - .html - - _top - NO FRAMES - -   - - - -
            - -


            - - - Output Generated by - Tag Library Documentation - Generator. - - - - - -
            - - - - - - - - - - - - false - - - - - - - - - - - java.lang.String - - - - - - - - - - No Description - - - - - -
            \ No newline at end of file Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.= xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl 2= 011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-frame.html.xsl 2= 011-03-31 19:44:04 UTC (rev 22347) @@ -1,168 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - = - - - - - - - - - - Unnamed TLD - - - - - - - - () - - - No Description - - - - - - - - - - - <xsl:value-of select=3D"$taglibfull"/> - - - - - - - - - - - - - 0"> - - - - - 0"> - - - - - -
            - - Tags -   - - - - -
            - - Functions -   - - - -
            - - - -
            -
            - - -
            - - .html - tagFrame - : - -
            - - -
            - - .fn.html - tagFrame - :() - -
            - -
            = Deleted: modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.htm= l.xsl =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.xsl= 2011-03-31 16:06:42 UTC (rev 22346) +++ modules/build/resources/trunk/vdl-doc/src/main/xsl/tld-summary.html.xsl= 2011-03-31 19:44:04 UTC (rev 22347) @@ -1,458 +0,0 @@ - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unnamed TLD - - - - - - - - - () - - - - - - - - <xsl:value-of select=3D"$title"/> - - - - - - - - - - - - - - - - -
            - - - - - - - - -
              - - - Overview - - -   -  &= #160;Library   - - &#= 160;Tag  -   - - - Help - - -   -
            -
            - - -
            - - - - - - -   - - FRAMES - -   -   - - NO FRAMES - -   - - - -
            - - -
            -

            - -

            -
            - - XML Syntax: -
            - -      - - - <anyxmlelement xmlns:=3D"u= rn:jsptagdir:" - /> -
            -
            - - <anyxmlelement xmlns:=3D"u= rn:jsptld:" /> -
            -
            - - <anyxmlelement xmlns:=3D"" /&g= t; -
            -
            -
            -
            -
            -
            - - -
            -                                
            -                            
            -
            - - No Description - -
            -

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            - - Tag Library Information - -
            Display Name - - - None -
            Short Name - - - None -
            URI - - - None -
            -   -

            - - 0"> - - - - - -
            - - Tag Summary - -
            -   -

            - - - 0"> - - - - - -
            - - Function Summary - -
            -   -

            - - - - - - - - - - -
            - - - - - -   - - FRAMES - -   -   - - NO FRAMES - -   - - - -
            - -


            - - - Java, JSP, and JavaServer Pages are trademarks= or registered - trademarks of Sun Microsystems, Inc. in the US= and other countries. - Copyright 2002-3 Sun Microsystems, Inc. - 4150 Network Circle - Santa Clara, CA 95054, U.S.A. - All Rights Reserved. - - - - -
            -
            - = - - - - - - .html - - - - - - - - - - - - - - - No Description - - - - - - - - - - - - - - - .fn.html - - - ( = - - - - - - - - - No Description - - - - - - = - -
            = --===============0383403474411771085==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 31 15:45:16 2011 Content-Type: multipart/mixed; boundary="===============7188726061719581248==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22348 - modules/build/resources/trunk/vdl-doc. Date: Thu, 31 Mar 2011 15:45:16 -0400 Message-ID: <201103311945.p2VJjGsg004082@svn01.web.mwc.hst.phx2.redhat.com> --===============7188726061719581248== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-31 15:45:16 -0400 (Thu, 31 Mar 2011) New Revision: 22348 Modified: modules/build/resources/trunk/vdl-doc/pom.xml Log: https://issues.jboss.org/browse/RF-10601 Update build to generation on prof= iles Modified: modules/build/resources/trunk/vdl-doc/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/vdl-doc/pom.xml 2011-03-31 19:44:04 UTC (= rev 22347) +++ modules/build/resources/trunk/vdl-doc/pom.xml 2011-03-31 19:45:16 UTC (= rev 22348) @@ -5,219 +5,27 @@ org.richfaces.build.resources faces-vdl-documentation 1-SNAPSHOT - = + RichFaces VDl Documentation http://richfaces.org = Richfaces Resources for VDL generation = - UTF-8= = + UTF-8 = - - - org.richfaces.ui - richfaces-components-ui - 4.0.0-SNAPSHOT = - - - - - - org.codehaus.mojo - xml-maven-plugin - 1.0 - - - - transform - - - - - - - src/main/properties - src/main/xsl/tld-frame.html.xsl - - - output-dir - target/vdldoc - - - - - ^(.*)\.(.*)$ - tld-frame-list.txt - - - - - src/main/properties - src/main/xsl/tld-summary.html.xsl<= /stylesheet> - - - output-dir - target/vdldoc - - - - - ^(.*)\.(.*)$ - tld-summary-list.txt - - - - - src/main/properties - src/main/xsl/tag.html.xsl - - - output-dir - target/vdldoc - - - - - ^(.*)\.(.*)$ - tag-list.txt - - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/alltags-frame.html.xs= l - - - ^(.*)\.(.*)$ - alltags-frame.html - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/alltags-noframe.html.= xsl - - - ^(.*)\.(.*)$ - alltags-noframe.html - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/index.html.xsl - - - ^(.*)\.(.*)$ - index.html - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/help-doc.html.xsl - - - ^(.*)\.(.*)$ - help-doc.html - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/overview-frame.html.x= sl - - - ^(.*)\.(.*)$ - overview-frame.html - - - - - src/main/properties - ${project.build.directory}/vdldoc - src/main/xsl/overview-summary.html= .xsl - - - ^(.*)\.(.*)$ - overview-summary.html - - - - - src/main/properties - src/main/xsl/function.html.xsl - - - output-dir - target/vdldoc/ - - - - - ^(.*)\.(.*)$ - function-list.txt - - - - - - - - - - net.sf.saxon - saxon - 8.7 - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - deps - process-sources - - unpack - - - - - - - org.richfaces.ui - richfaces-components-ui - - - **/*.taglib.xml - ${project.build.directory}/taglibs/ - - - + + + src/main/resources/xsl + xsl + + + src/main/resources/css + css + + --===============7188726061719581248==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 31 15:49:01 2011 Content-Type: multipart/mixed; boundary="===============8199722387039120052==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22349 - modules/build/resources/trunk/faces-shade-transformers/src/main/java/org/richfaces/build/shade/resource. Date: Thu, 31 Mar 2011 15:49:00 -0400 Message-ID: <201103311949.p2VJn0Vt004134@svn01.web.mwc.hst.phx2.redhat.com> --===============8199722387039120052== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-31 15:49:00 -0400 (Thu, 31 Mar 2011) New Revision: 22349 Modified: modules/build/resources/trunk/faces-shade-transformers/src/main/java/org= /richfaces/build/shade/resource/BaseFacesResourceTransformer.java Log: https://issues.jboss.org/browse/RF-10601 Update build to generation on prof= iles Modified: modules/build/resources/trunk/faces-shade-transformers/src/main/j= ava/org/richfaces/build/shade/resource/BaseFacesResourceTransformer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/build/resources/trunk/faces-shade-transformers/src/main/java/or= g/richfaces/build/shade/resource/BaseFacesResourceTransformer.java 2011-03-= 31 19:45:16 UTC (rev 22348) +++ modules/build/resources/trunk/faces-shade-transformers/src/main/java/or= g/richfaces/build/shade/resource/BaseFacesResourceTransformer.java 2011-03-= 31 19:49:00 UTC (rev 22349) @@ -21,9 +21,7 @@ */ package org.richfaces.build.shade.resource; = -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; +import java.io.*; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -136,19 +134,33 @@ if (namespace.getPrefix().length() =3D=3D 0) { continue; } - = rootElement.addNamespaceDeclaration(namespace); } - = + outputFilesToSeparateDir(document,resourceName,prettyFormat); new XMLOutputter(prettyFormat).output(document, jos); } = + protected void outputFilesToSeparateDir(Document document, String reso= urceName, Format format) throws IOException { + String targetPath=3D"target/taglibs/"; + File path =3D new File(targetPath + META_INF_PATH); + path.mkdirs(); + FileOutputStream outFiles =3D new FileOutputStream(targetPath+reso= urceName); + try { + new XMLOutputter(format).output(document, outFiles); + } + finally { + outFiles.close(); + } + + + } + protected abstract void processDocument(String resource, Document docu= ment, List relocators) throws JDOMException; = protected void resetTransformer() { namespacesFactory =3D new NamespacesTracker(); } - = + protected String getMetaInfResourceName(String resource) { if (!resource.startsWith(META_INF_PATH)) { return null; --===============8199722387039120052==-- From richfaces-svn-commits at lists.jboss.org Thu Mar 31 15:54:04 2011 Content-Type: multipart/mixed; boundary="===============6594995541632510529==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22350 - in branches/4.0.X/ui/dist/richfaces-components-ui: src and 3 other directories. Date: Thu, 31 Mar 2011 15:54:03 -0400 Message-ID: <201103311954.p2VJs3pW005162@svn01.web.mwc.hst.phx2.redhat.com> --===============6594995541632510529== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: abelevich Date: 2011-03-31 15:54:02 -0400 (Thu, 31 Mar 2011) New Revision: 22350 Added: branches/4.0.X/ui/dist/richfaces-components-ui/src/ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/assembly/ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/assembly/vdldoc-= assembly.xml branches/4.0.X/ui/dist/richfaces-components-ui/src/main/properties/ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/properties/prope= rties.xml Modified: branches/4.0.X/ui/dist/richfaces-components-ui/pom.xml Log: https://issues.jboss.org/browse/RF-10601 Update build to generation on prof= iles Modified: branches/4.0.X/ui/dist/richfaces-components-ui/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/dist/richfaces-components-ui/pom.xml 2011-03-31 19:49= :00 UTC (rev 22349) +++ branches/4.0.X/ui/dist/richfaces-components-ui/pom.xml 2011-03-31 19:54= :02 UTC (rev 22350) @@ -35,7 +35,7 @@ Richfaces UI Components UI = - 4 + 4-SNAPSHOT org.richfaces.ui = @@ -102,6 +102,14 @@ jstl provided + + + + org.richfaces.build.resources + faces-vdl-documentation + 1-SNAPSHOT + + = @@ -180,6 +188,29 @@ true + + vdldeps + process-sources + + unpack + + + + + org.richfaces.build.r= esources + faces-vdl-document= ation + ${project.bui= ld.directory}/resources/ + **/*.xsl + + + org.richfaces.build.r= esources + faces-vdl-document= ation + ${project.bui= ld.directory}/vdldoc/ + **/*.css + + + + @@ -190,7 +221,69 @@ ${basedir}/target/dependency + + org.codehaus.mojo + xml-maven-plugin + 1.0 + + + + transform + + package + + + + + + src/main/properties + target/resources/xsl/commo= n.xsl + + + output-dir + target/vdldoc/ + + + + + ^(.*)\.(.*)$ + all.txt + + + + + + + + net.sf.saxon + saxon + 8.7 + + + + + maven-assembly-plugin + 2.2.1 + + + src/main/assembly/vdldoc-assembly.xml + + + + + make-assembly + + + single + + + + + = Added: branches/4.0.X/ui/dist/richfaces-components-ui/src/main/assembly/vdl= doc-assembly.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/dist/richfaces-components-ui/src/main/assembly/vdldoc= -assembly.xml (rev 0) +++ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/assembly/vdldoc= -assembly.xml 2011-03-31 19:54:02 UTC (rev 22350) @@ -0,0 +1,15 @@ + + vdldocs + + jar + + + + ${basedir}/target/vdldoc + richfaces-vdl-documentation + + + = + \ No newline at end of file Added: branches/4.0.X/ui/dist/richfaces-components-ui/src/main/properties/p= roperties.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/4.0.X/ui/dist/richfaces-components-ui/src/main/properties/prop= erties.xml (rev 0) +++ branches/4.0.X/ui/dist/richfaces-components-ui/src/main/properties/prop= erties.xml 2011-03-31 19:54:02 UTC (rev 22350) @@ -0,0 +1,20 @@ + + + VDL Documentation + Tag Library Documentation Generator - Generated Documentation<= /doc-title> + + + + Ajax4JSF + Ajax4JSF VDL Documentation + ../../../target/taglibs/META-INF/a4j.taglib.xml + Represents core Ajax functionality, and page wide Ajax con= trols and utility components. + + + RichFaces + RichFaces VDL Documentation + ../../../target/taglibs/META-INF/rich.taglib.xml + Represents self-contained and advanced UI components with = out-of-the-box Ajax functionality. + = + + \ No newline at end of file --===============6594995541632510529==--