Author: norman
Date: Fri Jul 29 11:49:27 2011
New Revision: 1152177

URL: http://svn.apache.org/viewvc?rev=1152177&view=rev
Log:
Use mime4j 0.7. See IMAP-326

Modified:
    james/imap/trunk/pom.xml
    james/imap/trunk/processor/pom.xml
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java

Modified: james/imap/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/pom.xml?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- james/imap/trunk/pom.xml (original)
+++ james/imap/trunk/pom.xml Fri Jul 29 11:49:27 2011
@@ -426,7 +426,12 @@
       -->
       <dependency>
         <groupId>org.apache.james</groupId>
-        <artifactId>apache-mime4j</artifactId>
+        <artifactId>apache-mime4j-core</artifactId>
+        <version>${version.apache-mime4j}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-mime4j-dom</artifactId>
         <version>${version.apache-mime4j}</version>
       </dependency>
       <!-- Declare javamail as provided to be able to easily switch -->
@@ -583,7 +588,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.commons-lang>2.4</version.commons-lang>
     <version.commons-collections>3.2.1</version.commons-collections>
-    <version.apache-mime4j>0.6</version.apache-mime4j>
+    <version.apache-mime4j>0.7</version.apache-mime4j>
     <version.javax.mail>1.4.3</version.javax.mail>
     <version.activation>1.1.1</version.activation>
     <version.jmock>2.5.1</version.jmock>

Modified: james/imap/trunk/processor/pom.xml
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/pom.xml?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- james/imap/trunk/processor/pom.xml (original)
+++ james/imap/trunk/processor/pom.xml Fri Jul 29 11:49:27 2011
@@ -32,13 +32,17 @@
       <groupId>org.apache.james</groupId>
       <artifactId>apache-james-imap-message</artifactId>
     </dependency>
-      <dependency>
-        <groupId>commons-codec</groupId>
-        <artifactId>commons-codec</artifactId>
-      </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.james</groupId>
+      <artifactId>apache-mime4j-core</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.apache.james</groupId>
-      <artifactId>apache-mime4j</artifactId>
+      <artifactId>apache-mime4j-dom</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jmock</groupId>

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
 Fri Jul 29 11:49:27 2011
@@ -33,13 +33,12 @@ import org.apache.james.mailbox.Headers;
 import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MessageResult;
 import org.apache.james.mime4j.codec.EncoderUtil;
-import org.apache.james.mime4j.field.address.Address;
-import org.apache.james.mime4j.field.address.AddressList;
-import org.apache.james.mime4j.field.address.DomainList;
-import org.apache.james.mime4j.field.address.Group;
-import org.apache.james.mime4j.field.address.MailboxList;
-import org.apache.james.mime4j.field.address.parser.ParseException;
-import org.apache.james.mime4j.util.MimeUtil;
+import org.apache.james.mime4j.dom.address.Address;
+import org.apache.james.mime4j.dom.address.AddressList;
+import org.apache.james.mime4j.dom.address.DomainList;
+import org.apache.james.mime4j.dom.address.Group;
+import org.apache.james.mime4j.dom.address.MailboxList;
+import org.apache.james.mime4j.field.address.LenientAddressBuilder;
 import org.slf4j.Logger;
 
 public final class EnvelopeBuilder {
@@ -131,38 +130,34 @@ public final class EnvelopeBuilder {
                 results = null;
             } else {
 
-                try {
-                    AddressList addressList = AddressList.parse(value);
-                    final int size = addressList.size();
-                    final List<FetchResponse.Envelope.Address> addresses = new 
ArrayList<FetchResponse.Envelope.Address>(size);
-                    for (int i = 0; i < size; i++) {
-                        final Address address = addressList.get(i);
-                        if (address instanceof Group) {
-                            final Group group = (Group) address;
-                            addAddresses(group, addresses);
-
-                        } else if (address instanceof 
org.apache.james.mime4j.field.address.Mailbox) {
-                            final 
org.apache.james.mime4j.field.address.Mailbox mailbox = 
(org.apache.james.mime4j.field.address.Mailbox) address;
-                            final FetchResponse.Envelope.Address 
mailboxAddress = buildMailboxAddress(mailbox);
-                            addresses.add(mailboxAddress);
-
-                        } else {
-                            logger.warn("Unknown address type");
-                        }
-                    }
+                AddressList addressList = 
LenientAddressBuilder.DEFAULT.parseAddressList(value);
+                final int size = addressList.size();
+                final List<FetchResponse.Envelope.Address> addresses = new 
ArrayList<FetchResponse.Envelope.Address>(size);
+                for (int i = 0; i < size; i++) {
+                    final Address address = addressList.get(i);
+                    if (address instanceof Group) {
+                        final Group group = (Group) address;
+                        addAddresses(group, addresses);
+
+                    } else if (address instanceof 
org.apache.james.mime4j.dom.address.Mailbox) {
+                        final org.apache.james.mime4j.dom.address.Mailbox 
mailbox = (org.apache.james.mime4j.dom.address.Mailbox) address;
+                        final FetchResponse.Envelope.Address mailboxAddress = 
buildMailboxAddress(mailbox);
+                        addresses.add(mailboxAddress);
 
-                    results = (FetchResponse.Envelope.Address[]) 
addresses.toArray(FetchResponse.Envelope.Address.EMPTY);
-                } catch (ParseException e) {
-                    logger.debug("Unable to parse out address", e);
-                    results = null;
+                    } else {
+                        logger.warn("Unknown address type");
+                    }
                 }
 
+                results = (FetchResponse.Envelope.Address[]) 
addresses.toArray(FetchResponse.Envelope.Address.EMPTY);
+                
+
             }
         }
         return results;
     }
 
