You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sk...@apache.org on 2007/10/04 15:15:03 UTC

svn commit: r581890 - /myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java

Author: skitching
Date: Thu Oct  4 06:15:03 2007
New Revision: 581890

URL: http://svn.apache.org/viewvc?rev=581890&view=rev
Log:
Always return an iterator from iterateConversations, to simplify code that calls this method. Also add comments.

Modified:
    myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java

Modified: myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java?rev=581890&r1=581889&r2=581890&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java (original)
+++ myfaces/orchestra/trunk/core/src/main/java/org/apache/myfaces/orchestra/conversation/ConversationManager.java Thu Oct  4 06:15:03 2007
@@ -19,6 +19,14 @@
 
 package org.apache.myfaces.orchestra.conversation;
 
+import java.io.IOException;
+import java.io.ObjectStreamException;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.orchestra.conversation.jsf.JsfConversationMessager;
@@ -27,13 +35,6 @@
 import org.apache.myfaces.orchestra.requestParameterProvider.RequestParameterProviderManager;
 import org.apache.myfaces.shared_orchestra.util.ClassUtils;
 
-import java.io.IOException;
-import java.io.ObjectStreamException;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
 /**
  * The manager will deal with the various contexts in the current session.
  * A new context will be created if the current window has none associated.
@@ -47,6 +48,8 @@
 	private final static String CONVERSATION_MANAGER_KEY = "org.apache.myfaces.ConversationManager";
 	private final static String CONVERSATION_CONTEXT_REQ = "org.apache.myfaces.ConversationManager.conversationContext";
 
+	private static final Iterator EMPTY_ITERATOR = Collections.EMPTY_LIST.iterator();
+
 	private static long NEXT_CONVERSATION_CONTEXT = 1;
 
 	private final Log log = LogFactory.getLog(ConversationManager.class);
@@ -263,12 +266,16 @@
 		return conversationContext.hasConversation(name);
 	}
 
+	/**
+	 * Returns an iterator over all the Conversation objects in the current conversation
+	 * context. Never returns null, even if no conversation context exists.
+	 */
 	public Iterator iterateConversations()
 	{
 		ConversationContext conversationContext = getCurrentConversationContext();
 		if (conversationContext == null)
 		{
-			return null;
+			return EMPTY_ITERATOR;
 		}
 
 		return conversationContext.iterateConversations();