You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2009/04/05 10:58:21 UTC

svn commit: r762059 - in /synapse/trunk/java/modules/transports/src: main/java/org/apache/synapse/transport/vfs/ test/java/org/apache/synapse/transport/vfs/

Author: veithen
Date: Sun Apr  5 08:58:21 2009
New Revision: 762059

URL: http://svn.apache.org/viewvc?rev=762059&view=rev
Log:
* Fixed a problem in VFSTransportListener: the code didn't call onPollCompletion.
* Made the tests more robust: to avoid reading a partial response, the request-response test client now waits for the deletion of the request file.

Modified:
    synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSRequestResponseClient.java
    synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTestUtils.java

Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java?rev=762059&r1=762058&r2=762059&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/vfs/VFSTransportListener.java Sun Apr  5 08:58:21 2009
@@ -266,7 +266,7 @@
                     log.debug("Unable to access or read file or directory : " + fileURI);
                 }
             }
-
+            onPollCompletion(entry);
         } catch (FileSystemException e) {
             processFailure("Error checking for existence and readability : " + fileURI, e, entry);
         }

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java?rev=762059&r1=762058&r2=762059&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSClient.java Sun Apr  5 08:58:21 2009
@@ -45,6 +45,10 @@
         requestFile = channel.getRequestFile();
     }
     
+    public File getRequestFile() {
+        return requestFile;
+    }
+
     public ContentType getContentType(ClientOptions options, ContentType contentType) {
         return contentType;
     }

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSRequestResponseClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSRequestResponseClient.java?rev=762059&r1=762058&r2=762059&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSRequestResponseClient.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSRequestResponseClient.java Sun Apr  5 08:58:21 2009
@@ -39,7 +39,12 @@
     
     public IncomingMessage<byte[]> sendMessage(ClientOptions options, ContentType contentType, byte[] message) throws Exception {
         send(message);
-        byte[] reply = VFSTestUtils.waitForFile(replyFile, 5000);
-        return reply == null ? null : new IncomingMessage<byte[]>(contentType, reply);
+        File requestFile = getRequestFile();
+        if (VFSTestUtils.waitForFileDeletion(requestFile, 5000)) {
+            return new IncomingMessage<byte[]>(contentType, VFSTestUtils.readFile(replyFile));
+        } else {
+            requestFile.delete();
+            return null;
+        }
     }
 }

Modified: synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTestUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTestUtils.java?rev=762059&r1=762058&r2=762059&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTestUtils.java (original)
+++ synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/vfs/VFSTestUtils.java Sun Apr  5 08:58:21 2009
@@ -30,16 +30,31 @@
 public class VFSTestUtils {
     private VFSTestUtils() {}
     
+    public static boolean waitForFileDeletion(File file, int timeout) throws InterruptedException {
+        long time = System.currentTimeMillis();
+        while (System.currentTimeMillis() < time + timeout) {
+            if (!file.exists()) {
+                return true;
+            }
+            Thread.sleep(100);
+        }
+        return false;
+    }
+    
+    public static byte[] readFile(File file) throws IOException {
+        InputStream in = new FileInputStream(file);
+        try {
+            return IOUtils.toByteArray(in);
+        } finally {
+            in.close();
+        }
+    }
+    
     public static byte[] waitForFile(File file, int timeout) throws IOException, InterruptedException {
         long time = System.currentTimeMillis();
         while (System.currentTimeMillis() < time + timeout) {
             if (file.exists()) {
-                InputStream in = new FileInputStream(file);
-                try {
-                    return IOUtils.toByteArray(in);
-                } finally {
-                    in.close();
-                }
+                return readFile(file);
             }
             Thread.sleep(100);
         }