[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Fri Nov 17 02:12:55 EST 2006
User: gavin
Date: 06/11/17 02:12:55
Modified: src/main/org/jboss/seam/core Conversation.java
ConversationEntry.java Manager.java Switcher.java
Log:
fix a bug with begin during an ended nested conversation
Revision Changes Path
1.29 +3 -3 jboss-seam/src/main/org/jboss/seam/core/Conversation.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Conversation.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Conversation.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- Conversation.java 17 Nov 2006 02:35:45 -0000 1.28
+++ Conversation.java 17 Nov 2006 07:12:55 -0000 1.29
@@ -181,11 +181,11 @@
* Start a long-running conversation, if no long-running
* conversation is active.
*
- * @return true if a new long-running conversation was begin
+ * @return true if a new long-running conversation was begun
*/
public boolean begin()
{
- if ( Manager.instance().isLongRunningConversation() )
+ if ( Manager.instance().isLongRunningOrNestedConversation() )
{
return false;
}
@@ -221,7 +221,7 @@
*/
public void begin(boolean join, boolean nested)
{
- boolean longRunningConversation = Manager.instance().isLongRunningConversation();
+ boolean longRunningConversation = Manager.instance().isLongRunningOrNestedConversation();
if ( !join && !nested && longRunningConversation )
{
throw new IllegalStateException("begin() called from long-running conversation, try join=true");
1.31 +5 -2 jboss-seam/src/main/org/jboss/seam/core/ConversationEntry.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ConversationEntry.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/ConversationEntry.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- ConversationEntry.java 16 Nov 2006 22:58:13 -0000 1.30
+++ ConversationEntry.java 17 Nov 2006 07:12:55 -0000 1.31
@@ -183,10 +183,13 @@
{
return id.equals( manager.getCurrentConversationId() );
}
+ else if ( manager.isNestedConversation() )
+ {
+ return id.equals( manager.getParentConversationId() );
+ }
else
{
- List<String> stack = manager.getCurrentConversationIdStack();
- return stack!=null && stack.size()>1 && stack.get(1).equals(id);
+ return false;
}
}
1.119 +6 -1 jboss-seam/src/main/org/jboss/seam/core/Manager.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Manager.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Manager.java,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -b -r1.118 -r1.119
--- Manager.java 17 Nov 2006 06:48:52 -0000 1.118
+++ Manager.java 17 Nov 2006 07:12:55 -0000 1.119
@@ -40,7 +40,7 @@
*
* @author Gavin King
* @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
- * @version $Revision: 1.118 $
+ * @version $Revision: 1.119 $
*/
@Scope(ScopeType.EVENT)
@Name("org.jboss.seam.core.manager")
@@ -216,6 +216,11 @@
return isLongRunningConversation;
}
+ public boolean isLongRunningOrNestedConversation()
+ {
+ return isLongRunningConversation() || isNestedConversation();
+ }
+
public boolean isReallyLongRunningConversation()
{
return isLongRunningConversation() &&
1.15 +10 -5 jboss-seam/src/main/org/jboss/seam/core/Switcher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Switcher.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Switcher.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- Switcher.java 16 Nov 2006 17:25:04 -0000 1.14
+++ Switcher.java 17 Nov 2006 07:12:55 -0000 1.15
@@ -23,7 +23,7 @@
* Support for the conversation switcher drop-down menu.
*
* @author Gavin King
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
*/
@Scope(ScopeType.PAGE)
@Name("org.jboss.seam.core.switcher")
@@ -57,14 +57,19 @@
private String getLongRunningConversationId()
{
- if ( Manager.instance().isLongRunningConversation() )
+ Manager manager = Manager.instance();
+ if ( manager.isLongRunningConversation() )
+ {
+ return manager.getCurrentConversationId();
+ }
+ else if ( manager.isNestedConversation() )
{
- return Manager.instance().getCurrentConversationId();
+ return manager.getParentConversationId();
}
else
{
- List<String> stack = Manager.instance().getCurrentConversationIdStack();
- return stack.size()==1 ? null : stack.get(1); //TODO: is there any way to set it to the current outcome, instead of null?
+ //TODO: is there any way to set it to the current outcome, instead of null?
+ return null;
}
}
More information about the jboss-cvs-commits
mailing list