While defining task flow method activities by EL binding to a method in managed bean, there are certain things you need to be aware of. These points are well documented in Fusion Developer's Guide under15.5 Using Method Call Activities.
I'm explaining a very common mistake when you EL bind a manged bean method as method activity for a task flow. In this case, if your method return some status message and you want to control navigation cases based on this outcome, its required to specify 'toString()'[displayed under Outcome group] as 'true' from the drop down list, as shown in the following screen shot.
to-string: If specified as true, the outcome is based on calling the toString() method on the Java object returned by the method.
If you miss the above step(setting 'to-string'), then ADF run time may not invoke your method as its incomplete, and may result in unexpected result as well. If you see the log, you may notice a warning message as shown below.
ADFc: /WEB-INF/task-flow-definition.xml#task-flow-definition:
ADFc: No outcome metadata specified for method call activity 'null'.
ADFc: /WEB-INF/task-flow-definition.xml#task-flow-definition:
ADFc: Activity metadata could not be parsed. [Activity Type, ID] = ['method-call', 'someMethodCall'].
I'm explaining a very common mistake when you EL bind a manged bean method as method activity for a task flow. In this case, if your method return some status message and you want to control navigation cases based on this outcome, its required to specify 'toString()'[displayed under Outcome group] as 'true' from the drop down list, as shown in the following screen shot.
<method-call id="someMethodCall">
<method>#{backingBeanScope.managedBean1.doSomething}</method>
<outcome id="__16">
<to-string/>
</outcome>
</method-call>
to-string: If specified as true, the outcome is based on calling the toString() method on the Java object returned by the method.
If you miss the above step(setting 'to-string'), then ADF run time may not invoke your method as its incomplete, and may result in unexpected result as well. If you see the log, you may notice a warning message as shown below.
No comments:
Post a Comment