You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/12/25 17:54:38 UTC
(commons-email) 01/03: Split out existing Maven into a multi-module project
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-email.git
commit 5481183476c1b1abf998f82bfbe95fd95db33c96
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Dec 25 11:14:58 2023 -0500
Split out existing Maven into a multi-module project
Bump to 2.0.0-M1-SNAPSHOT
---
commons-email-javax/pom.xml | 112 +++
.../src}/conf/spotbugs-exclude-filter.xml | 10 +-
.../commons/mail2/javax}/DataSourceResolver.java | 2 +-
.../commons/mail2/javax}/DefaultAuthenticator.java | 2 +-
.../org/apache/commons/mail2/javax}/Email.java | 4 +-
.../commons/mail2/javax}/EmailAttachment.java | 2 +-
.../commons/mail2/javax}/EmailConstants.java | 2 +-
.../commons/mail2/javax}/EmailException.java | 2 +-
.../apache/commons/mail2/javax}/EmailUtils.java | 4 +-
.../org/apache/commons/mail2/javax}/HtmlEmail.java | 2 +-
.../commons/mail2/javax}/ImageHtmlEmail.java | 4 +-
.../commons/mail2/javax}/MultiPartEmail.java | 4 +-
.../apache/commons/mail2/javax}/SimpleEmail.java | 2 +-
.../javax}/activation/InputStreamDataSource.java | 2 +-
.../mail2/javax}/activation/PathDataSource.java | 2 +-
.../mail2/javax}/activation/package-info.java | 2 +-
.../apache/commons/mail2/javax}/package-info.java | 2 +-
.../javax}/resolver/DataSourceBaseResolver.java | 4 +-
.../resolver/DataSourceClassPathResolver.java | 2 +-
.../resolver/DataSourceCompositeResolver.java | 4 +-
.../javax}/resolver/DataSourceFileResolver.java | 2 +-
.../javax}/resolver/DataSourcePathResolver.java | 4 +-
.../javax}/resolver/DataSourceUrlResolver.java | 2 +-
.../mail2/javax}/resolver/package-info.java | 2 +-
.../javax}/util/IDNEmailAddressConverter.java | 2 +-
.../mail2/javax}/util/MimeMessageParser.java | 4 +-
.../mail2/javax}/util/MimeMessageUtils.java | 2 +-
.../commons/mail2/javax}/util/package-info.java | 2 +-
.../src}/main/resources/META-INF/mime.types | 0
.../commons/mail2/javax}/AbstractEmailTest.java | 5 +-
.../mail2/javax}/DefaultAuthenticatorTest.java | 3 +-
.../commons/mail2/javax}/EmailAttachmentTest.java | 3 +-
.../commons/mail2/javax}/EmailConstantsTest.java | 3 +-
.../apache/commons/mail2/javax}/EmailLiveTest.java | 15 +-
.../org/apache/commons/mail2/javax}/EmailTest.java | 7 +-
.../commons/mail2/javax}/EmailUtilsTest.java | 3 +-
.../apache/commons/mail2/javax}/HtmlEmailTest.java | 13 +-
.../commons/mail2/javax}/ImageHtmlEmailTest.java | 17 +-
.../mail2/javax}/InputStreamDataSourceTest.java | 4 +-
.../commons/mail2/javax}/InvalidAddressTest.java | 5 +-
.../mail2/javax}/InvalidInternetAddressTest.java | 2 +-
.../commons/mail2/javax}/MultiPartEmailTest.java | 8 +-
.../mail2/javax}/SendWithAttachmentsTest.java | 9 +-
.../commons/mail2/javax}/SimpleEmailTest.java | 7 +-
.../mail2/javax}/mocks/MockEmailConcrete.java | 4 +-
.../mail2/javax}/mocks/MockHtmlEmailConcrete.java | 4 +-
.../javax}/mocks/MockImageHtmlEmailConcrete.java | 4 +-
.../javax}/mocks/MockMultiPartEmailConcrete.java | 4 +-
.../mail2/javax}/mocks/MockSimpleEmail.java | 4 +-
.../commons/mail2/javax}/mocks/package-info.java | 2 +-
.../resolver/AbstractDataSourceResolverTest.java | 2 +-
.../resolver/DataSourceClassPathResolverTest.java | 5 +-
.../resolver/DataSourceCompositeResolverTest.java | 7 +-
.../resolver/DataSourceFileResolverTest.java | 5 +-
.../resolver/DataSourcePathResolverTest.java | 5 +-
.../javax}/resolver/DataSourceUrlResolverTest.java | 5 +-
.../mail2/javax}/settings/EmailConfiguration.java | 4 +-
.../mail2/javax}/settings/package-info.java | 2 +-
.../javax}/util/IDNEmailAddressConverterTest.java | 3 +-
.../mail2/javax}/util/MimeMessageParserTest.java | 6 +-
.../test/resources/attachments/autoloadertest.html | 0
.../test/resources/attachments/classpathtest.html | 0
.../resources/attachments/download_email.cgi.html | 0
.../src}/test/resources/attachments/logo.pdf | Bin
.../src}/test/resources/eml/attachment-only.eml | 0
.../eml/html-attachment-content-disposition.eml | 0
.../eml/html-attachment-encoded-filename.eml | 0
.../src}/test/resources/eml/html-attachment.eml | 0
.../src}/test/resources/eml/multipart-report.eml | 0
.../eml/multipart-text-attachment-only.eml | 0
.../resources/eml/multipart-text-attachment.eml | 0
.../eml/outofmemory-no-header-seperation.eml | 0
.../src}/test/resources/eml/simple-reply.eml | 0
.../src}/test/resources/eml/simple.eml | 0
.../src}/test/resources/html/www.apache.org.html | 0
.../src}/test/resources/images/asf_logo_wide.gif | Bin
.../src}/test/resources/images/contentTypeTest.gif | Bin
.../src}/test/resources/images/contentTypeTest.jpg | Bin
.../src}/test/resources/images/contentTypeTest.png | Bin
.../test/resources/images/logos/maven-feather.png | Bin
.../org.mockito.plugins.MockMaker | 0
pom.xml | 1023 ++++++++++----------
.../apache/commons/mail/ByteArrayDataSource.java | 209 ----
83 files changed, 765 insertions(+), 827 deletions(-)
diff --git a/commons-email-javax/pom.xml b/commons-email-javax/pom.xml
new file mode 100644
index 0000000..12966cd
--- /dev/null
+++ b/commons-email-javax/pom.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-email2-parent</artifactId>
+ <version>2.0.0-M1-SNAPSHOT</version>
+ <relativePath>../</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>commons-email2-javax</artifactId>
+ <name>Apache Commons Email for Javax</name>
+
+ <inceptionYear>2001</inceptionYear>
+ <description>Apache Commons Email provides an API for sending email, simplifying the JavaMail Javax API.</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.mail</groupId>
+ <artifactId>jakarta.mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.subethamail</groupId>
+ <artifactId>subethasmtp</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <commons.parent.dir>${basedir}/..</commons.parent.dir>
+ </properties>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ </resource>
+ <!-- include NOTICE/LICENSE in generated jar -->
+ <resource>
+ <directory>${commons.parent.dir}</directory>
+ <targetPath>META-INF</targetPath>
+ <includes>
+ <include>NOTICE.txt</include>
+ <include>LICENSE.txt</include>
+ </includes>
+ </resource>
+ </resources>
+
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <!-- include NOTICE/LICENSE in generated test jar -->
+ <testResource>
+ <directory>${commons.parent.dir}</directory>
+ <targetPath>META-INF</targetPath>
+ <includes>
+ <include>NOTICE.txt</include>
+ <include>LICENSE.txt</include>
+ </includes>
+ </testResource>
+ </testResources>
+ </build>
+
+</project>
diff --git a/src/conf/spotbugs-exclude-filter.xml b/commons-email-javax/src/conf/spotbugs-exclude-filter.xml
similarity index 80%
rename from src/conf/spotbugs-exclude-filter.xml
rename to commons-email-javax/src/conf/spotbugs-exclude-filter.xml
index 4bc0ee3..918b341 100644
--- a/src/conf/spotbugs-exclude-filter.xml
+++ b/commons-email-javax/src/conf/spotbugs-exclude-filter.xml
@@ -42,15 +42,15 @@
</Match>
<!-- False positives in Java 11+
- Error: Load of known null value in org.apache.commons.mail.resolver.DataSourceClassPathResolver.resolve(String, boolean)
- [org.apache.commons.mail.resolver.DataSourceClassPathResolver]
+ Error: Load of known null value in org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver.resolve(String, boolean)
+ [org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver]
At DataSourceClassPathResolver.java:[line 115] NP_LOAD_OF_KNOWN_NULL_VALUE
- Error: Redundant nullcheck of inputStream which is known to be null in org.apache.commons.mail.resolver.DataSourceClassPathResolver.resolve(String, boolean)
- [org.apache.commons.mail.resolver.DataSourceClassPathResolver]
+ Error: Redundant nullcheck of inputStream which is known to be null in org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver.resolve(String, boolean)
+ [org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver]
Redundant null check at DataSourceClassPathResolver.java:[line 115] RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE
-->
<Match>
- <Class name="org.apache.commons.mail.resolver.DataSourceClassPathResolver" />
+ <Class name="org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver" />
<Method name="resolve" params="java.lang.String, boolean" returns="javax.activation.DataSource"/>
<Or>
<Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE" />
diff --git a/src/main/java/org/apache/commons/mail/DataSourceResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DataSourceResolver.java
similarity index 97%
rename from src/main/java/org/apache/commons/mail/DataSourceResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DataSourceResolver.java
index c76f136..16fd84f 100644
--- a/src/main/java/org/apache/commons/mail/DataSourceResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DataSourceResolver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.IOException;
diff --git a/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DefaultAuthenticator.java
similarity index 97%
rename from src/main/java/org/apache/commons/mail/DefaultAuthenticator.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DefaultAuthenticator.java
index 6afc9f4..5eacdd7 100644
--- a/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/DefaultAuthenticator.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
diff --git a/src/main/java/org/apache/commons/mail/Email.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/Email.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/Email.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/Email.java
index 3bd3395..88640aa 100644
--- a/src/main/java/org/apache/commons/mail/Email.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/Email.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
@@ -43,7 +43,7 @@ import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.commons.mail.util.IDNEmailAddressConverter;
+import org.apache.commons.mail2.javax.util.IDNEmailAddressConverter;
/**
* The abstract class for all email messages. This class sets the sender's email, name, receiver's email, name, subject, and send date.
diff --git a/src/main/java/org/apache/commons/mail/EmailAttachment.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailAttachment.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/EmailAttachment.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailAttachment.java
index 5cdcdef..e992deb 100644
--- a/src/main/java/org/apache/commons/mail/EmailAttachment.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailAttachment.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.net.URL;
diff --git a/src/main/java/org/apache/commons/mail/EmailConstants.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailConstants.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/EmailConstants.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailConstants.java
index c12dd49..58db1bd 100644
--- a/src/main/java/org/apache/commons/mail/EmailConstants.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailConstants.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
diff --git a/src/main/java/org/apache/commons/mail/EmailException.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailException.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/EmailException.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailException.java
index 1ac9ef7..7d59198 100644
--- a/src/main/java/org/apache/commons/mail/EmailException.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
diff --git a/src/main/java/org/apache/commons/mail/EmailUtils.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailUtils.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/EmailUtils.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailUtils.java
index 0fc10e3..3559701 100644
--- a/src/main/java/org/apache/commons/mail/EmailUtils.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/EmailUtils.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.File;
import java.io.IOException;
@@ -29,7 +29,7 @@ import java.util.Random;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.commons.mail.util.MimeMessageUtils;
+import org.apache.commons.mail2.javax.util.MimeMessageUtils;
/**
* Utility methods used by commons-email.
diff --git a/src/main/java/org/apache/commons/mail/HtmlEmail.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/HtmlEmail.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/HtmlEmail.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/HtmlEmail.java
index c293a1f..9e44f25 100644
--- a/src/main/java/org/apache/commons/mail/HtmlEmail.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/HtmlEmail.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/ImageHtmlEmail.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/ImageHtmlEmail.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/ImageHtmlEmail.java
index 18dd1d8..9728867 100644
--- a/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/ImageHtmlEmail.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.IOException;
import java.util.HashMap;
@@ -73,7 +73,7 @@ public class ImageHtmlEmail extends HtmlEmail {
/**
* Does the work of actually building the MimeMessage.
*
- * @see org.apache.commons.mail.HtmlEmail#buildMimeMessage()
+ * @see org.apache.commons.mail2.javax.HtmlEmail#buildMimeMessage()
* @throws EmailException building the MimeMessage failed
*/
@Override
diff --git a/src/main/java/org/apache/commons/mail/MultiPartEmail.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/MultiPartEmail.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/MultiPartEmail.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/MultiPartEmail.java
index 482ad4e..4120edf 100644
--- a/src/main/java/org/apache/commons/mail/MultiPartEmail.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/MultiPartEmail.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.File;
import java.io.IOException;
@@ -38,7 +38,7 @@ import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimePart;
import javax.mail.internet.MimeUtility;
-import org.apache.commons.mail.activation.PathDataSource;
+import org.apache.commons.mail2.javax.activation.PathDataSource;
/**
* A multipart email.
diff --git a/src/main/java/org/apache/commons/mail/SimpleEmail.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/SimpleEmail.java
similarity index 97%
rename from src/main/java/org/apache/commons/mail/SimpleEmail.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/SimpleEmail.java
index 79e0d6d..023fe58 100644
--- a/src/main/java/org/apache/commons/mail/SimpleEmail.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/SimpleEmail.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
/**
* Sends simple Internet email messages without attachments.
diff --git a/src/main/java/org/apache/commons/mail/activation/InputStreamDataSource.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/InputStreamDataSource.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/activation/InputStreamDataSource.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/InputStreamDataSource.java
index f8f2b78..189ff38 100644
--- a/src/main/java/org/apache/commons/mail/activation/InputStreamDataSource.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/InputStreamDataSource.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.mail.activation;
+package org.apache.commons.mail2.javax.activation;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/main/java/org/apache/commons/mail/activation/PathDataSource.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/PathDataSource.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/activation/PathDataSource.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/PathDataSource.java
index bb425b1..6174b4b 100644
--- a/src/main/java/org/apache/commons/mail/activation/PathDataSource.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/PathDataSource.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.commons.mail.activation;
+package org.apache.commons.mail2.javax.activation;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/main/java/org/apache/commons/mail/activation/package-info.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/package-info.java
similarity index 94%
rename from src/main/java/org/apache/commons/mail/activation/package-info.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/package-info.java
index a907170..8da05a2 100644
--- a/src/main/java/org/apache/commons/mail/activation/package-info.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/activation/package-info.java
@@ -18,4 +18,4 @@
/**
* Contains JavaBeans Activation Framework implementations.
*/
-package org.apache.commons.mail.activation;
+package org.apache.commons.mail2.javax.activation;
diff --git a/src/main/java/org/apache/commons/mail/package-info.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/package-info.java
similarity index 96%
rename from src/main/java/org/apache/commons/mail/package-info.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/package-info.java
index 8bac3d7..6097b1c 100644
--- a/src/main/java/org/apache/commons/mail/package-info.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/package-info.java
@@ -17,4 +17,4 @@
/**
* Commons-Email aims to provide a API for sending email. It is built on top of the Java Mail API, which it aims to simplify. All help is gratefully received.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceBaseResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceBaseResolver.java
similarity index 95%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourceBaseResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceBaseResolver.java
index d408ae1..bc782b2 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceBaseResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceBaseResolver.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
/**
* Abstract class for resolvers.
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolver.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolver.java
index 4aaea98..ab0a46a 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolver.java
similarity index 96%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolver.java
index 6574d81..a08599c 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolver.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.IOException;
import javax.activation.DataSource;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
/**
* A composite data source resolver. It allows to resolve data sources coming from multiple locations such as the classpath, the file system or an URL.
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolver.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolver.java
index 218f478..2f993d6 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourcePathResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolver.java
similarity index 96%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourcePathResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolver.java
index c179df9..eac564e 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourcePathResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.IOException;
import java.nio.file.Files;
@@ -25,7 +25,7 @@ import java.nio.file.Paths;
import javax.activation.DataSource;
import javax.activation.FileTypeMap;
-import org.apache.commons.mail.activation.PathDataSource;
+import org.apache.commons.mail2.javax.activation.PathDataSource;
/**
* Creates a {@link DataSource} based on a {@link Path}. The implementation also resolves file resources.
diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolver.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolver.java
index f9f1d04..6721d13 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolver.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/main/java/org/apache/commons/mail/resolver/package-info.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/package-info.java
similarity index 95%
rename from src/main/java/org/apache/commons/mail/resolver/package-info.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/package-info.java
index 05b7fec..633b4d0 100644
--- a/src/main/java/org/apache/commons/mail/resolver/package-info.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/resolver/package-info.java
@@ -22,4 +22,4 @@
* <li>URL</li>
* </ul>
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
diff --git a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverter.java
similarity index 98%
rename from src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverter.java
index f71d7c4..870d551 100644
--- a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverter.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
import java.net.IDN;
import java.util.function.Function;
diff --git a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageParser.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/util/MimeMessageParser.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageParser.java
index ab0c1ac..ad5964d 100644
--- a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageParser.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -40,7 +40,7 @@ import javax.mail.internet.MimePart;
import javax.mail.internet.MimeUtility;
import javax.mail.internet.ParseException;
-import org.apache.commons.mail.activation.InputStreamDataSource;
+import org.apache.commons.mail2.javax.activation.InputStreamDataSource;
/**
* Parses a MimeMessage and stores the individual parts such a plain text, HTML text and attachments.
diff --git a/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageUtils.java
similarity index 99%
rename from src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageUtils.java
index 5a5abcb..1dc6155 100644
--- a/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/MimeMessageUtils.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
import java.io.File;
import java.io.FileInputStream;
diff --git a/src/main/java/org/apache/commons/mail/util/package-info.java b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/package-info.java
similarity index 95%
rename from src/main/java/org/apache/commons/mail/util/package-info.java
rename to commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/package-info.java
index becfac1..9c49feb 100644
--- a/src/main/java/org/apache/commons/mail/util/package-info.java
+++ b/commons-email-javax/src/main/java/org/apache/commons/mail2/javax/util/package-info.java
@@ -17,4 +17,4 @@
/**
* This package provides some utility classes.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
diff --git a/src/main/resources/META-INF/mime.types b/commons-email-javax/src/main/resources/META-INF/mime.types
similarity index 100%
rename from src/main/resources/META-INF/mime.types
rename to commons-email-javax/src/main/resources/META-INF/mime.types
diff --git a/src/test/java/org/apache/commons/mail/AbstractEmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/AbstractEmailTest.java
similarity index 99%
rename from src/test/java/org/apache/commons/mail/AbstractEmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/AbstractEmailTest.java
index 111859d..47e5f79 100644
--- a/src/test/java/org/apache/commons/mail/AbstractEmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/AbstractEmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -37,7 +37,8 @@ import javax.mail.Multipart;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
-import org.apache.commons.mail.settings.EmailConfiguration;
+import org.apache.commons.mail2.javax.EmailUtils;
+import org.apache.commons.mail2.javax.settings.EmailConfiguration;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.mockito.Mockito;
diff --git a/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/DefaultAuthenticatorTest.java
similarity index 94%
rename from src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/DefaultAuthenticatorTest.java
index 51783cf..14646c2 100644
--- a/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/DefaultAuthenticatorTest.java
@@ -14,13 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import javax.mail.PasswordAuthentication;
+import org.apache.commons.mail2.javax.DefaultAuthenticator;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/EmailAttachmentTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailAttachmentTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/EmailAttachmentTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailAttachmentTest.java
index ac24db3..d2eba59 100644
--- a/src/test/java/org/apache/commons/mail/EmailAttachmentTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailAttachmentTest.java
@@ -14,12 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.net.URL;
+import org.apache.commons.mail2.javax.EmailAttachment;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/EmailConstantsTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailConstantsTest.java
similarity index 92%
rename from src/test/java/org/apache/commons/mail/EmailConstantsTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailConstantsTest.java
index a4bb4d4..564085e 100644
--- a/src/test/java/org/apache/commons/mail/EmailConstantsTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailConstantsTest.java
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.time.Duration;
+import org.apache.commons.mail2.javax.EmailConstants;
import org.junit.jupiter.api.Test;
public class EmailConstantsTest {
diff --git a/src/test/java/org/apache/commons/mail/EmailLiveTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailLiveTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/EmailLiveTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailLiveTest.java
index 8715bc7..317e18b 100644
--- a/src/test/java/org/apache/commons/mail/EmailLiveTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailLiveTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -33,8 +33,17 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.mail.resolver.DataSourceUrlResolver;
-import org.apache.commons.mail.settings.EmailConfiguration;
+import org.apache.commons.mail2.javax.DefaultAuthenticator;
+import org.apache.commons.mail2.javax.Email;
+import org.apache.commons.mail2.javax.EmailAttachment;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.EmailUtils;
+import org.apache.commons.mail2.javax.HtmlEmail;
+import org.apache.commons.mail2.javax.ImageHtmlEmail;
+import org.apache.commons.mail2.javax.MultiPartEmail;
+import org.apache.commons.mail2.javax.SimpleEmail;
+import org.apache.commons.mail2.javax.resolver.DataSourceUrlResolver;
+import org.apache.commons.mail2.javax.settings.EmailConfiguration;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/EmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailTest.java
similarity index 99%
rename from src/test/java/org/apache/commons/mail/EmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailTest.java
index b459406..60ae314 100644
--- a/src/test/java/org/apache/commons/mail/EmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -45,7 +45,10 @@ import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.ParseException;
-import org.apache.commons.mail.mocks.MockEmailConcrete;
+import org.apache.commons.mail2.javax.DefaultAuthenticator;
+import org.apache.commons.mail2.javax.EmailConstants;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.mocks.MockEmailConcrete;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/EmailUtilsTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailUtilsTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/EmailUtilsTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailUtilsTest.java
index 71a5159..b82c4e2 100644
--- a/src/test/java/org/apache/commons/mail/EmailUtilsTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/EmailUtilsTest.java
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.apache.commons.mail2.javax.EmailUtils;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/HtmlEmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/HtmlEmailTest.java
similarity index 97%
rename from src/test/java/org/apache/commons/mail/HtmlEmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/HtmlEmailTest.java
index 3d011dc..f35dc29 100644
--- a/src/test/java/org/apache/commons/mail/HtmlEmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/HtmlEmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -32,9 +32,14 @@ import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.internet.MimeMessage;
-import org.apache.commons.mail.mocks.MockHtmlEmailConcrete;
-import org.apache.commons.mail.settings.EmailConfiguration;
-import org.apache.commons.mail.util.MimeMessageParser;
+import org.apache.commons.mail2.javax.EmailAttachment;
+import org.apache.commons.mail2.javax.EmailConstants;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.EmailUtils;
+import org.apache.commons.mail2.javax.HtmlEmail;
+import org.apache.commons.mail2.javax.mocks.MockHtmlEmailConcrete;
+import org.apache.commons.mail2.javax.settings.EmailConfiguration;
+import org.apache.commons.mail2.javax.util.MimeMessageParser;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/ImageHtmlEmailTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/ImageHtmlEmailTest.java
index d2227cd..c323ebe 100644
--- a/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/ImageHtmlEmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -36,12 +36,15 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.mail.mocks.MockImageHtmlEmailConcrete;
-import org.apache.commons.mail.resolver.DataSourceClassPathResolver;
-import org.apache.commons.mail.resolver.DataSourceCompositeResolver;
-import org.apache.commons.mail.resolver.DataSourceUrlResolver;
-import org.apache.commons.mail.util.MimeMessageParser;
-import org.apache.commons.mail.util.MimeMessageUtils;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.ImageHtmlEmail;
+import org.apache.commons.mail2.javax.mocks.MockImageHtmlEmailConcrete;
+import org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceCompositeResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceUrlResolver;
+import org.apache.commons.mail2.javax.util.MimeMessageParser;
+import org.apache.commons.mail2.javax.util.MimeMessageUtils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/InputStreamDataSourceTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InputStreamDataSourceTest.java
similarity index 95%
rename from src/test/java/org/apache/commons/mail/InputStreamDataSourceTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InputStreamDataSourceTest.java
index 939b99f..7a4f230 100644
--- a/src/test/java/org/apache/commons/mail/InputStreamDataSourceTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InputStreamDataSourceTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -24,7 +24,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
-import org.apache.commons.mail.activation.InputStreamDataSource;
+import org.apache.commons.mail2.javax.activation.InputStreamDataSource;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/InvalidAddressTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidAddressTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/InvalidAddressTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidAddressTest.java
index e82bd2e..cbc845f 100644
--- a/src/test/java/org/apache/commons/mail/InvalidAddressTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidAddressTest.java
@@ -14,13 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.util.stream.IntStream;
-import org.apache.commons.mail.mocks.MockEmailConcrete;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.mocks.MockEmailConcrete;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidInternetAddressTest.java
similarity index 99%
rename from src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidInternetAddressTest.java
index a36412f..0b83d85 100644
--- a/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/InvalidInternetAddressTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertThrows;
diff --git a/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/MultiPartEmailTest.java
similarity index 97%
rename from src/test/java/org/apache/commons/mail/MultiPartEmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/MultiPartEmailTest.java
index a00cf4b..8d63823 100644
--- a/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/MultiPartEmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -32,7 +32,11 @@ import javax.activation.FileDataSource;
import javax.activation.URLDataSource;
import javax.mail.internet.MimeMultipart;
-import org.apache.commons.mail.mocks.MockMultiPartEmailConcrete;
+import org.apache.commons.mail2.javax.EmailAttachment;
+import org.apache.commons.mail2.javax.EmailConstants;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.EmailUtils;
+import org.apache.commons.mail2.javax.mocks.MockMultiPartEmailConcrete;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SendWithAttachmentsTest.java
similarity index 93%
rename from src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SendWithAttachmentsTest.java
index fb7a950..8f78008 100644
--- a/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SendWithAttachmentsTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import java.io.File;
import java.io.IOException;
@@ -22,8 +22,11 @@ import java.net.URL;
import javax.mail.internet.MimeUtility;
-import org.apache.commons.mail.mocks.MockHtmlEmailConcrete;
-import org.apache.commons.mail.settings.EmailConfiguration;
+import org.apache.commons.mail2.javax.EmailAttachment;
+import org.apache.commons.mail2.javax.EmailConstants;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.mocks.MockHtmlEmailConcrete;
+import org.apache.commons.mail2.javax.settings.EmailConfiguration;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/SimpleEmailTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SimpleEmailTest.java
similarity index 94%
rename from src/test/java/org/apache/commons/mail/SimpleEmailTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SimpleEmailTest.java
index 95c1fb9..48ac265 100644
--- a/src/test/java/org/apache/commons/mail/SimpleEmailTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/SimpleEmailTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail;
+package org.apache.commons.mail2.javax;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -23,7 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import org.apache.commons.mail.mocks.MockSimpleEmail;
+import org.apache.commons.mail2.javax.EmailConstants;
+import org.apache.commons.mail2.javax.EmailException;
+import org.apache.commons.mail2.javax.EmailUtils;
+import org.apache.commons.mail2.javax.mocks.MockSimpleEmail;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockEmailConcrete.java
similarity index 93%
rename from src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockEmailConcrete.java
index 7626894..39dd063 100644
--- a/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockEmailConcrete.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
-import org.apache.commons.mail.Email;
+import org.apache.commons.mail2.javax.Email;
/**
* Concrete Implementation on the Abstract Email Class (used to allow testing only). Supplies getters for methods that normally only have setters.
diff --git a/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockHtmlEmailConcrete.java
similarity index 93%
rename from src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockHtmlEmailConcrete.java
index de2d782..27b81a9 100644
--- a/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockHtmlEmailConcrete.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
import java.io.IOException;
import javax.mail.MessagingException;
-import org.apache.commons.mail.HtmlEmail;
+import org.apache.commons.mail2.javax.HtmlEmail;
/**
* Extension of the HtmlEmail Class (used to allow testing only)
diff --git a/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockImageHtmlEmailConcrete.java
similarity index 92%
rename from src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockImageHtmlEmailConcrete.java
index 24ad5e6..ece2d61 100644
--- a/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockImageHtmlEmailConcrete.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
import java.io.IOException;
import javax.mail.MessagingException;
-import org.apache.commons.mail.ImageHtmlEmail;
+import org.apache.commons.mail2.javax.ImageHtmlEmail;
/**
* Extension of the ImageHtmlEmail Class (used to allow testing only)
diff --git a/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockMultiPartEmailConcrete.java
similarity index 93%
rename from src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockMultiPartEmailConcrete.java
index 600f8d6..0bfe971 100644
--- a/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockMultiPartEmailConcrete.java
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
import java.io.IOException;
import javax.mail.MessagingException;
-import org.apache.commons.mail.MultiPartEmail;
+import org.apache.commons.mail2.javax.MultiPartEmail;
/**
* Extension of MultiPartEmail Class (used to allow testing only)
diff --git a/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockSimpleEmail.java
similarity index 92%
rename from src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockSimpleEmail.java
index 2b399c3..2f740c3 100644
--- a/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/MockSimpleEmail.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
-import org.apache.commons.mail.SimpleEmail;
+import org.apache.commons.mail2.javax.SimpleEmail;
/**
* Extension of SimpleEmail Class (used to allow testing only)
diff --git a/src/test/java/org/apache/commons/mail/mocks/package-info.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/package-info.java
similarity index 95%
rename from src/test/java/org/apache/commons/mail/mocks/package-info.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/package-info.java
index e3ac848..e9a7152 100644
--- a/src/test/java/org/apache/commons/mail/mocks/package-info.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/mocks/package-info.java
@@ -18,4 +18,4 @@
/**
* This package provides mock email implementations for testing.
*/
-package org.apache.commons.mail.mocks;
+package org.apache.commons.mail2.javax.mocks;
diff --git a/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/AbstractDataSourceResolverTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/AbstractDataSourceResolverTest.java
index b18e3a2..df46084 100644
--- a/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/AbstractDataSourceResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/test/java/org/apache/commons/mail/resolver/DataSourceClassPathResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolverTest.java
similarity index 93%
rename from src/test/java/org/apache/commons/mail/resolver/DataSourceClassPathResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolverTest.java
index 7ac8e2d..a5c42ca 100644
--- a/src/test/java/org/apache/commons/mail/resolver/DataSourceClassPathResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceClassPathResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -23,7 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/resolver/DataSourceCompositeResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolverTest.java
similarity index 90%
rename from src/test/java/org/apache/commons/mail/resolver/DataSourceCompositeResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolverTest.java
index fc3d08d..a995c61 100644
--- a/src/test/java/org/apache/commons/mail/resolver/DataSourceCompositeResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceCompositeResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -23,7 +23,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.net.URL;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceClassPathResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceCompositeResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceUrlResolver;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/org/apache/commons/mail/resolver/DataSourceFileResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolverTest.java
similarity index 92%
rename from src/test/java/org/apache/commons/mail/resolver/DataSourceFileResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolverTest.java
index 83ce172..00d2fba 100644
--- a/src/test/java/org/apache/commons/mail/resolver/DataSourceFileResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceFileResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -24,7 +24,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.File;
import java.io.IOException;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceFileResolver;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/resolver/DataSourcePathResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolverTest.java
similarity index 92%
rename from src/test/java/org/apache/commons/mail/resolver/DataSourcePathResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolverTest.java
index 34759bb..cc8a85e 100644
--- a/src/test/java/org/apache/commons/mail/resolver/DataSourcePathResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourcePathResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -24,7 +24,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.nio.file.Paths;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourcePathResolver;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/resolver/DataSourceUrlResolverTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolverTest.java
similarity index 95%
rename from src/test/java/org/apache/commons/mail/resolver/DataSourceUrlResolverTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolverTest.java
index 99d53ed..9740785 100644
--- a/src/test/java/org/apache/commons/mail/resolver/DataSourceUrlResolverTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/resolver/DataSourceUrlResolverTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.resolver;
+package org.apache.commons.mail2.javax.resolver;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -25,7 +25,8 @@ import java.io.File;
import java.io.IOException;
import java.net.URL;
-import org.apache.commons.mail.DataSourceResolver;
+import org.apache.commons.mail2.javax.DataSourceResolver;
+import org.apache.commons.mail2.javax.resolver.DataSourceUrlResolver;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/java/org/apache/commons/mail/settings/EmailConfiguration.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/EmailConfiguration.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/settings/EmailConfiguration.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/EmailConfiguration.java
index 7a9760b..83e812e 100644
--- a/src/test/java/org/apache/commons/mail/settings/EmailConfiguration.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/EmailConfiguration.java
@@ -14,9 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.settings;
+package org.apache.commons.mail2.javax.settings;
-import org.apache.commons.mail.EmailConstants;
+import org.apache.commons.mail2.javax.EmailConstants;
/**
* This class contains hard-coded configuration settings for the JUnit tests.
diff --git a/src/test/java/org/apache/commons/mail/settings/package-info.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/package-info.java
similarity index 94%
rename from src/test/java/org/apache/commons/mail/settings/package-info.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/package-info.java
index dda7e9c..2752a56 100644
--- a/src/test/java/org/apache/commons/mail/settings/package-info.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/settings/package-info.java
@@ -18,4 +18,4 @@
/**
* This package provides the test mail server configuration.
*/
-package org.apache.commons.mail.settings;
+package org.apache.commons.mail2.javax.settings;
diff --git a/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverterTest.java
similarity index 96%
rename from src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverterTest.java
index 4ff635f..59c5949 100644
--- a/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/IDNEmailAddressConverterTest.java
@@ -14,12 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
import static org.junit.jupiter.api.Assertions.assertEquals;
import javax.mail.internet.InternetAddress;
+import org.apache.commons.mail2.javax.util.IDNEmailAddressConverter;
import org.junit.jupiter.api.Test;
public class IDNEmailAddressConverterTest {
diff --git a/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/MimeMessageParserTest.java
similarity index 99%
rename from src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java
rename to commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/MimeMessageParserTest.java
index b454672..3b740d3 100644
--- a/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java
+++ b/commons-email-javax/src/test/java/org/apache/commons/mail2/javax/util/MimeMessageParserTest.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.commons.mail.util;
+package org.apache.commons.mail2.javax.util;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -31,7 +31,9 @@ import javax.activation.DataSource;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
-import org.apache.commons.mail.HtmlEmail;
+import org.apache.commons.mail2.javax.HtmlEmail;
+import org.apache.commons.mail2.javax.util.MimeMessageParser;
+import org.apache.commons.mail2.javax.util.MimeMessageUtils;
import org.junit.jupiter.api.Test;
/**
diff --git a/src/test/resources/attachments/autoloadertest.html b/commons-email-javax/src/test/resources/attachments/autoloadertest.html
similarity index 100%
rename from src/test/resources/attachments/autoloadertest.html
rename to commons-email-javax/src/test/resources/attachments/autoloadertest.html
diff --git a/src/test/resources/attachments/classpathtest.html b/commons-email-javax/src/test/resources/attachments/classpathtest.html
similarity index 100%
rename from src/test/resources/attachments/classpathtest.html
rename to commons-email-javax/src/test/resources/attachments/classpathtest.html
diff --git a/src/test/resources/attachments/download_email.cgi.html b/commons-email-javax/src/test/resources/attachments/download_email.cgi.html
similarity index 100%
rename from src/test/resources/attachments/download_email.cgi.html
rename to commons-email-javax/src/test/resources/attachments/download_email.cgi.html
diff --git a/src/test/resources/attachments/logo.pdf b/commons-email-javax/src/test/resources/attachments/logo.pdf
similarity index 100%
rename from src/test/resources/attachments/logo.pdf
rename to commons-email-javax/src/test/resources/attachments/logo.pdf
diff --git a/src/test/resources/eml/attachment-only.eml b/commons-email-javax/src/test/resources/eml/attachment-only.eml
similarity index 100%
rename from src/test/resources/eml/attachment-only.eml
rename to commons-email-javax/src/test/resources/eml/attachment-only.eml
diff --git a/src/test/resources/eml/html-attachment-content-disposition.eml b/commons-email-javax/src/test/resources/eml/html-attachment-content-disposition.eml
similarity index 100%
rename from src/test/resources/eml/html-attachment-content-disposition.eml
rename to commons-email-javax/src/test/resources/eml/html-attachment-content-disposition.eml
diff --git a/src/test/resources/eml/html-attachment-encoded-filename.eml b/commons-email-javax/src/test/resources/eml/html-attachment-encoded-filename.eml
similarity index 100%
rename from src/test/resources/eml/html-attachment-encoded-filename.eml
rename to commons-email-javax/src/test/resources/eml/html-attachment-encoded-filename.eml
diff --git a/src/test/resources/eml/html-attachment.eml b/commons-email-javax/src/test/resources/eml/html-attachment.eml
similarity index 100%
rename from src/test/resources/eml/html-attachment.eml
rename to commons-email-javax/src/test/resources/eml/html-attachment.eml
diff --git a/src/test/resources/eml/multipart-report.eml b/commons-email-javax/src/test/resources/eml/multipart-report.eml
similarity index 100%
rename from src/test/resources/eml/multipart-report.eml
rename to commons-email-javax/src/test/resources/eml/multipart-report.eml
diff --git a/src/test/resources/eml/multipart-text-attachment-only.eml b/commons-email-javax/src/test/resources/eml/multipart-text-attachment-only.eml
similarity index 100%
rename from src/test/resources/eml/multipart-text-attachment-only.eml
rename to commons-email-javax/src/test/resources/eml/multipart-text-attachment-only.eml
diff --git a/src/test/resources/eml/multipart-text-attachment.eml b/commons-email-javax/src/test/resources/eml/multipart-text-attachment.eml
similarity index 100%
rename from src/test/resources/eml/multipart-text-attachment.eml
rename to commons-email-javax/src/test/resources/eml/multipart-text-attachment.eml
diff --git a/src/test/resources/eml/outofmemory-no-header-seperation.eml b/commons-email-javax/src/test/resources/eml/outofmemory-no-header-seperation.eml
similarity index 100%
rename from src/test/resources/eml/outofmemory-no-header-seperation.eml
rename to commons-email-javax/src/test/resources/eml/outofmemory-no-header-seperation.eml
diff --git a/src/test/resources/eml/simple-reply.eml b/commons-email-javax/src/test/resources/eml/simple-reply.eml
similarity index 100%
rename from src/test/resources/eml/simple-reply.eml
rename to commons-email-javax/src/test/resources/eml/simple-reply.eml
diff --git a/src/test/resources/eml/simple.eml b/commons-email-javax/src/test/resources/eml/simple.eml
similarity index 100%
rename from src/test/resources/eml/simple.eml
rename to commons-email-javax/src/test/resources/eml/simple.eml
diff --git a/src/test/resources/html/www.apache.org.html b/commons-email-javax/src/test/resources/html/www.apache.org.html
similarity index 100%
rename from src/test/resources/html/www.apache.org.html
rename to commons-email-javax/src/test/resources/html/www.apache.org.html
diff --git a/src/test/resources/images/asf_logo_wide.gif b/commons-email-javax/src/test/resources/images/asf_logo_wide.gif
similarity index 100%
rename from src/test/resources/images/asf_logo_wide.gif
rename to commons-email-javax/src/test/resources/images/asf_logo_wide.gif
diff --git a/src/test/resources/images/contentTypeTest.gif b/commons-email-javax/src/test/resources/images/contentTypeTest.gif
similarity index 100%
rename from src/test/resources/images/contentTypeTest.gif
rename to commons-email-javax/src/test/resources/images/contentTypeTest.gif
diff --git a/src/test/resources/images/contentTypeTest.jpg b/commons-email-javax/src/test/resources/images/contentTypeTest.jpg
similarity index 100%
rename from src/test/resources/images/contentTypeTest.jpg
rename to commons-email-javax/src/test/resources/images/contentTypeTest.jpg
diff --git a/src/test/resources/images/contentTypeTest.png b/commons-email-javax/src/test/resources/images/contentTypeTest.png
similarity index 100%
rename from src/test/resources/images/contentTypeTest.png
rename to commons-email-javax/src/test/resources/images/contentTypeTest.png
diff --git a/src/test/resources/images/logos/maven-feather.png b/commons-email-javax/src/test/resources/images/logos/maven-feather.png
similarity index 100%
rename from src/test/resources/images/logos/maven-feather.png
rename to commons-email-javax/src/test/resources/images/logos/maven-feather.png
diff --git a/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/commons-email-javax/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to commons-email-javax/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
diff --git a/pom.xml b/pom.xml
index 1d8ed22..2e0999a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,541 +1,530 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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
+ 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.
+ 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.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-parent</artifactId>
- <version>65</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>commons-email</artifactId>
- <version>1.6.1-SNAPSHOT</version>
- <name>Apache Commons Email</name>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-parent</artifactId>
+ <version>65</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>commons-email2-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>2.0.0-M1-SNAPSHOT</version>
+ <name>Apache Commons Email Parent POM</name>
- <inceptionYear>2001</inceptionYear>
- <description>
- Apache Commons Email provides an API for sending email, simplifying the JavaMail API.
- </description>
+ <inceptionYear>2001</inceptionYear>
+ <description>Apache Commons Email provides an API for sending email, simplifying the JavaMail API.</description>
- <url>https://commons.apache.org/proper/commons-email/</url>
+ <url>https://commons.apache.org/proper/commons-email/</url>
- <issueManagement>
- <system>jira</system>
- <url>https://issues.apache.org/jira/browse/EMAIL</url>
- </issueManagement>
+ <issueManagement>
+ <system>jira</system>
+ <url>https://issues.apache.org/jira/browse/EMAIL</url>
+ </issueManagement>
- <scm>
- <connection>scm:git:https://gitbox.apache.org/repos/asf/commons-email</connection>
- <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-email</developerConnection>
- <url>https://gitbox.apache.org/repos/asf/commons-email</url>
- </scm>
-
- <developers>
- <developer>
- <name>dIon Gillard</name>
- <id>dion</id>
- <email>dion@apache.org</email>
- <organization>The Apache Software Foundation</organization>
- <roles>
- <role>Java Developer</role>
- </roles>
- </developer>
- <developer>
- <name>John McNally</name>
- <id>jmcnally</id>
- <email>jmcnally@collab.net</email>
- <organization>CollabNet, Inc.</organization>
- <roles />
- </developer>
- <developer>
- <name>Quinton McCombs</name>
- <id>quintonm</id>
- <email>quintonm@bellsouth.net</email>
- <organization>NequalsOne, LLC.</organization>
- <roles />
- </developer>
- <developer>
- <name>Eric Pugh</name>
- <id>epugh</id>
- <email>epugh@opensourceconnections.com</email>
- <organization>OpenSource Connections</organization>
- <roles />
- </developer>
- <developer>
- <name>Daniel Rall</name>
- <id>dlr</id>
- <email>dlr@finemaltcoding.com</email>
- <organization>CollabNet, Inc.</organization>
- <roles />
- </developer>
- <developer>
- <name>Jon Scott Stevens</name>
- <id>jon</id>
- <email>jon@latchkey.com</email>
- <organization>CollabNet, Inc.</organization>
- <roles />
- </developer>
- <developer>
- <name>Jason van Zyl</name>
- <id>jvanzyl</id>
- <email>jason@zenplex.com</email>
- <organization>Zenplex</organization>
- <roles />
- </developer>
- <developer>
- <name>Joe Germuska</name>
- <id>germuska</id>
- <email>Joe@Germuska.com</email>
- <roles />
- </developer>
- <developer>
- <name>Robert Burrell Donkin</name>
- <id>rdonkin</id>
- <email>rdonkin@apache.org</email>
- <roles />
- </developer>
- <developer>
- <name>Henning P. Schmiedehausen</name>
- <id>henning</id>
- <email>hps@intermeta.de</email>
- <organization>INTERMETA - Gesellschaft fuer Mehrwertdienste mbH</organization>
- <roles>
- <role>Java Developer</role>
- </roles>
- <timezone>2</timezone>
- </developer>
- <developer>
- <name>Stephen Colebourne</name>
- <id>scolebourne</id>
- <roles />
- <timezone>0</timezone>
- </developer>
- <developer>
- <name>Ben Speakmon</name>
- <id>bspeakmon</id>
- <email>bspeakmon@apache.org</email>
- <organization>The Apache Software Foundation</organization>
- <roles>
- <role>Java Developer</role>
- </roles>
- <timezone>-8</timezone>
- </developer>
- <developer>
- <name>Siegfried Goeschl</name>
- <id>sgoeschl</id>
- <email>sgoeschl@apache.org</email>
- <roles>
- <role>Java Developer</role>
- </roles>
- <timezone>2</timezone>
- </developer>
- <developer>
- <name>Thomas Neidhart</name>
- <id>tn</id>
- <email>tn@apache.org</email>
- <organization>The Apache Software Foundation</organization>
- <roles />
- </developer>
- <developer>
- <id>ggregory</id>
- <name>Gary Gregory</name>
- <email>ggregory at apache.org</email>
- <url>https://www.garygregory.com</url>
- <organization>The Apache Software Foundation</organization>
- <organizationUrl>https://www.apache.org/</organizationUrl>
- <roles>
- <role>PMC Member</role>
- </roles>
- <timezone>America/New_York</timezone>
- <properties>
- <picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
- </properties>
- </developer>
- </developers>
- <contributors>
- <contributor>
- <name>Bindul Bhowmik</name>
- </contributor>
- <contributor>
- <name>Colin Chalmers</name>
- <email>colin.chalmers@maxware.nl</email>
- </contributor>
- <contributor>
- <name>Frank Y. Kim</name>
- <email>frank.kim@clearink.com</email>
- </contributor>
- <contributor>
- <name>Regis Koenig</name>
- </contributor>
- <contributor>
- <name>Stephen Kruger</name>
- </contributor>
- <contributor>
- <name>Sean Legassick</name>
- <email>sean@informage.net</email>
- </contributor>
- <contributor>
- <name>Andrew Liles</name>
- </contributor>
- <contributor>
- <name>Cedrik Lime</name>
- </contributor>
- <contributor>
- <name>Mark Lowe</name>
- <email>mark.lowe@boxstuff.com</email>
- </contributor>
- <contributor>
- <name>Brett McLaughlin</name>
- <email>bmclaugh@algx.net</email>
- </contributor>
- <contributor>
- <name>Piero Ottuzzi</name>
- </contributor>
- <contributor>
- <name>Niall Pemberton</name>
- </contributor>
- <contributor>
- <name>Greg Ritter</name>
- <email>greg@shwoop.com</email>
- </contributor>
- <contributor>
- <name>Corey Scott</name>
- <email>corey.scott@gmail.com</email>
- </contributor>
- <contributor>
- <name>Eric Spiegelberg</name>
- <email>eric@spiegs.com</email>
- </contributor>
- <contributor>
- <name>Dominik Stadler</name>
- </contributor>
- <contributor>
- <name>Matthias Wessendorf</name>
- <email>matthias@wessendorf.net</email>
- </contributor>
- <contributor>
- <name>Brandon Wolfe</name>
- </contributor>
- <contributor>
- <name>Alexander Lehmann</name>
- <email>alexlehm@gmail.com</email>
- </contributor>
- <contributor>
- <name>Vegard Stuen</name>
- <email>vegard.stuen@gmail.com</email>
- </contributor>
- </contributors>
+ <scm>
+ <connection>scm:git:https://gitbox.apache.org/repos/asf/commons-email</connection>
+ <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-email</developerConnection>
+ <url>https://gitbox.apache.org/repos/asf/commons-email</url>
+ </scm>
+ <dependencyManagement>
<dependencies>
- <dependency>
- <groupId>com.sun.mail</groupId>
- <artifactId>jakarta.mail</artifactId>
- <version>1.6.7</version>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <version>2.0.9</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>2.15.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.subethamail</groupId>
- <artifactId>subethasmtp</artifactId>
- <version>3.1.7</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>${mockito-core.version}</version>
- <scope>test</scope>
- </dependency>
+ <dependency>
+ <groupId>com.sun.mail</groupId>
+ <artifactId>jakarta.mail</artifactId>
+ <version>1.6.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <version>2.0.9</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.15.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.subethamail</groupId>
+ <artifactId>subethasmtp</artifactId>
+ <version>3.1.7</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-core.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
+ </dependencyManagement>
+
+ <properties>
+ <commons.parent.dir>${basedir}</commons.parent.dir>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <commons.componentid>email</commons.componentid>
+ <commons.module.name>org.apache.commons.mail</commons.module.name>
+ <commons.jira.id>EMAIL</commons.jira.id>
+ <commons.jira.pid>12310474</commons.jira.pid>
+ <commons.release.version>2.0.0-M1</commons.release.version>
+ <commons.release.next>2.0.0-M2</commons.release.next>
+ <commons.release.desc>(Java 8 or above)</commons.release.desc>
+ <commons.rc.version>RC1</commons.rc.version>
+ <commons.bc.version>1.5</commons.bc.version>
+ <!-- override the default commons encoding property -->
+ <commons.encoding>UTF-8</commons.encoding>
+ <mockito-core.version>5.8.0</mockito-core.version>
+ <japicmp.skip>true</japicmp.skip>
+ </properties>
+
+ <build>
+ <defaultGoal>clean verify apache-rat:check checkstyle:check pmd:check pmd:cpd-check spotbugs:check javadoc:javadoc</defaultGoal>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>${commons.parent.dir}/src/conf/checkstyle.xml</configLocation>
+ <enableRulesSummary>false</enableRulesSummary>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <configuration>
+ <excludeFilterFile>src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- exclude test case support classes -->
+ <excludes>
+ <exclude>org/apache/commons/mail/mocks/*</exclude>
+ <exclude>org/apache/commons/mail/settings/*</exclude>
+ <exclude>**/Abstract*Test.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptors>
+ <descriptor>src/assembly/bin.xml</descriptor>
+ <descriptor>src/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive combine.children="append">
+ <manifest>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ </manifest>
+ <manifestEntries>
+ <Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <mavenExecutorId>forked-path</mavenExecutorId>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-scm-publish-plugin</artifactId>
+ <configuration>
+ <ignorePathsToDelete>
+ <ignorePathToDelete>javadocs</ignorePathToDelete>
+ </ignorePathsToDelete>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>src/test/resources/eml/**</exclude>
+ <exclude>src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <!-- Declaration place matters must be after gpg. -->
+ <plugin>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-release-plugin</artifactId>
+ <configuration>
+ <distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/email</distSvnStagingUrl>
+ </configuration>
+ <executions>
+ <execution>
+ <id>detatch-distributions</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>detach-distributions</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>compress-site</id>
+ <phase>site</phase>
+ <goals>
+ <goal>compress-site</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>stage-distributions</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>stage-distributions</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <commons.componentid>email</commons.componentid>
- <commons.module.name>org.apache.commons.mail</commons.module.name>
- <commons.jira.id>EMAIL</commons.jira.id>
- <commons.jira.pid>12310474</commons.jira.pid>
- <commons.release.version>1.6.0</commons.release.version>
- <commons.release.next>1.6.1</commons.release.next>
- <commons.release.desc>(Java 8 or above)</commons.release.desc>
- <commons.rc.version>RC1</commons.rc.version>
- <commons.bc.version>1.5</commons.bc.version>
- <!-- override the default commons encoding property -->
- <commons.encoding>UTF-8</commons.encoding>
- <mockito-core.version>5.8.0</mockito-core.version>
- </properties>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <name>Apache Website</name>
+ <url>${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/email/</url>
+ </site>
+ </distributionManagement>
- <build>
- <defaultGoal>clean verify apache-rat:check checkstyle:check japicmp:cmp pmd:check pmd:cpd-check spotbugs:check javadoc:javadoc</defaultGoal>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <configLocation>${basedir}/src/conf/checkstyle.xml</configLocation>
- <enableRulesSummary>false</enableRulesSummary>
- <violationSeverity>warning</violationSeverity>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
+ <reporting>
+ <plugins>
+ <!-- generate the changes report from changes.xml -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-changes-plugin</artifactId>
+ <configuration>
+ <issueLinkTemplate>%URL%/%ISSUE%</issueLinkTemplate>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>changes-report</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <configuration>
+ <targetJdk>${maven.compiler.target}</targetJdk>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>src/test/resources/eml/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
+
+ <modules>
+ <module>commons-email-javax</module>
+ </modules>
+ <profiles>
+ <profile>
+ <id>java17</id>
+ <!-- For testing with Powermock. -->
+ <activation>
+ <jdk>[17,)</jdk>
+ </activation>
+ <build>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- exclude test case support classes -->
- <excludes>
- <exclude>org/apache/commons/mail/mocks/*</exclude>
- <exclude>org/apache/commons/mail/settings/*</exclude>
- <exclude>**/Abstract*Test.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <descriptors>
- <descriptor>src/assembly/bin.xml</descriptor>
- <descriptor>src/assembly/src.xml</descriptor>
- </descriptors>
- <tarLongFileMode>gnu</tarLongFileMode>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive combine.children="append">
- <manifest>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- </manifest>
- <manifestEntries>
- <Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <configuration>
- <mavenExecutorId>forked-path</mavenExecutorId>
- </configuration>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-scm-publish-plugin</artifactId>
- <configuration>
- <ignorePathsToDelete>
- <ignorePathToDelete>javadocs</ignorePathToDelete>
- </ignorePathsToDelete>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>src/test/resources/eml/**</exclude>
- <exclude>src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker</exclude>
- </excludes>
- </configuration>
- </plugin>
- <!-- Declaration place matters must be after gpg. -->
- <plugin>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-release-plugin</artifactId>
+ <artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/email</distSvnStagingUrl>
+ <argLine>
+ --illegal-access=permit
+ --add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens java.base/java.net=ALL-UNNAMED
+ --add-opens java.base/java.io=ALL-UNNAMED
+ --add-opens java.base/java.util=ALL-UNNAMED
+ --add-opens
+ java.base/java.util.regex=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio.charset=ALL-UNNAMED
+ --add-opens
+ java.base/sun.nio.cs=ALL-UNNAMED
+ --add-opens
+ java.logging/java.util.logging=ALL-UNNAMED
+ </argLine>
</configuration>
- <executions>
- <execution>
- <id>detatch-distributions</id>
- <phase>verify</phase>
- <goals>
- <goal>detach-distributions</goal>
- </goals>
- </execution>
- <execution>
- <id>compress-site</id>
- <phase>site</phase>
- <goals>
- <goal>compress-site</goal>
- </goals>
- </execution>
- <execution>
- <id>stage-distributions</id>
- <phase>deploy</phase>
- <goals>
- <goal>stage-distributions</goal>
- </goals>
- </execution>
- </executions>
</plugin>
- <plugin>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-maven-plugin</artifactId>
- <configuration>
- <excludeFilterFile>${basedir}/src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-
- <distributionManagement>
- <site>
- <id>apache.website</id>
- <name>Apache Website</name>
- <url>${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/email/</url>
- </site>
- </distributionManagement>
-
- <reporting>
- <plugins>
- <!-- generate the changes report from changes.xml -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-changes-plugin</artifactId>
- <configuration>
- <issueLinkTemplate>%URL%/%ISSUE%</issueLinkTemplate>
- </configuration>
- <reportSets>
- <reportSet>
- <reports>
- <report>changes-report</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-pmd-plugin</artifactId>
- <configuration>
- <targetJdk>${maven.compiler.target}</targetJdk>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>src/test/resources/eml/**</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-maven-plugin</artifactId>
- <configuration>
- <excludeFilterFile>${basedir}/src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
- </configuration>
- </plugin>
</plugins>
- </reporting>
-
- <profiles>
- <profile>
- <id>java17</id>
- <!-- For testing with Powermock. -->
- <activation>
- <jdk>[17,)</jdk>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <argLine>
- --illegal-access=permit
- --add-opens java.base/java.lang=ALL-UNNAMED
- --add-opens java.base/java.net=ALL-UNNAMED
- --add-opens java.base/java.io=ALL-UNNAMED
- --add-opens java.base/java.util=ALL-UNNAMED
- --add-opens java.base/java.util.regex=ALL-UNNAMED
- --add-opens java.base/java.nio.charset=ALL-UNNAMED
- --add-opens java.base/sun.nio.cs=ALL-UNNAMED
- --add-opens java.logging/java.util.logging=ALL-UNNAMED
- </argLine>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>java8</id>
- <activation>
- <jdk>[1.8,11)</jdk>
- </activation>
- <properties>
- <mockito-core.version>4.11.0</mockito-core.version>
- </properties>
- </profile>
+ </build>
+ </profile>
+ <profile>
+ <id>java8</id>
+ <activation>
+ <jdk>[1.8,11)</jdk>
+ </activation>
+ <properties>
+ <mockito-core.version>4.11.0</mockito-core.version>
+ </properties>
+ </profile>
+ </profiles>
- <profile>
- <id>rc</id>
- <distributionManagement>
- <!-- Cannot define in parent ATM, see COMMONSSITE-26 -->
- <site>
- <id>apache.website</id>
- <name>Apache Commons Release Candidate Staging Site</name>
- <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site</url>
- </site>
- </distributionManagement>
- </profile>
- </profiles>
+ <developers>
+ <developer>
+ <name>dIon Gillard</name>
+ <id>dion</id>
+ <email>dion@apache.org</email>
+ <organization>The Apache Software Foundation</organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ </developer>
+ <developer>
+ <name>John McNally</name>
+ <id>jmcnally</id>
+ <email>jmcnally@collab.net</email>
+ <organization>CollabNet, Inc.</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Quinton McCombs</name>
+ <id>quintonm</id>
+ <email>quintonm@bellsouth.net</email>
+ <organization>NequalsOne, LLC.</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Eric Pugh</name>
+ <id>epugh</id>
+ <email>epugh@opensourceconnections.com</email>
+ <organization>OpenSource Connections</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Daniel Rall</name>
+ <id>dlr</id>
+ <email>dlr@finemaltcoding.com</email>
+ <organization>CollabNet, Inc.</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Jon Scott Stevens</name>
+ <id>jon</id>
+ <email>jon@latchkey.com</email>
+ <organization>CollabNet, Inc.</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ <id>jvanzyl</id>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ <roles />
+ </developer>
+ <developer>
+ <name>Joe Germuska</name>
+ <id>germuska</id>
+ <email>Joe@Germuska.com</email>
+ <roles />
+ </developer>
+ <developer>
+ <name>Robert Burrell Donkin</name>
+ <id>rdonkin</id>
+ <email>rdonkin@apache.org</email>
+ <roles />
+ </developer>
+ <developer>
+ <name>Henning P. Schmiedehausen</name>
+ <id>henning</id>
+ <email>hps@intermeta.de</email>
+ <organization>INTERMETA - Gesellschaft fuer Mehrwertdienste mbH</organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ <timezone>2</timezone>
+ </developer>
+ <developer>
+ <name>Stephen Colebourne</name>
+ <id>scolebourne</id>
+ <roles />
+ <timezone>0</timezone>
+ </developer>
+ <developer>
+ <name>Ben Speakmon</name>
+ <id>bspeakmon</id>
+ <email>bspeakmon@apache.org</email>
+ <organization>The Apache Software Foundation</organization>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ <timezone>-8</timezone>
+ </developer>
+ <developer>
+ <name>Siegfried Goeschl</name>
+ <id>sgoeschl</id>
+ <email>sgoeschl@apache.org</email>
+ <roles>
+ <role>Java Developer</role>
+ </roles>
+ <timezone>2</timezone>
+ </developer>
+ <developer>
+ <name>Thomas Neidhart</name>
+ <id>tn</id>
+ <email>tn@apache.org</email>
+ <organization>The Apache Software Foundation</organization>
+ <roles />
+ </developer>
+ <developer>
+ <id>ggregory</id>
+ <name>Gary Gregory</name>
+ <email>ggregory at apache.org</email>
+ <url>https://www.garygregory.com</url>
+ <organization>The Apache Software Foundation</organization>
+ <organizationUrl>https://www.apache.org/</organizationUrl>
+ <roles>
+ <role>PMC Member</role>
+ </roles>
+ <timezone>America/New_York</timezone>
+ <properties>
+ <picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
+ </properties>
+ </developer>
+ </developers>
+ <contributors>
+ <contributor>
+ <name>Bindul Bhowmik</name>
+ </contributor>
+ <contributor>
+ <name>Colin Chalmers</name>
+ <email>colin.chalmers@maxware.nl</email>
+ </contributor>
+ <contributor>
+ <name>Frank Y. Kim</name>
+ <email>frank.kim@clearink.com</email>
+ </contributor>
+ <contributor>
+ <name>Regis Koenig</name>
+ </contributor>
+ <contributor>
+ <name>Stephen Kruger</name>
+ </contributor>
+ <contributor>
+ <name>Sean Legassick</name>
+ <email>sean@informage.net</email>
+ </contributor>
+ <contributor>
+ <name>Andrew Liles</name>
+ </contributor>
+ <contributor>
+ <name>Cedrik Lime</name>
+ </contributor>
+ <contributor>
+ <name>Mark Lowe</name>
+ <email>mark.lowe@boxstuff.com</email>
+ </contributor>
+ <contributor>
+ <name>Brett McLaughlin</name>
+ <email>bmclaugh@algx.net</email>
+ </contributor>
+ <contributor>
+ <name>Piero Ottuzzi</name>
+ </contributor>
+ <contributor>
+ <name>Niall Pemberton</name>
+ </contributor>
+ <contributor>
+ <name>Greg Ritter</name>
+ <email>greg@shwoop.com</email>
+ </contributor>
+ <contributor>
+ <name>Corey Scott</name>
+ <email>corey.scott@gmail.com</email>
+ </contributor>
+ <contributor>
+ <name>Eric Spiegelberg</name>
+ <email>eric@spiegs.com</email>
+ </contributor>
+ <contributor>
+ <name>Dominik Stadler</name>
+ </contributor>
+ <contributor>
+ <name>Matthias Wessendorf</name>
+ <email>matthias@wessendorf.net</email>
+ </contributor>
+ <contributor>
+ <name>Brandon Wolfe</name>
+ </contributor>
+ <contributor>
+ <name>Alexander Lehmann</name>
+ <email>alexlehm@gmail.com</email>
+ </contributor>
+ <contributor>
+ <name>Vegard Stuen</name>
+ <email>vegard.stuen@gmail.com</email>
+ </contributor>
+ </contributors>
</project>
diff --git a/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java b/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java
deleted file mode 100644
index 9aee2ed..0000000
--- a/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.commons.mail;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-
-import javax.activation.DataSource;
-
-/**
- * A typed DataSource for InputStream, byte array, and String.
- * <p>
- * From version 1.3.1, it is possible to set a name for this DataSource, and it is recommended to do so.
- * </p>
- *
- * @since 1.0
- * @deprecated since 1.4, use {@link javax.mail.util.ByteArrayDataSource} or {@link javax.mail.util.SharedByteArrayInputStream}.
- */
-@Deprecated
-public class ByteArrayDataSource implements DataSource {
-
- /** Default content type. */
- private static final String CONTENT_TYPE = "application/octet-stream";
-
- /** Define the buffer size. */
- public static final int BUFFER_SIZE = 512;
-
- /** Stream containing the Data. */
- private ByteArrayOutputStream outputStream;
-
- /** The Content-contentType. */
- private final String contentType;
-
- /**
- * The name associated with this data source. By default, the name is an empty string, similar to javax.mail.util.ByteArrayDataSource.
- *
- * @since 1.3.1
- */
- private String name = "";
-
- /**
- * Constructs a new instance from a byte array.
- *
- * @param data A byte[].
- * @param contentType A String.
- * @throws IOException IOException
- * @since 1.0
- */
- public ByteArrayDataSource(final byte[] data, final String contentType) throws IOException {
- this.contentType = contentType;
- try (ByteArrayInputStream bis = new ByteArrayInputStream(data)) {
- read(bis);
- }
- }
-
- /**
- * Constructs a new instance from an input stream.
- *
- * @param inputStream An InputStream.
- * @param contentType A String.
- * @throws IOException IOException
- * @since 1.0
- */
- public ByteArrayDataSource(final InputStream inputStream, final String contentType) throws IOException {
- this.contentType = contentType;
- this.read(inputStream);
- }
-
- /**
- * Constructs a new instance from a String. N.B. assumes the data string can be converted using the charset iso-8859-1.
- *
- * @param data A String.
- * @param contentType A String.
- * @throws IOException IOException
- * @since 1.0
- */
- public ByteArrayDataSource(final String data, final String contentType) throws IOException {
- this.contentType = contentType;
- this.outputStream = new ByteArrayOutputStream();
- try {
- // Assumption that the string contains only ASCII characters!
- // Else just pass in a charset into this constructor and use it in getBytes().
- outputStream.write(data.getBytes(StandardCharsets.ISO_8859_1));
- outputStream.flush();
- outputStream.close();
- } catch (final UnsupportedEncodingException e) {
- throw new IOException("The Character Encoding is not supported.");
- } finally {
- outputStream.close();
- }
- }
-
- /**
- * Gets the content contentType.
- *
- * @return A String.
- * @since 1.0
- */
- @Override
- public String getContentType() {
- return contentType == null ? CONTENT_TYPE : contentType;
- }
-
- /**
- * Gets the input stream.
- *
- * @return An InputStream.
- * @throws IOException IOException
- * @since 1.0
- */
- @Override
- public InputStream getInputStream() throws IOException {
- if (outputStream == null) {
- throw new IOException("no data");
- }
- return new ByteArrayInputStream(outputStream.toByteArray());
- }
-
- /**
- * Gets the name.
- *
- * @return A String.
- * @since 1.0
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Gets the OutputStream to write to.
- *
- * @return An OutputStream
- * @since 1.0
- */
- @Override
- public OutputStream getOutputStream() {
- outputStream = new ByteArrayOutputStream();
- return outputStream;
- }
-
- /**
- * Reads the given input stream into this data source.
- *
- * @param inputStream An InputStream.
- * @throws IOException IOException
- */
- private void read(final InputStream inputStream) throws IOException {
- BufferedInputStream bis = null;
- BufferedOutputStream osWriter = null;
- try {
- int length = 0;
- final byte[] buffer = new byte[ByteArrayDataSource.BUFFER_SIZE];
-
- bis = new BufferedInputStream(inputStream);
- outputStream = new ByteArrayOutputStream();
- osWriter = new BufferedOutputStream(outputStream);
-
- // Write the InputData to OutputStream
- while ((length = bis.read(buffer)) != -1) {
- osWriter.write(buffer, 0, length);
- }
- osWriter.flush();
- osWriter.close();
- } finally {
- if (bis != null) {
- bis.close();
- }
- if (outputStream != null) {
- outputStream.close();
- }
- if (osWriter != null) {
- osWriter.close();
- }
- }
- }
-
- /**
- * Sets the name for this DataSource.
- *
- * @param name The name.
- * @since 1.3.1
- */
- public void setName(final String name) {
- this.name = name;
- }
-}