Author: rwinston
Date: Sun Mar  9 10:32:45 2008
New Revision: 635307

URL: http://svn.apache.org/viewvc?rev=635307&view=rev
Log:
Make default logger a no-op

Modified:
    
commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/tftp/TFTPServer.java
    
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPServerPathTest.java
    
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPTest.java

Modified: 
commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/tftp/TFTPServer.java
URL: 
http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/tftp/TFTPServer.java?rev=635307&r1=635306&r2=635307&view=diff
==============================================================================
--- 
commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/tftp/TFTPServer.java
 (original)
+++ 
commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/tftp/TFTPServer.java
 Sun Mar  9 10:32:45 2008
@@ -46,7 +46,7 @@
  * To check to see if the server is still running (or if it stopped because of 
an error), call the
  * isRunning() method.
  * 
- * By default, logs debug info and errors to the console streams. This can be 
changed with the
+ * By default, events are not logged to stdout/stderr. This can be changed 
with the
  * setLog and setLogError methods.
  * 
  * <p>
@@ -81,11 +81,8 @@
 
 public class TFTPServer implements Runnable
 {
-       private static final int DEFAULT_TFTP_PORT = 69;
-       // Modes for the server. These should be an enum, in java 1.5
-       public static final int GET_ONLY = 0;
-       public static final int PUT_ONLY = 1;
-       public static final int GET_AND_PUT = 2;
+       private static final int DEFAULT_TFTP_PORT = 69;        
+       public static enum ServerMode { GET_ONLY, PUT_ONLY, GET_AND_PUT; }
 
        private HashSet<TFTPTransfer> transfers_ = new HashSet<TFTPTransfer>();
        private volatile boolean shutdown_ = false;
@@ -94,16 +91,25 @@
        private File serverWriteDirectory_;
        private int port_;
        private Exception serverException = null;
-       private int mode_;
+       private ServerMode mode_;
+
+       /* /dev/null output stream (default) */ 
+       private static final PrintStream nullStream = new PrintStream(
+                       new OutputStream() { 
+                               public void write(int b){}
+                               public void write(byte[] b) throws IOException 
{}
+                               }
+                       );
 
        // don't have access to a logger api, so we will log to these streams, 
which
-       // by default are set to the console.
+       // by default are set to a no-op logger
        private PrintStream log_;
        private PrintStream logError_;
 
        private int maxTimeoutRetries_ = 3;
        private int socketTimeout_;
-
+       
+       
        /**
         * Start a TFTP Server on the default port (69). Gets and Puts occur in 
the specified
         * directories.
@@ -120,7 +126,7 @@
         * @param mode A value as specified above.
         * @throws IOException if the server directory is invalid or does not 
exist.
         */
-       public TFTPServer(File serverReadDirectory, File serverWriteDirectory, 
int mode)
+       public TFTPServer(File serverReadDirectory, File serverWriteDirectory, 
ServerMode mode)
                        throws IOException
        {
                this(serverReadDirectory, serverWriteDirectory, 
DEFAULT_TFTP_PORT, mode, null, null);
@@ -143,13 +149,13 @@
         * @param errorLog Stream to write error messages to. If not provided, 
uses System.err.
         * @throws IOException if the server directory is invalid or does not 
exist.
         */
-       public TFTPServer(File serverReadDirectory, File serverWriteDirectory, 
int port, int mode,
+       public TFTPServer(File serverReadDirectory, File serverWriteDirectory, 
int port, ServerMode mode,
                        PrintStream log, PrintStream errorLog) throws 
IOException
        {
                port_ = port;
                mode_ = mode;
-               log_ = (log == null ? System.out : log);
-               logError_ = (errorLog == null ? System.err : errorLog);
+               log_ = (log == null ? nullStream: log);
+               logError_ = (errorLog == null ? nullStream : errorLog);
                launch(serverReadDirectory, serverWriteDirectory);
        }
 
@@ -413,7 +419,7 @@
                        InputStream is = null;
                        try
                        {
-                               if (mode_ == PUT_ONLY)
+                               if (mode_ == ServerMode.PUT_ONLY)
                                {
                                        transferTftp_.bufferedSend(new 
TFTPErrorPacket(trrp.getAddress(), trrp
                                                        .getPort(), 
TFTPErrorPacket.ILLEGAL_OPERATION,
@@ -575,7 +581,7 @@
                        OutputStream bos = null;
                        try
                        {
-                               if (mode_ == GET_ONLY)
+                               if (mode_ == ServerMode.GET_ONLY)
                                {
                                        transferTftp_.bufferedSend(new 
TFTPErrorPacket(twrp.getAddress(), twrp
                                                        .getPort(), 
TFTPErrorPacket.ILLEGAL_OPERATION,
@@ -822,7 +828,7 @@
        }
 
        /**
-        * Set the stream object to log debug / informational messages. By 
default, this is System.out
+        * Set the stream object to log debug / informational messages. By 
default, this is a no-op
         * 
         * @param log
         */
@@ -832,7 +838,7 @@
        }
 
        /**
-        * Set the stream object to log error messsages. By default, this is 
System.err
+        * Set the stream object to log error messsages. By default, this is a 
no-op
         * 
         * @param logError
         */

Modified: 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPServerPathTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPServerPathTest.java?rev=635307&r1=635306&r2=635307&view=diff
==============================================================================
--- 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPServerPathTest.java
 (original)
+++ 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPServerPathTest.java
 Sun Mar  9 10:32:45 2008
@@ -21,6 +21,8 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 
+import org.apache.commons.net.tftp.TFTPServer.ServerMode;
+
 import junit.framework.TestCase;
 
 /**
@@ -39,7 +41,7 @@
        {
                // Start a read-only server
                TFTPServer tftpS = new TFTPServer(serverDirectory, 
serverDirectory, 6900,
-                               TFTPServer.GET_ONLY, null, null);
+                               ServerMode.GET_ONLY, null, null);
 
                // Create our TFTP instance to handle the file transfer.
                TFTPClient tftp = new TFTPClient();
@@ -85,7 +87,7 @@
        {
                // Start a write-only server
                TFTPServer tftpS = new TFTPServer(serverDirectory, 
serverDirectory, 6900,
-                               TFTPServer.PUT_ONLY, null, null);
+                               ServerMode.PUT_ONLY, null, null);
 
                // Create our TFTP instance to handle the file transfer.
                TFTPClient tftp = new TFTPClient();
@@ -133,7 +135,7 @@
        {
                // Start a server
                TFTPServer tftpS = new TFTPServer(serverDirectory, 
serverDirectory, 6900,
-                               TFTPServer.GET_AND_PUT, null, null);
+                               ServerMode.GET_AND_PUT, null, null);
 
                // Create our TFTP instance to handle the file transfer.
                TFTPClient tftp = new TFTPClient();

Modified: 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPTest.java?rev=635307&r1=635306&r2=635307&view=diff
==============================================================================
--- 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPTest.java
 (original)
+++ 
commons/proper/net/branches/NET_2_0/src/test/java/org/apache/commons/net/tftp/TFTPTest.java
 Sun Mar  9 10:32:45 2008
@@ -25,6 +25,8 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 
+import org.apache.commons.net.tftp.TFTPServer.ServerMode;
+
 import junit.framework.TestCase;
 
 /**
@@ -58,7 +60,7 @@
                        files[7] = createFile(new File(serverDirectory, 
filePrefix + "huge.txt"), 37000 * 1024);
 
                        // Start the server
-                       tftpS = new TFTPServer(serverDirectory, 
serverDirectory, 6900, TFTPServer.GET_AND_PUT,
+                       tftpS = new TFTPServer(serverDirectory, 
serverDirectory, 6900, ServerMode.GET_AND_PUT,
                                        null, null);
                        tftpS.setSocketTimeout(2000);
                }


Reply via email to