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);
}