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 2007/08/31 23:10:09 UTC
svn commit: r571586 - in /myfaces/trinidad/trunk/trinidad/trinidad-impl/src:
main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/
test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/
Author: arobinson74
Date: Fri Aug 31 14:10:09 2007
New Revision: 571586
URL: http://svn.apache.org/viewvc?rev=571586&view=rev
Log:
Jira TRINIDAD-653 - added code to find the first child that implements EditableValueHolder
Modified:
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimal-golden.xml
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIE-golden.xml
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIERtl-golden.xml
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalPPC-golden.xml
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalSaf-golden.xml
myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalScrRdr-golden.xml
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java Fri Aug 31 14:10:09 2007
@@ -20,6 +20,7 @@
import java.io.IOException;
+import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -78,9 +79,24 @@
{
String forValue = getFor(bean);
- return MessageUtils.getClientIdFor(context,
- component,
- forValue);
+ String val = null;
+ if (forValue != null)
+ {
+ val = MessageUtils.getClientIdFor(context, component, forValue);
+ }
+ else
+ {
+ if (component.getChildCount() > 0)
+ {
+ UIComponent child = findForComponent(context, arc, component, bean);
+ if (child != null)
+ {
+ val = child.getClientId(context);
+ }
+ }
+ }
+
+ return val;
}
@Override
@@ -158,6 +174,46 @@
return toString(bean.getProperty(_labelInlineStyleKey));
}
+ /**
+ * In the event that the {@link #getFor(FacesBean)} returns null,
+ * this class finds the first child that implements {@link EditableValueHolder}
+ *
+ * @param context
+ * @param arc
+ * @param component
+ * @param bean
+ * @return
+ */
+ protected UIComponent findForComponent(
+ FacesContext context,
+ RenderingContext arc,
+ UIComponent component,
+ FacesBean bean)
+ {
+ // search children first
+ for (Object obj : component.getChildren())
+ {
+ UIComponent child = (UIComponent)obj;
+ if (obj instanceof EditableValueHolder)
+ {
+ return child;
+ }
+ }
+
+ // recursively search the children of the children
+ for (Object obj : component.getChildren())
+ {
+ UIComponent child = (UIComponent)obj;
+ UIComponent result = findForComponent(context, arc, child, bean);
+ if (result != null)
+ {
+ return result;
+ }
+ }
+
+ return null;
+ }
+
private PropertyKey _forKey;
private PropertyKey _labelInlineStyleKey;
}
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimal-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimal-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimal-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimal-golden.xml Fri Aug 31 14:10:09 2007
@@ -190,7 +190,12 @@
class="af_panelLabelAndMessage_label"
nowrap="nowrap"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIE-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIE-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIE-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIE-golden.xml Fri Aug 31 14:10:09 2007
@@ -190,7 +190,12 @@
class="af_panelLabelAndMessage_label"
nowrap="nowrap"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIERtl-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIERtl-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIERtl-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalIERtl-golden.xml Fri Aug 31 14:10:09 2007
@@ -190,7 +190,12 @@
class="af_panelLabelAndMessage_label"
nowrap="nowrap"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalPPC-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalPPC-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalPPC-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalPPC-golden.xml Fri Aug 31 14:10:09 2007
@@ -233,7 +233,12 @@
<td
class="af_panelLabelAndMessage_label"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalSaf-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalSaf-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalSaf-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalSaf-golden.xml Fri Aug 31 14:10:09 2007
@@ -190,7 +190,12 @@
class="af_panelLabelAndMessage_label"
nowrap="nowrap"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"
Modified: myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalScrRdr-golden.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalScrRdr-golden.xml?rev=571586&r1=571585&r2=571586&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalScrRdr-golden.xml (original)
+++ myfaces/trinidad/trunk/trinidad/trinidad-impl/src/test/resources/org/apache/myfaces/trinidadinternal/renderkit/golden/panelLabelAndMessage-minimalScrRdr-golden.xml Fri Aug 31 14:10:09 2007
@@ -190,7 +190,12 @@
class="af_panelLabelAndMessage_label"
nowrap="nowrap"
>
- test-label
+
+ <label
+ for="_idXXX"
+ >
+ test-label
+ </label>
</td>
<td
class="AFContentCell"