You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2013/04/30 13:12:59 UTC

svn commit: r1477557 - /directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java

Author: pamarcelot
Date: Tue Apr 30 11:12:59 2013
New Revision: 1477557

URL: http://svn.apache.org/r1477557
Log:
Fix for DIRSTUDIO-905 (IOException (Document is closed) thrown when quitting Apache Directory Studio with an LDAP Server running).

Added javadocs as well.

Modified:
    directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java

Modified: directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java?rev=1477557&r1=1477556&r2=1477557&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java (original)
+++ directory/studio/trunk/plugins/ldapservers/src/main/java/org/apache/directory/studio/ldapservers/ConsolePrinterThread.java Tue Apr 30 11:12:59 2013
@@ -29,13 +29,29 @@ import java.io.IOException;
 import org.eclipse.ui.console.MessageConsoleStream;
 
 
+/**
+ * This class implements a thread used to print in the console the contents of a file.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
 public class ConsolePrinterThread extends Thread
 {
+    /** The flag to stop the console printer */
     private boolean stop = false;
+
+    /** The file to read */
     private File file;
+
+    /** The console stream */
     private MessageConsoleStream consoleStream;
 
 
+    /**
+     * Creates a new instance of ConsolePrinterThread.
+     *
+     * @param file the file to read
+     * @param consoleStream the console stream
+     */
     public ConsolePrinterThread( File file, MessageConsoleStream consoleStream )
     {
         this.file = file;
@@ -52,21 +68,34 @@ public class ConsolePrinterThread extend
         {
             try
             {
+                // Opening the file reader
                 BufferedReader reader = new BufferedReader( new FileReader( file ) );
-                String line = null;
 
                 while ( !stop )
                 {
-                    line = reader.readLine();
+                    // Checking if the console stream is closed
+                    if ( consoleStream.isClosed() )
+                    {
+                        // We need to exit
+                        break;
+                    }
+                    
+                    // Getting the next line to print
+                    String line = reader.readLine();
+
+                    // Checking the line
                     if ( line != null )
                     {
+                        // Writing the line to the console and moving the next
                         consoleStream.println( line );
                         continue;
                     }
 
+                    // Waiting
                     sleep( 1000 );
                 }
 
+                // Closing the file reader
                 reader.close();
             }
             catch ( FileNotFoundException e )
@@ -79,8 +108,7 @@ public class ConsolePrinterThread extend
             }
             catch ( IOException e )
             {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
+                // Nothing to do
             }
         }
     }