Author: rwinston
Date: Fri Aug 25 14:51:30 2006
New Revision: 436969

URL: http://svn.apache.org/viewvc?rev=436969&view=rev
Log:
* Import cleanup
* Use CopyOnWriteArrayList to store listener list
* Make ListenerList.java implement Iterable<EventListener>

Modified:
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/FingerClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ProtocolCommandSupport.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/TimeTCPClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/bsd/RExecClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/io/CopyStreamAdapter.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTP.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTPClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/NTPUDPClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeInfo.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeStamp.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3Client.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTP.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTPClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/Telnet.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTP.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTPClient.java
    
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/util/ListenerList.java

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/FingerClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/FingerClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/FingerClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/FingerClient.java
 Fri Aug 25 14:51:30 2006
@@ -15,12 +15,12 @@
  */
 package org.apache.commons.net;
 
+import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
+import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.BufferedOutputStream;
-import java.io.DataOutputStream;
 
 /***
  * The FingerClient class implements the client side of the Internet Finger

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ProtocolCommandSupport.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ProtocolCommandSupport.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ProtocolCommandSupport.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ProtocolCommandSupport.java
 Fri Aug 25 14:51:30 2006
@@ -17,6 +17,8 @@
 
 import java.io.Serializable;
 import java.util.Enumeration;
+import java.util.EventListener;
+
 import org.apache.commons.net.util.ListenerList;
 
 /***
@@ -62,18 +64,13 @@
      ***/
     public void fireCommandSent(String command, String message)
     {
-        Enumeration en;
         ProtocolCommandEvent event;
-        ProtocolCommandListener listener;
-
-        en = __listeners.getListeners();
 
         event = new ProtocolCommandEvent(__source, command, message);
 
-        while (en.hasMoreElements())
+        for (EventListener listener : __listeners)
         {
-            listener = (ProtocolCommandListener)en.nextElement();
-            listener.protocolCommandSent(event);
+           ((ProtocolCommandListener)listener).protocolCommandSent(event);
         }
     }
 
@@ -92,18 +89,12 @@
      ***/
     public void fireReplyReceived(int replyCode, String message)
     {
-        Enumeration en;
         ProtocolCommandEvent event;
-        ProtocolCommandListener listener;
-
-        en = __listeners.getListeners();
-
         event = new ProtocolCommandEvent(__source, replyCode, message);
 
-        while (en.hasMoreElements())
+        for (EventListener listener : __listeners)
         {
-            listener = (ProtocolCommandListener)en.nextElement();
-            listener.protocolReplyReceived(event);
+            ((ProtocolCommandListener)listener).protocolReplyReceived(event);
         }
     }
 

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/TimeTCPClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/TimeTCPClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/TimeTCPClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/TimeTCPClient.java
 Fri Aug 25 14:51:30 2006
@@ -15,9 +15,9 @@
  */
 package org.apache.commons.net;
 
