-
Bug
-
Resolution: Done
-
Major
-
4.3.0.GA_CP02_FP01
-
None
-
Release Notes
Back port of the following issue:
The Switcher component's (org.jboss.seam.faces.Switcher) switch() method does not work correctly when using natural conversations.
The issue is related to line 102 (in trunk and in 2.0.2.CR1) where seam tests whether the selected item is an outcome or a conversation id:
boolean isOutcome = conversationIdOrOutcome==null || !Character.isDigit( conversationIdOrOutcome.charAt(0) );
The problem is that with natural conversations, the value of conversationIdOrOutcome is something like "accountEdit:4" so the switcher thinks it's a view.
I copied the code from the Switcher and created a new component and replaced that line with:
boolean isOutcome = conversationIdOrOutcome==null ||
(!Character.isDigit(conversationIdOrOutcome.charAt(0)) && conversationIdOrOutcome.indexOf(':') < 0);
and it works correctly. Of course this approach is naive, but it seems to work for me.