GERONIMO-5414 Mail cannot handle image/jpeg
git-svn-id: https://svn.apache.org/repos/asf/geronimo/javamail/trunk@959385 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/handlers/AbstractImageHandler.java b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/handlers/AbstractImageHandler.java
index 1ac6c73..4a54c66 100644
--- a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/handlers/AbstractImageHandler.java
+++ b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/handlers/AbstractImageHandler.java
@@ -18,13 +18,14 @@
import java.awt.Graphics2D;
import java.awt.Image;
-import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
+import javax.activation.ActivationDataFlavor;
import javax.activation.DataContentHandler;
import javax.activation.DataSource;
import javax.activation.UnsupportedDataTypeException;
@@ -38,9 +39,9 @@
* @version $Rev$ $Date$
*/
public class AbstractImageHandler implements DataContentHandler {
- private final DataFlavor flavour;
+ private final ActivationDataFlavor flavour;
- public AbstractImageHandler(DataFlavor flavour) {
+ public AbstractImageHandler(ActivationDataFlavor flavour) {
this.flavour = flavour;
}
@@ -53,9 +54,9 @@
}
public Object getContent(DataSource ds) throws IOException {
- Iterator i = ImageIO.getImageReadersByMIMEType(ds.getContentType());
+ Iterator i = ImageIO.getImageReadersByMIMEType(flavour.getMimeType());
if (!i.hasNext()) {
- throw new UnsupportedDataTypeException("Unknown image type " + ds.getContentType());
+ throw new UnsupportedDataTypeException("Unknown image type " + flavour.getMimeType());
}
ImageReader reader = (ImageReader) i.next();
ImageInputStream iis = ImageIO.createImageInputStream(ds.getInputStream());
@@ -64,9 +65,9 @@
}
public void writeTo(Object obj, String mimeType, OutputStream os) throws IOException {
- Iterator i = ImageIO.getImageWritersByMIMEType(mimeType);
+ Iterator i = ImageIO.getImageWritersByMIMEType(flavour.getMimeType());
if (!i.hasNext()) {
- throw new UnsupportedDataTypeException("Unknown image type " + mimeType);
+ throw new UnsupportedDataTypeException("Unknown image type " + flavour.getMimeType());
}
ImageWriter writer = (ImageWriter) i.next();
writer.setOutput(os);
diff --git a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/resources/META-INF/mailcap b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/resources/META-INF/mailcap
index e7f94ff..2783191 100644
--- a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/resources/META-INF/mailcap
+++ b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/resources/META-INF/mailcap
@@ -21,8 +21,11 @@
text/html;; x-java-content-handler=org.apache.geronimo.javamail.handlers.TextHtmlHandler
text/xml;; x-java-content-handler=org.apache.geronimo.javamail.handlers.TextXmlHandler
-image/gif;; x-java-content-handler=org.apache.geronimo.javamail.handlers.ImageGifHandler
-image/jpeg;; x-java-content-handler=org.apache.geronimo.javamail.handlers.ImageJpegHandler
+## These are not implemented in the reference implementation because the required support
+## is not available on server JVMs.
+## image/gif;; x-java-content-handler=org.apache.geronimo.javamail.handlers.ImageGifHandler
+## image/jpeg;; x-java-content-handler=org.apache.geronimo.javamail.handlers.ImageJpegHandler
+## image/jpg;; x-java-content-handler=org.apache.geronimo.javamail.handlers.ImageJpegHandler
multipart/*;; x-java-content-handler=org.apache.geronimo.javamail.handlers.MultipartHandler
message/rfc822;; x-java-content-handler=org.apache.geronimo.javamail.handlers.RFC822MessageHandler