You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ar...@apache.org on 2008/01/09 07:25:13 UTC
svn commit: r610278 - in /myfaces/trinidad/trunk_1.2.x:
trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/
trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/
trinidad-examples/trinidad-demo/src/m...
Author: arobinson74
Date: Tue Jan 8 22:25:11 2008
New Revision: 610278
URL: http://svn.apache.org/viewvc?rev=610278&view=rev
Log:
TRINIDAD-886
Merge from 1.0 trunk revision 610275
Added:
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/java/org/apache/myfaces/trinidaddemo/DemoShowDetailDisclosureBean.java
- copied unchanged from r610275, myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/java/org/apache/myfaces/trinidaddemo/DemoShowDetailDisclosureBean.java
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx
- copied, changed from r610275, myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx
Modified:
myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java
myfaces/trinidad/trunk_1.2.x/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/ShowDetail.xml
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/faces-config.xml
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/demos.jspx
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelAccordionRenderer.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/uix/PanelTabbedRenderer.java
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java Tue Jan 8 22:25:11 2008
@@ -40,6 +40,7 @@
/**/ abstract public void setDisclosed(boolean setDisclosed);
/**/ abstract public boolean isImmediate();
/**/ abstract public MethodExpression getDisclosureListener();
+/**/ abstract public boolean isDisclosedTransient();
@Deprecated
public void setDisclosureListener(MethodBinding binding)
@@ -82,25 +83,30 @@
if (event instanceof DisclosureEvent)
{
- // Expand or collapse this showDetail
- boolean isDisclosed = ((DisclosureEvent) event).isExpanded();
- // If the component is already in that disclosure state, we
- // have a renderer bug. Either it delivered an unnecessary event,
- // or even worse it set disclosed on its own instead of waiting
- // for the disclosure event to do that, which will lead to lifecycle
- // problems. So in either case, warn the developer.
- if (isDisclosed == isDisclosed())
- {
- _LOG.warning("EVENT_DELIVERED_ALREADY_IN_DISCLOSURE_STATE", event);
+ // Do not update the disclosed if "transient"
+ if (!isDisclosedTransient())
+ {
+ // Expand or collapse this showDetail
+ boolean isDisclosed = ((DisclosureEvent) event).isExpanded();
+ // If the component is already in that disclosure state, we
+ // have a renderer bug. Either it delivered an unnecessary event,
+ // or even worse it set disclosed on its own instead of waiting
+ // for the disclosure event to do that, which will lead to lifecycle
+ // problems. So in either case, warn the developer.
+ if (isDisclosed == isDisclosed())
+ {
+ _LOG.warning("EVENT_DELIVERED_ALREADY_IN_DISCLOSURE_STATE", event);
+ }
+ else
+ {
+ setDisclosed(isDisclosed);
+ }
+
+ //pu: Implicitly record a Change for 'disclosed' attribute
+ addAttributeChange("disclosed",
+ isDisclosed ? Boolean.TRUE : Boolean.FALSE);
}
- else
- {
- setDisclosed(isDisclosed);
- }
-
- //pu: Implicitly record a Change for 'disclosed' attribute
- addAttributeChange("disclosed",
- isDisclosed ? Boolean.TRUE : Boolean.FALSE);
+
if (isImmediate())
getFacesContext().renderResponse();
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/ShowDetail.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/ShowDetail.xml?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/ShowDetail.xml (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-build/src/main/resources/META-INF/maven-faces-plugin/components/trinidad/ShowDetail.xml Tue Jan 8 22:25:11 2008
@@ -47,6 +47,21 @@
</property-extension>
</property>
<property>
+ <description><![CDATA[stops the local value of disclosed from being set
+ by renderers. This allows the value to always be taken from the value of the disclosed
+ value expression. Disclosed values must be updated in other ways (i.e. from a
+ disclosure listener)]]></description>
+ <property-name>disclosedTransient</property-name>
+ <property-class>boolean</property-class>
+ <default-value>false</default-value>
+ <property-extension>
+ <mfp:property-metadata>
+ <mfp:preferred>true</mfp:preferred>
+ </mfp:property-metadata>
+ <mfp:unsupported-agents>phone voice</mfp:unsupported-agents>
+ </property-extension>
+ </property>
+ <property>
<description><![CDATA[whether data validation - client-side or
server-side - should be skipped when
events are generated by this component.
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/faces-config.xml?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/faces-config.xml (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/faces-config.xml Tue Jan 8 22:25:11 2008
@@ -3051,5 +3051,9 @@
<managed-bean-class>org.apache.myfaces.trinidaddemo.resource.SkinTranslationMapDemo</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
-
+ <managed-bean>
+ <managed-bean-name>showDetailDisclosureBean</managed-bean-name>
+ <managed-bean-class>org.apache.myfaces.trinidaddemo.DemoShowDetailDisclosureBean</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
</faces-config>
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/WEB-INF/web.xml Tue Jan 8 22:25:11 2008
@@ -75,7 +75,7 @@
is deployed -->
<context-param>
<param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
- <param-value>true</param-value>
+ <param-value>false</param-value>
</context-param>
<!-- Enables Change Persistence at a session scope. By default,
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/demos.jspx
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/demos.jspx?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/demos.jspx (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/demos.jspx Tue Jan 8 22:25:11 2008
@@ -51,6 +51,8 @@
action="demos.changePersistence" />
<tr:commandLink text="Table Demos" action="demos.tableDemos" />
<tr:commandLink text="Skin Demo" action="demos.skin" />
+ <tr:goLink text="Show Detail Disclosure Demo"
+ destination="showDetailDiscloseOne.jspx" />
</tr:panelGroupLayout>
</tr:panelHeader>
Copied: myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx (from r610275, myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx)
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx?p2=myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx&p1=myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx&r1=610275&r2=610278&rev=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/showDetailDiscloseOne.jspx Tue Jan 8 22:25:11 2008
@@ -20,7 +20,7 @@
-->
<jsp:root
xmlns:jsp="http://java.sun.com/JSP/Page"
- version="2.0"
+ version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:tr="http://myfaces.apache.org/trinidad">
<jsp:directive.page contentType="text/html;charset=utf-8"/>
@@ -57,7 +57,7 @@
disclosed="#{showDetailDisclosureBean.disclosureKey eq _val}"
disclosedText="#{_val}"
undisclosedText="#{_val}">
- <tr:attribute name="disclosureKey" value="#{_val}" />
+ <f:attribute name="disclosureKey" value="#{_val}" />
<tr:outputText value="Disclosed" />
</tr:showDetail>
</tr:iterator>
@@ -69,7 +69,7 @@
disclosureListener="#{showDetailDisclosureBean.handleDisclosure}"
disclosed="#{showDetailDisclosureBean.disclosureKey eq 'ItemA'}"
text="ItemA">
- <tr:attribute name="disclosureKey" value="ItemA" />
+ <f:attribute name="disclosureKey" value="ItemA" />
<tr:outputText value="ItemA" />
</tr:showDetailItem>
<tr:showDetailItem
@@ -77,7 +77,7 @@
disclosureListener="#{showDetailDisclosureBean.handleDisclosure}"
disclosed="#{showDetailDisclosureBean.disclosureKey eq 'ItemB'}"
text="ItemB">
- <tr:attribute name="disclosureKey" value="ItemB" />
+ <f:attribute name="disclosureKey" value="ItemB" />
<tr:outputText value="ItemB" />
</tr:showDetailItem>
<tr:showDetailItem
@@ -85,7 +85,7 @@
disclosureListener="#{showDetailDisclosureBean.handleDisclosure}"
disclosed="#{showDetailDisclosureBean.disclosureKey eq 'ItemC'}"
text="ItemC">
- <tr:attribute name="disclosureKey" value="ItemC" />
+ <f:attribute name="disclosureKey" value="ItemC" />
<tr:outputText value="ItemC" />
</tr:showDetailItem>
<tr:showDetailItem
@@ -93,7 +93,7 @@
disclosureListener="#{showDetailDisclosureBean.handleDisclosure}"
disclosed="#{showDetailDisclosureBean.disclosureKey eq 'ItemD'}"
text="ItemD">
- <tr:attribute name="disclosureKey" value="ItemD" />
+ <f:attribute name="disclosureKey" value="ItemD" />
<tr:outputText value="ItemD" />
</tr:showDetailItem>
</tr:panelTabbed>
@@ -103,4 +103,4 @@
</tr:form>
</tr:document>
</f:view>
-</jsp:root>
\ No newline at end of file
+</jsp:root>
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelAccordionRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelAccordionRenderer.java?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelAccordionRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelAccordionRenderer.java Tue Jan 8 22:25:11 2008
@@ -197,7 +197,7 @@
// If we have a minimum of 1 disclosed child and none have been disclosed
// yet, disclose the first rendered one:
if ( (disclosedChild == null) && !getDiscloseNone(bean) &&
- (renderableChild != null) )
+ (renderableChild != null) && !renderableChild.isDisclosedTransient())
{
renderableChild.setDisclosed(true);
}
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java Tue Jan 8 22:25:11 2008
@@ -109,7 +109,8 @@
}
// If nothing has been disclosed as of yet, disclose the first rendered one
- if ( (disclosedChild == null) && (renderableChild != null) )
+ if ( (disclosedChild == null) && (renderableChild != null) &&
+ !renderableChild.isDisclosedTransient())
{
renderableChild.setDisclosed(true);
}
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/uix/PanelTabbedRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/uix/PanelTabbedRenderer.java?rev=610278&r1=610277&r2=610278&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/uix/PanelTabbedRenderer.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/uix/PanelTabbedRenderer.java Tue Jan 8 22:25:11 2008
@@ -79,8 +79,11 @@
Object disabled = child.getAttributes().get("disabled");
if (Boolean.TRUE.equals(disabled))
continue;
-
- child.setDisclosed(true);
+
+ if (!child.isDisclosedTransient())
+ {
+ child.setDisclosed(true);
+ }
break;
}
}