[jboss-svn-commits] JBL Code SVN: r8141 - in labs/jbossesb/trunk/product/core/rosetta: src/org/jboss/internal/soa/esb/couriers tests/src/org/jboss/internal/soa/esb/couriers/tests
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Dec 8 10:02:58 EST 2006
Author: estebanschifman
Date: 2006-12-08 10:02:51 -0500 (Fri, 08 Dec 2006)
New Revision: 8141
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
Log:
FileCourier and FileCourierUnitTest now in working condition
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2006-12-08 14:30:33 UTC (rev 8140)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/couriers/FileCourier.java 2006-12-08 15:02:51 UTC (rev 8141)
@@ -168,7 +168,10 @@
try { result = CourierUtil.messageFromLocalFile(work); }
catch (Exception e)
{
- handler.renameFile(work, errorFile(input));
+ if (null==errorFile(input))
+ handler.deleteFile(work);
+ else
+ handler.renameFile(work, errorFile(input));
continue;
}
File done = postFile(input);
@@ -202,10 +205,17 @@
protected File errorFile(File input)
{
+ try
+ {
+ if (_epr.getErrorDelete())
+ return null;
+ }
+ catch (Exception e) { _logger.warn("Problems in FileEpr",e); }
+
String sfx = null;
-// try { sfx = _epr.getErrorSuffix(); }
-// catch (URISyntaxException e)
-// { _logger.warn("Malformed EPR",e); }
+ try { sfx = _epr.getErrorSuffix(); }
+ catch (URISyntaxException e)
+ { _logger.warn("Malformed EPR",e); }
if (Util.isNullString(sfx))
{
@@ -222,10 +232,7 @@
if (_epr.getPostDelete())
return null;
}
- catch (Exception e)
- {
- _logger.warn("Problems in FileEpr",e);
- }
+ catch (Exception e) { _logger.warn("Problems in FileEpr",e); }
String inputDir = input.getParent();
String dir = null;
Modified: labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java 2006-12-08 14:30:33 UTC (rev 8140)
+++ labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/internal/soa/esb/couriers/tests/FileCourierUnitTest.java 2006-12-08 15:02:51 UTC (rev 8141)
@@ -59,7 +59,7 @@
static File _tmpDir = new File(TMP_DIR);
static String TEST_SUFFIX = ".testMessage";
- static String ERROR_SUFFIX = ".esbERROR"; // This is a FIXED value - The FileEpr has no placeholder for it
+ static String ERROR_SUFFIX = ".myErrorSuffix";
static String WORK_SUFFIX = ".inProcessMessage";
static String DONE_SUFFIX = ".doneMessage";
@@ -111,7 +111,6 @@
FileEpr toEpr = new FileEpr("file://"+TMP_DIR);
// FileEpr uses the postSuffix as the extension for messages delivered (default = ".esbMessage")
toEpr.setPostSuffix(TEST_SUFFIX);
- Assert.assertEquals(toEpr.getPostSuffix(), TEST_SUFFIX);
Message msg = MessageFactory.getInstance().getMessage();
msg.getBody().setContents(contents.getBytes());
@@ -137,12 +136,64 @@
String back = new String(retrieved.getBody().getContents());
Assert.assertEquals(contents,back);
_logger.info("Contents of retrieved msg equal original text <"+back+">");
+
+ theFile = new File(_tmpDir,uid+TEST_SUFFIX+DONE_SUFFIX);
+ Assert.assertTrue(theFile.exists());
+ _logger.info("Retrieved message properly renamed to <"+theFile.toString()+">");
+
purgeStaleFiles();
}
@Test
- public void testBadMessage() throws Exception
+ public void testStoreAndDelete() throws Exception
{
+ String contents = "This is the text that travels in the Message body";
+
+ // toEpr for files must be a directory
+ FileEpr toEpr = new FileEpr("file://"+TMP_DIR);
+ // FileEpr uses the postSuffix as the extension for messages delivered (default = ".esbMessage")
+ toEpr.setPostSuffix(TEST_SUFFIX);
+
+ Message msg = MessageFactory.getInstance().getMessage();
+ msg.getBody().setContents(contents.getBytes());
+
+ Call call = new Call(toEpr);
+ final String uid = UUID.randomUUID().toString();
+ call.setMessageID(new URI(uid));
+ msg.getHeader().setCall(call);
+
+ CourierUtil.deliverMessage(msg);
+ File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+ Assert.assertTrue(theFile.exists());
+ _logger.info("Message file "+theFile.toString()+" successfully created");
+
+ FileEpr fromEpr = new FileEpr(toEpr.getURL());
+ fromEpr.setInputSuffix(TEST_SUFFIX);
+ // setting postdelete to true will delete input Message files, if they were picked up
+ fromEpr.setPostDelete(true);
+
+ TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+ Message retrieved = pickUp.pickup(1000);
+ Assert.assertFalse("Null message retrieved",null==retrieved);
+
+ String back = new String(retrieved.getBody().getContents());
+ Assert.assertEquals(contents,back);
+ _logger.info("Contents of retrieved msg equal original text <"+back+">");
+
+ FileFilter ff = new FileFilter()
+ { public boolean accept(File file)
+ {return file.getName().startsWith(uid); }
+ };
+ File[] all = new File(TMP_DIR).listFiles(ff);
+ Assert.assertTrue(null==all || all.length<1);
+ _logger.info("Good message file properly deleted ");
+
+ purgeStaleFiles();
+ }
+
+ @Test
+ public void testBadMessageRename() throws Exception
+ {
String uid = UUID.randomUUID().toString();
File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
PrintStream out = new PrintStream(theFile);
@@ -154,6 +205,9 @@
FileEpr fromEpr = new FileEpr("file://"+TMP_DIR);
fromEpr.setInputSuffix(TEST_SUFFIX);
fromEpr.setPostSuffix(DONE_SUFFIX);
+ fromEpr.setErrorSuffix(ERROR_SUFFIX);
+ // Don't delete - default is to delete files in error
+ fromEpr.setErrorDelete(false);
TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
Message retrieved = pickUp.pickup(1000);
@@ -166,4 +220,36 @@
purgeStaleFiles();
}
+ @Test
+ public void testBadMessageDelete() throws Exception
+ {
+ final String uid = UUID.randomUUID().toString();
+ File theFile = new File(_tmpDir,uid+TEST_SUFFIX);
+ PrintStream out = new PrintStream(theFile);
+ out.print("This is an invalid message");
+ out.close();
+ Assert.assertTrue(theFile.exists());
+ _logger.info("Invalid Message file "+theFile.toString()+" successfully created");
+
+ FileEpr fromEpr = new FileEpr("file://"+TMP_DIR);
+ fromEpr.setInputSuffix(TEST_SUFFIX);
+ fromEpr.setPostSuffix(DONE_SUFFIX);
+ fromEpr.setErrorSuffix(ERROR_SUFFIX);
+ // Not using setErrorDelete(false) should delete files in error
+
+ TwoWayCourier pickUp = CourierFactory.getPickupCourier(fromEpr);
+ Message retrieved = pickUp.pickup(1000);
+ Assert.assertTrue("Null message retrieved",null==retrieved);
+
+ FileFilter ff = new FileFilter()
+ { public boolean accept(File file)
+ {return file.getName().startsWith(uid); }
+ };
+ File[] all = new File(TMP_DIR).listFiles(ff);
+ Assert.assertTrue(null==all || all.length<1);
+ _logger.info("Bad message file properly deleted ");
+
+ purgeStaleFiles();
+ }
+
}
More information about the jboss-svn-commits
mailing list