geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jboy...@apache.org
Subject svn commit: r154546 - in geronimo/trunk/modules/activation: project.xml src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java src/resources/META-INF/mailcap
Date Sun, 20 Feb 2005 18:05:08 GMT
Author: jboynes
Date: Sun Feb 20 10:05:07 2005
New Revision: 154546

URL: http://svn.apache.org/viewcvs?view=rev&rev=154546
Log:
add support for multipart mime

Added:
    geronimo/trunk/modules/activation/src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java
Modified:
    geronimo/trunk/modules/activation/project.xml
    geronimo/trunk/modules/activation/src/resources/META-INF/mailcap

Modified: geronimo/trunk/modules/activation/project.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/activation/project.xml?view=diff&r1=154545&r2=154546
==============================================================================
--- geronimo/trunk/modules/activation/project.xml (original)
+++ geronimo/trunk/modules/activation/project.xml Sun Feb 20 10:05:07 2005
@@ -52,5 +52,11 @@
             <version>${geronimo_spec_activation_version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>geronimo-spec</groupId>
+            <artifactId>geronimo-spec-javamail</artifactId>
+            <version>${geronimo_spec_javamail_version}</version>
+        </dependency>
+
     </dependencies>
 </project>

Added: geronimo/trunk/modules/activation/src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/activation/src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java?view=auto&rev=154546
==============================================================================
--- geronimo/trunk/modules/activation/src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java
(added)
+++ geronimo/trunk/modules/activation/src/java/org/apache/geronimo/activation/handlers/MultipartHandler.java
Sun Feb 20 10:05:07 2005
@@ -0,0 +1,65 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.activation.handlers;
+
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.io.IOException;
+import java.io.OutputStream;
+import javax.activation.ActivationDataFlavor;
+import javax.activation.DataContentHandler;
+import javax.activation.DataSource;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMultipart;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class MultipartHandler implements DataContentHandler {
+    private final DataFlavor flavour;
+
+    public MultipartHandler() {
+        flavour = new ActivationDataFlavor(MimeMultipart.class, "multipart/mixed", "Multipart
MIME");
+    }
+
+    public DataFlavor[] getTransferDataFlavors() {
+        return new DataFlavor[]{flavour};
+    }
+
+    public Object getTransferData(DataFlavor df, DataSource ds) throws UnsupportedFlavorException,
IOException {
+        return flavour.equals(df) ? getContent(ds) : null;
+    }
+
+    public Object getContent(DataSource ds) throws IOException {
+        try {
+            return new MimeMultipart(ds);
+        } catch (MessagingException e) {
+            throw (IOException) new IOException(e.getMessage()).initCause(e);
+        }
+    }
+
+    public void writeTo(Object obj, String mimeType, OutputStream os) throws IOException
{
+        if (obj instanceof MimeMultipart) {
+            MimeMultipart mp = (MimeMultipart) obj;
+            try {
+                mp.writeTo(os);
+            } catch (MessagingException e) {
+                throw (IOException) new IOException(e.getMessage()).initCause(e);
+            }
+        }
+    }
+}

Modified: geronimo/trunk/modules/activation/src/resources/META-INF/mailcap
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/activation/src/resources/META-INF/mailcap?view=diff&r1=154545&r2=154546
==============================================================================
--- geronimo/trunk/modules/activation/src/resources/META-INF/mailcap (original)
+++ geronimo/trunk/modules/activation/src/resources/META-INF/mailcap Sun Feb 20 10:05:07 2005
@@ -22,4 +22,5 @@
 
 image/gif;;     x-java-content-handler=org.apache.geronimo.activation.handlers.ImageGifHandler
 image/jpeg;;    x-java-content-handler=org.apache.geronimo.activation.handlers.ImageJpegHandler
-     
\ No newline at end of file
+
+multipart/*;;   x-java-content-handler=org.apache.geronimo.activation.handlers.MultipartHandler
    
\ No newline at end of file



Mime
View raw message