You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2007/09/20 15:32:53 UTC

svn commit: r577739 - in /james/mime4j/trunk/src/main/java/org/apache/james/mime4j: ./ field/ field/datetime/ message/ util/

Author: bago
Date: Thu Sep 20 06:32:52 2007
New Revision: 577739

URL: http://svn.apache.org/viewvc?rev=577739&view=rev
Log:
Removed cyclic dependencies (MIME4J-29)
- Moved SimpleContentHandler from mime4j root package to message. It has
depedencies on the message package and no one depends on this. So either
"message" or a new package.
- Moved the encoding string constants from ContentTransferEncodingField
to MimeUtil.
- Removed static method parse from DateTime and move the logic inside
DateTimeField.Parse class (the only user of that code).

Added:
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java
      - copied, changed from r572819, james/mime4j/trunk/src/main/java/org/apache/james/mime4j/SimpleContentHandler.java
Removed:
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/SimpleContentHandler.java
Modified:
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingField.java
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/datetime/DateTime.java
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Message.java
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CharsetUtil.java
    james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/MimeUtil.java

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingField.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingField.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingField.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTransferEncodingField.java Thu Sep 20 06:32:52 2007
@@ -19,6 +19,8 @@
 
 package org.apache.james.mime4j.field;
 
