Author: norman
Date: Mon Nov 15 11:44:54 2010
New Revision: 1035232

URL: http://svn.apache.org/viewvc?rev=1035232&view=rev
Log:
Generate the filename for the blob payload via the JMSMessageID, thats a way 
more save then using the Mail.getName()

Modified:
    
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java

Modified: 
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java?rev=1035232&r1=1035231&r2=1035232&view=diff
==============================================================================
--- 
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
 (original)
+++ 
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
 Mon Nov 15 11:44:54 2010
@@ -147,7 +147,11 @@ public class FileSystemBlobStrategy impl
         if (message.getURL() != null) {
             return fs.getFile(message.getURL().toString());
         }
-        String mailname = message.getStringProperty(JAMES_MAIL_NAME);
+        
+        // Make sure it works on windows in all cases and make sure 
+        // we use the JMS Message ID as filename so we are safe in the case
+        // we try to stream from and to the same mail
+        String filename = 
message.getJMSMessageID().replaceAll("[:\\\\/*?|<>]", "_");
         int i = (int) (Math.random()*splitCount+1);
 
         String queueUrl = policy.getUploadUrl() + "/" +i;
@@ -158,7 +162,7 @@ public class FileSystemBlobStrategy impl
         if (queueF.exists() == false) {
             queueF.mkdirs();
         }
-        return fs.getFile(queueUrl+ "/" + mailname);
+        return fs.getFile(queueUrl+ "/" + filename);
         
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to