Now uses BufferedReader and not DataInputStream. To avoid deprecated call to readLine

Sorry JUnit test included requires some user intervention (getting data from System.in)

Kev
Index: DefaultInputHandler.java
===================================================================
RCS file: 
/home/cvspublic/ant/src/main/org/apache/tools/ant/input/DefaultInputHandler.java,v
retrieving revision 1.17
diff -u -r1.17 DefaultInputHandler.java
--- DefaultInputHandler.java    9 Mar 2004 16:48:03 -0000       1.17
+++ DefaultInputHandler.java    10 Nov 2004 05:40:40 -0000
@@ -17,7 +17,8 @@
 
 package org.apache.tools.ant.input;
 
-import java.io.DataInputStream;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Enumeration;
@@ -46,15 +47,15 @@
      */
     public void handleInput(InputRequest request) throws BuildException {
         String prompt = getPrompt(request);
-        DataInputStream in = null;
+        BufferedReader br = null;
         try {
-            in =
-                new DataInputStream(new 
KeepAliveInputStream(getInputStream()));
+            br =
+                new BufferedReader(new InputStreamReader(new 
KeepAliveInputStream(getInputStream())));
             do {
                 System.err.println(prompt);
                 System.err.flush();
                 try {
-                    String input = in.readLine();
+                    String input = br.readLine();
                     request.setInput(input);
                 } catch (IOException e) {
                     throw new BuildException("Failed to read input from"
@@ -62,9 +63,9 @@
                 }
             } while (!request.isInputValid());
         } finally {
-            if (in != null) {
+            if (br != null) {
                 try {
-                    in.close();
+                    br.close();
                 } catch (IOException e) {
                     throw new BuildException("Failed to close input.", e);
                 }
Index: DefaultInputHandlerTest.java
===================================================================
RCS file: DefaultInputHandlerTest.java
diff -N DefaultInputHandlerTest.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ DefaultInputHandlerTest.java        1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,82 @@
+package org.apache.tools.ant.input;
+
+import java.io.IOException;
+import java.io.DataInputStream;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.util.KeepAliveInputStream;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+
+
+/**
+ * @author it-kevin
+ *
+ */
+public class DefaultInputHandlerTest extends TestCase {
+
+    private InputRequest oldIr;
+    private InputRequest newIr;
+    private DefaultInputHandler dfh;
+    
+    
+    /*
+     * @see TestCase#setUp()
+     */
+    protected void setUp() throws Exception {
+        super.setUp();
+        //setup with DataInputStream
+        oldIr = new InputRequest(">");
+        DataInputStream in = null;
+        in = new DataInputStream(new KeepAliveInputStream(System.in));
+        try {
+            String input = in.readLine();
+            oldIr.setInput(input);
+        } catch (IOException e) {
+            throw new BuildException("Failed to read input from"
+                    + " Console.", e);
+        }
+        
+        //setup with BufferedReader
+        newIr = new InputRequest(">");
+        dfh = new DefaultInputHandler();
+        dfh.handleInput(newIr);
+        
+        
+    }
+
+    /*
+     * @see TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Constructor for DefaultInputHandlerTest.
+     * @param arg0
+     */
+    public DefaultInputHandlerTest(String arg0) {
+        super(arg0);
+    }
+    
+    public static Test suite() {
+               TestSuite suite = new TestSuite();
+               suite.addTest(new DefaultInputHandlerTest("testHandleInput"));
+               return suite;
+       }
+    
+    public void testHandleInput() {
+        try {
+            assertEquals(oldIr.getInput(), newIr.getInput());
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail();
+        }
+        
+    }
+
+}

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

Reply via email to