Author: nbelaevski
Date: 2007-10-12 15:55:56 -0400 (Fri, 12 Oct 2007)
New Revision: 3351
Modified:
trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java
Log:
http://jira.jboss.com/jira/browse/RF-1047
Modified: trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java
===================================================================
--- trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java 2007-10-12
19:55:36 UTC (rev 3350)
+++ trunk/ui/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java 2007-10-12
19:55:56 UTC (rev 3351)
@@ -47,13 +47,6 @@
protected Iterator getSwitchedFacetsAndChildren() {
-// if(this.restoredRenderedValue == null){
-// RF-1047 (getRenderedValue() again if value attribute is bound to a Seam
-// conversation-scoped component because conversation-scoped components are not
available
-// during the RestoreView phase)
-// this.restoredRenderedValue = getRenderedValue();
-// }
-
final Object renderedValue = this.restoredRenderedValue;
return new FilterIterator(getRenderedTabs(), new Predicate() {
@@ -117,6 +110,24 @@
private transient Object restoredRenderedValue;
+ public void processDecodes(FacesContext context) {
+ if (context == null) {
+ throw new NullPointerException("FacesContext is null!");
+ }
+
+ if (!isRendered()) {
+ return ;
+ }
+
+ //RF-1047 - retry to obtain restoredRenderedValue. Seam conversations are absent on
1st phase thus
+ //value is absent also
+ if (restoredRenderedValue == null) {
+ this.restoredRenderedValue = getRenderedValue();
+ }
+
+ super.processDecodes(context);
+ }
+
public Object saveState(FacesContext context) {
Object[] state = new Object[2];
state[0] = super.saveState(context);