+import org.apache.james.mime4j.util.MimeUtil;
+
 
 
 /**
@@ -28,27 +30,6 @@
  * @version $Id: ContentTransferEncodingField.java,v 1.2 2004/10/02 12:41:11 ntherning Exp $
  */
 public class ContentTransferEncodingField extends Field {
-    /**
-     * The <code>7bit</code> encoding.
-     */
-    public static final String ENC_7BIT = "7bit";
-    /**
-     * The <code>8bit</code> encoding.
-     */
-    public static final String ENC_8BIT = "8bit";
-    /**
-     * The <code>binary</code> encoding.
-     */
-    public static final String ENC_BINARY = "binary";
-    /**
-     * The <code>quoted-printable</code> encoding.
-     */
-    public static final String ENC_QUOTED_PRINTABLE = "quoted-printable";
-    /**
-     * The <code>base64</code> encoding.
-     */
-    public static final String ENC_BASE64 = "base64";
-    
     private String encoding;
     
     protected ContentTransferEncodingField(String name, String body, String raw, String encoding) {
@@ -76,7 +57,7 @@
         if (f != null && f.getEncoding().length() != 0) {
             return f.getEncoding();
         }
-        return ENC_7BIT;
+        return MimeUtil.ENC_7BIT;
     }
     
     public static class Parser implements FieldParser {

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java Thu Sep 20 06:32:52 2007
@@ -21,9 +21,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.james.mime4j.field.datetime.DateTime;
+import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
 import org.apache.james.mime4j.field.datetime.parser.ParseException;
+import org.apache.james.mime4j.field.datetime.parser.TokenMgrError;
 
+import java.io.StringReader;
 import java.util.Date;
 
 public class DateTimeField extends Field {
@@ -51,7 +53,12 @@
             Date date = null;
             ParseException parseException = null;
             try {
-                date = DateTime.parse(body).getDate();
+                try {
+                    date = new DateTimeParser(new StringReader(body)).parseAll().getDate();
+                }
+                catch (TokenMgrError err) {
+                    throw new ParseException(err.getMessage());
+                }
             }
             catch (ParseException e) {
                 if (log.isDebugEnabled()) {

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/datetime/DateTime.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/datetime/DateTime.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/datetime/DateTime.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/datetime/DateTime.java Thu Sep 20 06:32:52 2007
@@ -19,15 +19,10 @@
 
 package org.apache.james.mime4j.field.datetime;
 
-import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
-import org.apache.james.mime4j.field.datetime.parser.ParseException;
-import org.apache.james.mime4j.field.datetime.parser.TokenMgrError;
-
-import java.util.Date;
 import java.util.Calendar;
-import java.util.TimeZone;
+import java.util.Date;
 import java.util.GregorianCalendar;
-import java.io.StringReader;
+import java.util.TimeZone;
 
 public class DateTime {
     private final Date date;
@@ -115,13 +110,4 @@
         System.out.println(getYear() + " " + getMonth() + " " + getDay() + "; " + getHour() + " " + getMinute() + " " + getSecond() + " " + getTimeZone());
     }
 
-
-    public static DateTime parse(String dateString) throws ParseException {
-        try {
-            return new DateTimeParser(new StringReader(dateString)).parseAll();
-        }
-        catch (TokenMgrError err) {
-            throw new ParseException(err.getMessage());
-        }
-    }
 }

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Message.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Message.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Message.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Message.java Thu Sep 20 06:32:52 2007
@@ -30,9 +30,9 @@
 import org.apache.james.mime4j.MimeStreamParser;
 import org.apache.james.mime4j.decoder.Base64InputStream;
 import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
-import org.apache.james.mime4j.field.ContentTransferEncodingField;
 import org.apache.james.mime4j.field.Field;
 import org.apache.james.mime4j.field.UnstructuredField;
+import org.apache.james.mime4j.util.MimeUtil;
 
 
 /**
@@ -184,9 +184,9 @@
             expect(Entity.class);
             
             String enc = bd.getTransferEncoding();
-            if (ContentTransferEncodingField.ENC_BASE64.equals(enc)) {
+            if (MimeUtil.ENC_BASE64.equals(enc)) {
                 is = new Base64InputStream(is);
-            } else if (ContentTransferEncodingField.ENC_QUOTED_PRINTABLE.equals(enc)) {
+            } else if (MimeUtil.ENC_QUOTED_PRINTABLE.equals(enc)) {
                 is = new QuotedPrintableInputStream(is);
             }
             

Copied: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java (from r572819, james/mime4j/trunk/src/main/java/org/apache/james/mime4j/SimpleContentHandler.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java?p2=james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java&p1=james/mime4j/trunk/src/main/java/org/apache/james/mime4j/SimpleContentHandler.java&r1=572819&r2=577739&rev=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/SimpleContentHandler.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/SimpleContentHandler.java Thu Sep 20 06:32:52 2007
@@ -17,12 +17,13 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j;
+package org.apache.james.mime4j.message;
 
+import org.apache.james.mime4j.AbstractContentHandler;
+import org.apache.james.mime4j.BodyDescriptor;
 import org.apache.james.mime4j.decoder.Base64InputStream;
 import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
 import org.apache.james.mime4j.field.Field;
-import org.apache.james.mime4j.message.Header;
 import org.apache.james.mime4j.util.MimeUtil;
 
 import java.io.InputStream;

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CharsetUtil.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CharsetUtil.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CharsetUtil.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CharsetUtil.java Thu Sep 20 06:32:52 2007
@@ -1021,7 +1021,7 @@
         byte[] dummy = new byte[] {'d', 'u', 'm', 'm', 'y'};
         for (int i = 0; i < JAVA_CHARSETS.length; i++) {
             try {
-                String s = new String(dummy, JAVA_CHARSETS[i].canonical);
+                new String(dummy, JAVA_CHARSETS[i].canonical);
                 decodingSupported.add(JAVA_CHARSETS[i].canonical.toLowerCase());
             } catch (UnsupportedOperationException e) {
             } catch (UnsupportedEncodingException e) {

Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/MimeUtil.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/MimeUtil.java?rev=577739&r1=577738&r2=577739&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/MimeUtil.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/MimeUtil.java Thu Sep 20 06:32:52 2007
@@ -5,7 +5,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.james.mime4j.field.ContentTransferEncodingField;
 
 
 /**
@@ -14,6 +13,26 @@
  */
 public final class MimeUtil {
     private static final Log log = LogFactory.getLog(MimeUtil.class);
+    /**
+     * The <code>quoted-printable</code> encoding.
+     */
+    public static final String ENC_QUOTED_PRINTABLE = "quoted-printable";
+    /**
+     * The <code>binary</code> encoding.
+     */
+    public static final String ENC_BINARY = "binary";
+    /**
+     * The <code>base64</code> encoding.
+     */
+    public static final String ENC_BASE64 = "base64";
+    /**
+     * The <code>8bit</code> encoding.
+     */
+    public static final String ENC_8BIT = "8bit";
+    /**
+     * The <code>7bit</code> encoding.
+     */
+    public static final String ENC_7BIT = "7bit";
 
     private MimeUtil() {
         // this is an utility class to be used statically.
@@ -45,14 +64,14 @@
      * Returns, whether the given transfer-encoding is "base64".
      */
     public static boolean isBase64Encoding(String pTransferEncoding) {
-        return ContentTransferEncodingField.ENC_BASE64.equalsIgnoreCase(pTransferEncoding);
+        return ENC_BASE64.equalsIgnoreCase(pTransferEncoding);
     }
 
     /**
      * Returns, whether the given transfer-encoding is "quoted-printable".
      */
     public static boolean isQuotedPrintableEncoded(String pTransferEncoding) {
-        return ContentTransferEncodingField.ENC_QUOTED_PRINTABLE.equals(pTransferEncoding);
+        return ENC_QUOTED_PRINTABLE.equals(pTransferEncoding);
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org