Author: bago
Date: Thu Apr 27 03:03:36 2006
New Revision: 397501

URL: http://svn.apache.org/viewcvs?rev=397501&view=rev
Log:
Message size calc changes (related to JAMES-466)

Modified:
    
james/server/trunk/src/java/org/apache/james/core/MimeMessageCopyOnWriteProxy.java
    james/server/trunk/src/java/org/apache/james/core/MimeMessageUtil.java
    james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java

Modified: 
james/server/trunk/src/java/org/apache/james/core/MimeMessageCopyOnWriteProxy.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/core/MimeMessageCopyOnWriteProxy.java?rev=397501&r1=397500&r2=397501&view=diff
==============================================================================
--- 
james/server/trunk/src/java/org/apache/james/core/MimeMessageCopyOnWriteProxy.java
 (original)
+++ 
james/server/trunk/src/java/org/apache/james/core/MimeMessageCopyOnWriteProxy.java
 Thu Apr 27 03:03:36 2006
@@ -775,11 +775,7 @@
      * @throws MessagingException 
      */
     public long getMessageSize() throws MessagingException {
-        if (wrapped instanceof MimeMessageWrapper) {
-            return ((MimeMessageWrapper) wrapped).getMessageSize();
-        } else {
-            return MimeMessageUtil.getMessageSize(this);
-        }
+        return MimeMessageUtil.getMessageSize(wrapped);
     }
 
     /**

Modified: james/server/trunk/src/java/org/apache/james/core/MimeMessageUtil.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/core/MimeMessageUtil.java?rev=397501&r1=397500&r2=397501&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/core/MimeMessageUtil.java 
(original)
+++ james/server/trunk/src/java/org/apache/james/core/MimeMessageUtil.java Thu 
Apr 27 03:03:36 2006
@@ -228,22 +228,37 @@
         } else if (message instanceof MimeMessageCopyOnWriteProxy) {
             MimeMessageCopyOnWriteProxy wrapper = 
(MimeMessageCopyOnWriteProxy) message;
             size = wrapper.getMessageSize();
-        } else {
-            //SK: Should probably eventually store this as a locally
-            //  maintained value (so we don't have to load and reparse
-            //  messages each time).
-            size = message.getSize();
-            if (size != -1) {
-                Enumeration e = message.getAllHeaderLines();
-                if (e.hasMoreElements()) {
-                    size += 2;
-                }
-                while (e.hasMoreElements()) {
-                    // add 2 bytes for the CRLF
-                    size += ((String) e.nextElement()).length()+2;
-                }
+        }
+        
+        if (size == -1) {
+            size = calculateMessageSize(message);
+        }
+        
+        return size;
+    }
+
+    /**
+     * @param message
+     * @return the calculated size
+     * @throws MessagingException
+     */
+    public static long calculateMessageSize(MimeMessage message) throws 
MessagingException {
+        long size;
+        //SK: Should probably eventually store this as a locally
+        //  maintained value (so we don't have to load and reparse
+        //  messages each time).
+        size = message.getSize();
+        if (size != -1) {
+            Enumeration e = message.getAllHeaderLines();
+            if (e.hasMoreElements()) {
+                size += 2;
+            }
+            while (e.hasMoreElements()) {
+                // add 2 bytes for the CRLF
+                size += ((String) e.nextElement()).length()+2;
             }
         }
+        
         
         if (size == -1) {
             SizeCalculatorOutputStream out = new SizeCalculatorOutputStream();

Modified: 
james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java?rev=397501&r1=397500&r2=397501&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java 
(original)
+++ james/server/trunk/src/java/org/apache/james/core/MimeMessageWrapper.java 
Thu Apr 27 03:03:36 2006
@@ -329,7 +329,7 @@
                 throw new MessagingException("Error retrieving message size", 
ioe);
             }
         } else {
-            return MimeMessageUtil.getMessageSize(this);
+            return MimeMessageUtil.calculateMessageSize(this);
         }
     }
     



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

Reply via email to