Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Invalid
-
Affects Version/s: 2.0-Beta2
-
Fix Version/s: None
-
Component/s: Framework
-
Labels:None
-
Environment:Found with Liferay 6.0 + PortletFaces-Bridge 2.0.0-BETA3 but it's not portlet related.
Description
I have a JSF 2 Facelet composite component wrapping ice:dataTable like this:
<my-comp:dataPaginator for=":myData" />
<ice:dataTable id="myData">
</ice:dataTable>
The colon in front of :myData indicates that the search should start from the root of the tree. Sadly, CoreComponentUtils.findComponent(UIComponent, String) is bailing out too early, not recursing through the component tree enough to find a matching clientId.
Here's a patch to fix:
===================================================================
--- /icefaces-src/2.0-trunk/icefaces/compat/core/src/main/java/com/icesoft/util/CoreComponentUtils.java (revision 23550)
+++ /icefaces-src/2.0-trunk/icefaces/compat/core/src/main/java/com/icesoft/util/CoreComponentUtils.java (working copy)
@@ -162,6 +162,12 @@
component = child;
break;
}
+ if (component == null) {
+ component = findComponent(child, componentId);
+ if (component != null) {
+ break;
+ }
+ }
}
return component;
}
<my-comp:dataPaginator for=":myData" />
<ice:dataTable id="myData">
</ice:dataTable>
The colon in front of :myData indicates that the search should start from the root of the tree. Sadly, CoreComponentUtils.findComponent(UIComponent, String) is bailing out too early, not recursing through the component tree enough to find a matching clientId.
Here's a patch to fix:
===================================================================
--- /icefaces-src/2.0-trunk/icefaces/compat/core/src/main/java/com/icesoft/util/CoreComponentUtils.java (revision 23550)
+++ /icefaces-src/2.0-trunk/icefaces/compat/core/src/main/java/com/icesoft/util/CoreComponentUtils.java (working copy)
@@ -162,6 +162,12 @@
component = child;
break;
}
+ if (component == null) {
+ component = findComponent(child, componentId);
+ if (component != null) {
+ break;
+ }
+ }
}
return component;
}
Issue Links
- depends on
-
ICE-6659 ice:inputText required validation not happening properly inside portlet
-
- Closed
-
-
ICE-6667 Portlets: CoreComponentUtils findComponent not absolutely finding components
-
- Closed
-
- duplicates
-
ICE-6226 Unable to use ice:dataPaginator compat component as a JSF 2.0 composite component
-
- Closed
-
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Are those components within a form? Does the form have prependId=false?
Show
Mark Collette
added a comment - Are those components within a form? Does the form have prependId=false?
Marking as Closed / Invalid as part of legacy ICEfaces 1.x, 2.x JIRA cleanup.
Note: This issue may be resolved in a newer ICEfaces release, available here: http://www.icesoft.org/java/downloads/icefaces-downloads.jsf
If the issue persists with the current ICEfaces release, please create a new JIRA for it.