+import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.Date;
-import java.io.DataInputStream;
 
 /***
  * The TimeTCPClient class is a TCP implementation of a client for the

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/bsd/RExecClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/bsd/RExecClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/bsd/RExecClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/bsd/RExecClient.java
 Fri Aug 25 14:51:30 2006
@@ -17,11 +17,12 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.net.ServerSocket;
 import java.net.Socket;
-import org.apache.commons.net.io.SocketInputStream;
+
 import org.apache.commons.net.SocketClient;
-import java.io.OutputStream;
+import org.apache.commons.net.io.SocketInputStream;
 
 /***
  * RExecClient implements the rexec() facility that first appeared in

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/io/CopyStreamAdapter.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/io/CopyStreamAdapter.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/io/CopyStreamAdapter.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/io/CopyStreamAdapter.java
 Fri Aug 25 14:51:30 2006
@@ -16,6 +16,8 @@
 package org.apache.commons.net.io;
 
 import java.util.Enumeration;
+import java.util.EventListener;
+
 import org.apache.commons.net.util.ListenerList;
 
 /**
@@ -83,20 +85,16 @@
     public void bytesTransferred(long totalBytesTransferred,
                                  int bytesTransferred, long streamSize)
     {
-        Enumeration listeners;
         CopyStreamEvent event;
 
-        listeners = internalListeners.getListeners();
-
         event = new CopyStreamEvent(this,
                                     totalBytesTransferred,
                                     bytesTransferred,
                                     streamSize);
 
-        while (listeners.hasMoreElements())
+        for (EventListener listener : internalListeners)
         {
-            ((CopyStreamListener) (listeners.nextElement())).
-                bytesTransferred(event);
+            ((CopyStreamListener) (listener)).bytesTransferred(event);
         }
     }
 

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTP.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTP.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTP.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTP.java
 Fri Aug 25 14:51:30 2006
@@ -20,9 +20,10 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
+
 import org.apache.commons.net.MalformedServerReplyException;
-import org.apache.commons.net.ProtocolCommandSupport;
 import org.apache.commons.net.ProtocolCommandListener;
+import org.apache.commons.net.ProtocolCommandSupport;
 import org.apache.commons.net.SocketClient;
 
 /***

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTPClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTPClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTPClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/nntp/NNTPClient.java
 Fri Aug 25 14:51:30 2006
@@ -22,10 +22,11 @@
 import java.io.Writer;
 import java.util.StringTokenizer;
 import java.util.Vector;
+
+import org.apache.commons.net.MalformedServerReplyException;
 import org.apache.commons.net.io.DotTerminatedMessageReader;
 import org.apache.commons.net.io.DotTerminatedMessageWriter;
 import org.apache.commons.net.io.Util;
-import org.apache.commons.net.MalformedServerReplyException;
 
 /***
  * NNTPClient encapsulates all the functionality necessary to post and

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/NTPUDPClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/NTPUDPClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/NTPUDPClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/NTPUDPClient.java
 Fri Aug 25 14:51:30 2006
@@ -18,6 +18,7 @@
 import java.io.IOException;
 import java.net.DatagramPacket;
 import java.net.InetAddress;
+
 import org.apache.commons.net.DatagramSocketClient;
 
 /***

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeInfo.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeInfo.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeInfo.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeInfo.java
 Fri Aug 25 14:51:30 2006
@@ -15,8 +15,8 @@
  * limitations under the License.
  */
 
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Wrapper class to network time packet messages (NTP, etc) that computes

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeStamp.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeStamp.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeStamp.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/ntp/TimeStamp.java
 Fri Aug 25 14:51:30 2006
@@ -16,12 +16,12 @@
  */
 
 
-import java.util.TimeZone;
-import java.util.Date;
-import java.util.Locale;
 import java.lang.ref.SoftReference;
