You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2021/04/08 06:02:35 UTC

[myfaces-tobago] branch master updated: fix: NullPointerException in tc:operation for attribute issue: TOBAGO-2009

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/master by this push:
     new 59cdaff  fix: NullPointerException in tc:operation for attribute issue: TOBAGO-2009
59cdaff is described below

commit 59cdaffe3c19d5d4228d39c61ea50ec8c9b6b68a
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Apr 7 23:20:57 2021 +0200

    fix: NullPointerException in tc:operation for attribute
    issue: TOBAGO-2009
---
 .../renderkit/renderer/TobagoClientBehaviorRenderer.java       | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TobagoClientBehaviorRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TobagoClientBehaviorRenderer.java
index 799992a..e97818c 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TobagoClientBehaviorRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/TobagoClientBehaviorRenderer.java
@@ -34,6 +34,7 @@ import org.apache.myfaces.tobago.util.ComponentUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.el.ValueExpression;
 import javax.faces.component.ActionSource;
 import javax.faces.component.EditableValueHolder;
 import javax.faces.component.UIComponent;
@@ -217,7 +218,14 @@ public class TobagoClientBehaviorRenderer extends javax.faces.render.ClientBehav
     Collapse collapse = null;
     if (operations.size() > 0) {
       final AbstractUIOperation operation = operations.get(0);
-      final String forId = ComponentUtils.evaluateClientId(facesContext, component, operation.getFor());
+      final ValueExpression valueExpression = operation.getValueExpression("for");
+      final String value;
+      if (valueExpression != null) {
+        value = (String) valueExpression.getValue(facesContext.getELContext());
+      } else {
+        value = operation.getFor();
+      }
+      final String forId = ComponentUtils.evaluateClientId(facesContext, component, value);
       collapse = new Collapse(Collapse.Action.valueOf(operation.getName()), forId);
     }