-    private FetchResponse.Envelope.Address buildMailboxAddress(final 
org.apache.james.mime4j.field.address.Mailbox mailbox) {
+    private FetchResponse.Envelope.Address buildMailboxAddress(final 
org.apache.james.mime4j.dom.address.Mailbox mailbox) {
         // Encode the mailbox name
         // See IMAP-266
         String name = mailbox.getName();
@@ -189,7 +184,7 @@ public final class EnvelopeBuilder {
         addresses.add(start);
         final MailboxList mailboxList = group.getMailboxes();
         for (int i = 0; i < mailboxList.size(); i++) {
-            final org.apache.james.mime4j.field.address.Mailbox mailbox = 
mailboxList.get(i);
+            final org.apache.james.mime4j.dom.address.Mailbox mailbox = 
mailboxList.get(i);
             final FetchResponse.Envelope.Address address = 
buildMailboxAddress(mailbox);
             addresses.add(address);
         }

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
 Fri Jul 29 11:49:27 2011
@@ -50,7 +50,6 @@ import org.apache.james.mailbox.MessageR
 import org.apache.james.mailbox.MessageResult;
 import org.apache.james.mailbox.MessageResult.FetchGroup;
 import org.apache.james.mailbox.MessageResult.MimePath;
-import org.apache.james.mime4j.field.address.parser.ParseException;
 
 public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> {
 
@@ -167,10 +166,6 @@ public class FetchProcessor extends Abst
                 try {
                     final FetchResponse response = builder.build(fetch, 
result, mailbox, session, useUids);
                     responder.respond(response);
-                } catch (ParseException e) {
-                    // we can't for whatever reason parse the message so
-                    // just skip it and log it to debug
-                    session.getLog().debug("Unable to parse message with uid " 
+ result.getUid(), e);
                 } catch (MessageRangeException e) {
                     // we can't for whatever reason find the message so
                     // just skip it and log it to debug

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
 Fri Jul 29 11:49:27 2011
@@ -44,7 +44,6 @@ import org.apache.james.mailbox.MessageR
 import org.apache.james.mailbox.MessageRangeException;
 import org.apache.james.mailbox.MessageResult;
 import org.apache.james.mailbox.MimeDescriptor;
-import org.apache.james.mime4j.field.address.parser.ParseException;
 
 public final class FetchResponseBuilder {
 
@@ -105,7 +104,7 @@ public final class FetchResponseBuilder 
         return result;
     }
 
-    public FetchResponse build(FetchData fetch, MessageResult result, 
MessageManager mailbox, ImapSession session, boolean useUids) throws 
MessageRangeException, ParseException, MailboxException {
+    public FetchResponse build(FetchData fetch, MessageResult result, 
MessageManager mailbox, ImapSession session, boolean useUids) throws 
MessageRangeException, MailboxException {
         final SelectedMailbox selected = session.getSelected();
         final long resultUid = result.getUid();
         final int resultMsn = selected.msn(resultUid);
@@ -194,7 +193,7 @@ public final class FetchResponseBuilder 
         return build();
     }
 
-    private FetchResponse.Envelope buildEnvelope(final MessageResult result) 
throws MailboxException, ParseException {
+    private FetchResponse.Envelope buildEnvelope(final MessageResult result) 
throws MailboxException {
         return envelopeBuilder.buildEnvelope(result);
     }
 

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java?rev=1152177&r1=1152176&r2=1152177&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
 Fri Jul 29 11:49:27 2011
@@ -32,7 +32,6 @@ import org.apache.james.imap.message.res
 import org.apache.james.imap.message.response.FetchResponse.Structure;
 import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MimeDescriptor;
-import org.apache.james.mime4j.field.address.parser.ParseException;
 
 final class MimeDescriptorStructure implements FetchResponse.Structure {
 
@@ -56,7 +55,7 @@ final class MimeDescriptorStructure impl
 
     private final Envelope envelope;
 
-    public MimeDescriptorStructure(final boolean allowExtensions, 
MimeDescriptor descriptor, EnvelopeBuilder builder) throws MailboxException, 
ParseException {
+    public MimeDescriptorStructure(final boolean allowExtensions, 
MimeDescriptor descriptor, EnvelopeBuilder builder) throws MailboxException {
         super();
         this.descriptor = descriptor;
         parameters = createParameters(descriptor);
@@ -79,7 +78,7 @@ final class MimeDescriptorStructure impl
         }
     }
 
-    private static List<Structure> createParts(final boolean allowExtensions, 
final MimeDescriptor descriptor, final EnvelopeBuilder builder) throws 
MailboxException, ParseException {
+    private static List<Structure> createParts(final boolean allowExtensions, 
final MimeDescriptor descriptor, final EnvelopeBuilder builder) throws 
MailboxException {
         final List<Structure> results = new ArrayList<Structure>();
         for (Iterator<MimeDescriptor> it = descriptor.parts(); it.hasNext();) {
             final MimeDescriptor partDescriptor = it.next();



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

Reply via email to