Author: jbalunas(a)redhat.com
Date: 2011-02-18 11:19:45 -0500 (Fri, 18 Feb 2011)
New Revision: 21772
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java
Log:
RF-10510 - fixed NPE and decode handling
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java
===================================================================
---
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java 2011-02-18
16:17:45 UTC (rev 21771)
+++
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java 2011-02-18
16:19:45 UTC (rev 21772)
@@ -72,23 +72,21 @@
Map<String, String> requestMap =
context.getExternalContext().getRequestParameterMap();
- // Don't overwrite the value unless you have to!
+ // Get the new panel value to show
String newValue = requestMap.get(getValueRequestParamName(context, component));
if (newValue != null) {
panel.setSubmittedActiveItem(newValue);
- }
+
+ //Retrieve the child item from the panel
+ AbstractTogglePanelItemInterface panelItem = panel.getItem(newValue);
+ if (panelItem != null) {
+ //Set the active panel to be rendered
+ context.getPartialViewContext().getRenderIds().add(((UIComponent)
panelItem).getClientId(context));
- String compClientId = component.getClientId(context);
-// String clientId = requestMap.get(compClientId);
-// if (clientId != null && clientId.equals(compClientId)) {
- AbstractTogglePanelItemInterface panelItem = panel.getItem(newValue);
- if (panelItem != null) {
- context.getPartialViewContext().getRenderIds().add(((UIComponent)
panelItem).getClientId(context));
-
- //TODO nick - this should be done on encode, not on decode
- addOnCompleteParam(context, newValue, panel.getClientId(context));
+ //TODO nick - this should be done on encode, not on decode
+ addOnCompleteParam(context, newValue, panel.getClientId(context));
+ }
}
-// }
}
protected static void addOnCompleteParam(FacesContext context, String newValue,
String panelId) {
Show replies by date