Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
[JAVASERVERFACES-2729] Composite action method prints PropertyNotFoundException in the log Created: 06/Feb/13 Updated: 06/Feb/13 Resolved: 06/Feb/13 Status: Project: Component/s: Affects Version/s: Fix Version/s: Closed javaserverfaces composite components 2.1.18 Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Bug amitev Duplicate None Not Specified Issue Links: Duplicate duplicates JAVASERVERFACES2665 Tags: 2.1.19, 2.2.0-m10 Priority: Assignee: Votes: Major Manfred Riem 0 Not Specified Not Specified ValidatorException causing a Closed Property... composite_components Description This issue is related to the fix applied for http://java.net/jira/browse/JAVASERVERFACES1806. Look at the applied changeset - http://java.net/jira/secure/attachment/50275/changebundle1806-trunk.txt If you look closely - @@ -187,11 +195,19 @@ there was a line: else { throw ele; so if the fallback worked, the exception got swollen However in the current implementation the exception stays thrown even if the fallback worked and even if the action method is sucessfully executed I get exception in the log. Suggested solution is to return the check that swallows the exception if the fallback is successfully executed like this: ContextualCompositeMethodExpression line 191 } catch (ELException ele) { if (source != null) { // special handling when an ELException handling. This is necessary // when there are multiple levels of composite component nesting. // When this happens, we need to evaluate the source expression // to find and invoke the MethodExpression at the next highest // nesting level. Is there a cleaner way to detect this case? try { Object fallback = source.getValue(elContext); if (fallback != null && fallback instanceof MethodExpression) { return ((MethodExpression) fallback).invoke(elContext, objects); } else { throw ele; } } catch(Exception ex) { if (LOGGER.isLoggable(Level.WARNING)) { LOGGER.log(Level.WARNING, "jsf.facelets.el.method.expression.invoke.error:"+ex.toString(), new Object[] { source.getExpressionString() } ); } throw ele; } } else { throw ele; } Generated at Thu May 11 08:30:25 UTC 2017 using JIRA 6.2.3#6260sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.