[jboss-user] [JBoss Seam] - Re: Can I end a conversation programmatically?

raffaele.camanzo do-not-reply at jboss.com
Tue Mar 6 11:49:11 EST 2007

Hi Gavin,

probably I did not explain correctly what I asked to you then I try to explain what I found strange in the Seam behaviour replying to your post but with a little description of the starting scenario:

At the moment 0 I have two tabs opened: one with a search function to search for A stuff and one with a search function to search for B stuff, they share the same *outcome* but, obviously, not the same conversation.

At the moment 1 the user search for his A stuff finds what he needs and clicks on the link which opens a new tab with both different conversation and different outcome.

At the moment 2 the user selects the search stuff A tab (which gets the focus) and closes it because he found what he needs.

Now I find the problem:
I get the conversation id and the outcome of the tab immediately after the one the user wants to close in order to resume the conversation and switch to the correct view id after having removed the current conversation, in my scenario I get the data of the search stuff B tab (same outcome of the search stuff A but different conversation)

 - If I execute only

  | Conversation.instance().end();
and return the outcome of the tab which reaches the focus (the search stuff B) Seam ends the conversation of search stuff A tab but freezes the screen (maybe because gets back the same outcome and then does nothing)

 - If I execute

  | Conversation.instance().end();
  | Manager.instance().switchConversation(newTabConvId);
and return the outcome of the tab which reaches the focus Seam switches correctly to the search stuff B tab but when I try to ask again for the search stuff A from the menu (I want to search for some other A stuff) the tab contains the data of the conversation I thought to be removed.

I made a test case really less complicated than my application and what I see can be resumed as follows:

 - If I call only the Conversation.instance().end() Seam ends the conversation but I cannot switch to what I need for
 - If I call both the methods Seam switches to what I need for but does not end the conversation

One last thing:
I also don't understand why you think that calling end() should result in a call to some @End method.

This means that I cannot expect that calling the end of a conversation programmatically can cause the execution of the @End method of the conversation I'm ending?

Hope you can help me.

Raffaele Camanzo

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4025476#4025476

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4025476

More information about the jboss-user mailing list