[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