Andreas Veithen created AXIOM-418:
-------------------------------------
Summary: Remove the dependency on JavaMail
Key: AXIOM-418
URL: https://issues.apache.org/jira/browse/AXIOM-418
Project: Axiom
Issue Type: Task
Components: API
Affects Versions: 1.2.13
Reporter: Andreas Veithen
Priority: Minor
In earlier versions of Axiom, MIME processing was implemented using JavaMail.
In Axiom 1.2.13 we use MIME4J to parse MIME messages and we have our own code
to write MIME messages (see org.apache.axiom.mime.MultipartWriter). This means
that we should be able to get rid of the JavaMail dependency. Currently,
JavaMail is still used in the following places:
1. There are several places where javax.mail.internet.ContentType is used to
parse MIME types. That needs to be replaced by something equivalent, maybe
javax.activation.MimeType. Note that javax.mail.internet.ContentType is not
used in any public API.
2. org.apache.axiom.attachments.lifecycle.impl.FileAccessor has several methods
that declare javax.mail.MessagingException, although that exception is never
thrown. Removing that exception would not break binary compatibility, but may
break source code compatibility. However, it is very unlikely that any existing
application code is using or extending the FileAccessor class (it is an SPI
that is used by the Attachments class).
3. The classes in org.apache.axiom.mime.impl.javamail use JavaMail. They
provide an implementation of the MultipartWriter API. However, it is not used
by default (the default implementation is in org.apache.axiom.mime.impl.axiom).
It only exists to allow users to switch back to JavaMail based MIME
serialization in case issues are discovered in the
org.apache.axiom.mime.impl.axiom implementation. Since no issues have ever been
reported, we could move that implementation to axiom-compat so that it remains
available but is no longer included in axiom-api.
4. org.apache.axiom.om.util.TextHelper has several methods that declare
javax.mail.MessagingException. Probably TextHelper can be deprecated and moved
to axiom-compat.
5. DataSourceUtils#getSize(DataSource) recognizes
javax.mail.util.ByteArrayDataSource. The code should be changed to use
reflection so that it works if JavaMail is not present.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]