I like Shale dialogs, though there are a couple of issues I'd like to
investigate. Always helps to know these aren't solved problems.

I dislike the IllegalArgumentException in
DialogNavigationHandler#handleNavigation(), and want to work on
eliminating it altogether by handling and delegation, decorated by
some (additional) implicit behavior. IMO, its far too easy to confuse
the dialog (state). Cases in point:

UI Test case 1:

1) Proceed to view (profile/profile2.jsp) in Edit Profile dialog.
2) Navigate to view (profile/profile1.jsp) using browser's Back button.
3) Fill out username/passwords, click Next (no response).
4) Repeat (3), dialog transitions to view (profile/profile3).

The server-side dialog isn't aware of (2) and continues to believe the
dialog state is as it was in (1). So, instead of next from page 1 in
(4) taking us to page 2, it takes us to page 3. In this test case,
since the ViewState's for page 1 and page 2 have similar transitions
("next"), we don't see an exception.

UI Test case 2:

1) Proceed to view (profile/profile1.jsp) in Edit Profile dialog.
2) Navigate to view (profile/logon.jsp) using browser's Back button.
3) Click create profile link (no response).
4) Repeat (3), IllegalArgumentException is thrown.

The difference (as compared to test case 1) being the two ViewState's
in question do not have similar transitions ("create"), causing the
exception.

Can someone clarify the behavior in (3) -- in either test case. The
ShaleViewHandler gets a shot in (3), but seems the
DialogNavigationHandler doesn't, until (4).

If this is a solved problem, please let me know. Even better, if
anyone could demonstrate a solution with the usecases war, that'd be
nice. At the onset, I'm thinking of having my custom
DialogNavigationHandler add implicit transitions to the state machine
to realign the server side dialog depending on the activity (viewId)
which was the source for the JSF outcome.

-Rahul

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to