-import java.text.SimpleDateFormat;
 import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
 
 /***
  * TimeStamp class represents the Network Time Protocol (NTP) timestamp

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3.java
 Fri Aug 25 14:51:30 2006
@@ -21,9 +21,9 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
-import java.lang.StringBuffer;
 import java.util.Enumeration;
 import java.util.Vector;
+
 import org.apache.commons.net.MalformedServerReplyException;
 import org.apache.commons.net.ProtocolCommandListener;
 import org.apache.commons.net.ProtocolCommandSupport;

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3Client.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3Client.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3Client.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/pop3/POP3Client.java
 Fri Aug 25 14:51:30 2006
@@ -21,6 +21,7 @@
 import java.security.NoSuchAlgorithmException;
 import java.util.Enumeration;
 import java.util.StringTokenizer;
+
 import org.apache.commons.net.io.DotTerminatedMessageReader;
 
 /***

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTP.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTP.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTP.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTP.java
 Fri Aug 25 14:51:30 2006
@@ -22,6 +22,7 @@
 import java.io.OutputStreamWriter;
 import java.util.Enumeration;
 import java.util.Vector;
+
 import org.apache.commons.net.MalformedServerReplyException;
 import org.apache.commons.net.ProtocolCommandListener;
 import org.apache.commons.net.ProtocolCommandSupport;

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTPClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTPClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTPClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/smtp/SMTPClient.java
 Fri Aug 25 14:51:30 2006
@@ -18,6 +18,7 @@
 import java.io.IOException;
 import java.io.Writer;
 import java.net.InetAddress;
+
 import org.apache.commons.net.io.DotTerminatedMessageWriter;
 
 /***

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/Telnet.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/Telnet.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/Telnet.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/Telnet.java
 Fri Aug 25 14:51:30 2006
@@ -17,8 +17,9 @@
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
-import java.io.OutputStream;
 import java.io.IOException;
+import java.io.OutputStream;
+
 import org.apache.commons.net.SocketClient;
 
 /**

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetClient.java
 Fri Aug 25 14:51:30 2006
@@ -19,6 +19,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+
 import org.apache.commons.net.io.FromNetASCIIInputStream;
 import org.apache.commons.net.io.ToNetASCIIOutputStream;
 

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetInputStream.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/telnet/TelnetInputStream.java
 Fri Aug 25 14:51:30 2006
@@ -86,6 +86,7 @@
 
         int priority;
         __isClosed = false;
+        // TODO remove this
         // Need to set a higher priority in case JVM does not use pre-emptive
         // threads.  This should prevent scheduler induced deadlock (rather 
than
         // deadlock caused by a bug in this code).

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTP.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTP.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTP.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTP.java
 Fri Aug 25 14:51:30 2006
@@ -19,6 +19,7 @@
 import java.io.InterruptedIOException;
 import java.net.DatagramPacket;
 import java.net.SocketException;
+
 import org.apache.commons.net.DatagramSocketClient;
 
 /***

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTPClient.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTPClient.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTPClient.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/tftp/TFTPClient.java
 Fri Aug 25 14:51:30 2006
@@ -22,6 +22,7 @@
 import java.net.InetAddress;
 import java.net.SocketException;
 import java.net.UnknownHostException;
+
 import org.apache.commons.net.io.FromNetASCIIOutputStream;
 import org.apache.commons.net.io.ToNetASCIIInputStream;
 

Modified: 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/util/ListenerList.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/util/ListenerList.java?rev=436969&r1=436968&r2=436969&view=diff
==============================================================================
--- 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/util/ListenerList.java
 (original)
+++ 
jakarta/commons/proper/net/branches/JDK_1_5_BRANCH/src/java/org/apache/commons/net/util/ListenerList.java
 Fri Aug 25 14:51:30 2006
@@ -18,39 +18,45 @@
 import java.io.Serializable;
 import java.util.Enumeration;
 import java.util.EventListener;
+import java.util.Iterator;
 import java.util.Vector;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * @author Daniel F. Savarese
  */
 
-public class ListenerList implements Serializable
+public class ListenerList implements Serializable, Iterable<EventListener>
 {
-    private Vector __listeners;
+    private final CopyOnWriteArrayList<EventListener> __listeners;
 
     public ListenerList()
     {
-        __listeners = new Vector();
+        __listeners = new CopyOnWriteArrayList<EventListener>();
     }
 
     public synchronized void addListener(EventListener listener)
     {
-        __listeners.addElement(listener);
+               __listeners.add(listener);
     }
 
     public synchronized void removeListener(EventListener listener)
     {
-        __listeners.removeElement(listener);
-    }
-
-    public synchronized Enumeration getListeners()
-    {
-        return ((Vector)__listeners.clone()).elements();
+               __listeners.remove(listener);
     }
 
     public int getListenerCount()
     {
         return __listeners.size();
+    }
+    
+    /**
+     * Return an [EMAIL PROTECTED] Iterator} for the [EMAIL PROTECTED] 
EventListener} instances
+     * 
+     * TODO Check that this is a good defensive strategy
+     */
+    public Iterator<EventListener> iterator() {
+               return __listeners.iterator();
     }
 
 }



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

Reply via email to