[
http://issues.apache.org/struts/browse/SHALE-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39383
]
[EMAIL PROTECTED] commented on SHALE-188:
-------------------------------------------------------
Your message
Subject: "[jira] Commented: (SHALE-188) Add a default outcome to the dialog
manager"
could not be delivered to some or all of the intended recipients.
User<[EMAIL PROTECTED]> - (550 5.1.1 User unknown)
Additional Information
======================
Original Sender: <[EMAIL PROTECTED]>
Sender-MTA: <140.211.11.4>
Remote-MTA: <192.168.240.2>
Reporting-MTA: <WINMX2.123multimedia.com>
MessageName: <B459ab95b0000.000000000001.0002.mml>
Last-Attempt-Date: <20:58:23 Tue, 02 January 2007>
> Add a default outcome to the dialog manager
> -------------------------------------------
>
> Key: SHALE-188
> URL: http://issues.apache.org/struts/browse/SHALE-188
> Project: Shale
> Issue Type: Improvement
> Components: Dialog
> Environment: Debian Linux - JDK 1.5
> Reporter: Laure Goudon
> Fix For: 1.0.4-SNAPSHOT
>
>
> Version from manifest: Implementation-Version: 20060326
> Hello,
> When we click on the browser back button while in a dialog and then click on
> another link or button, an Illegal argument exception comes (see stacktrace).
> This error occurs because Shale can't find any transition for this action. It
> would be a good idea that we could have a default transition (for instance
> named "*" or "default") that the dialog navigation handler class would use if
> no other transition was found for this state or dialog.
> Thanks.
> stacktrace :
> java.lang.IllegalArgumentException: You have requested a transition outcome
> named "clusterMenu" from a state named "viewApplicationView" in a dialog
> named "viewApplication", but no transition definition can be found. Double
> check the spelling of the transition outcome name.
> at
> org.apache.shale.dialog.faces.DialogNavigationHandler.transition(DialogNavigationHandler.java:526)
> at
> org.apache.shale.dialog.faces.DialogNavigationHandler.postprocess(DialogNavigationHandler.java:353)
> at
> org.apache.shale.dialog.faces.DialogNavigationHandler.handleNavigation(DialogNavigationHandler.java:219)
> at
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:84)
> at javax.faces.component.UICommand.broadcast(UICommand.java:106)
> at
> org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlCommandNavigationItem.broadcast(HtmlCommandNavigationItem.java:228)
> Proposed solution :
> In the class DialogNavigationHandler in the method transition
> /** Default outcome name constant as in :
> * <transition outcome="*" target="exit"/>
> */
> public static final String DEFAULT_OUTCOME_NAME = "*";
> // Identify the appropriate Transition
> Transition transition = state.findTransition(outcome);
> if (transition == null) {
> transition = state.getDialog().findTransition(outcome);
> // ---- Begin patch ----
> // If not found, check the default outcome for the current state
> if (transition == null) {
> Transition transition = state.findTransition(outcome);
> // If not found, check the default outcome for the current dialog.
> if (transition == null) {
> transition =
> state.getDialog().findTransition(DEFAULT_OUTCOME_NAME);
> }
> }
> // ---- End patch ----
> }
> if (transition == null) {
> throw new
> IllegalArgumentException(messages.getMessage("dialog.noTransition",
> new Object[] { outcome,
> state.getName(),
>
> state.getDialog().getName() }));
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira