You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2022/06/14 02:55:34 UTC

[commons-configuration] branch master updated (107c77cc -> cad24f4a)

This is an automated email from the ASF dual-hosted git repository.

mattjuntunen pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git


    from 107c77cc Add coverage.yml
     new b8e2c812 Bump mailapi from 1.6.6 to 2.0.1
     new 079cf717 [CONFIGURATION-813] Support javamail 2.0 and javax to jakarta migration
     new cad24f4a update PR number in changes.xml

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 pom.xml                                               |  2 +-
 src/changes/changes.xml                               |  6 ++++++
 .../commons/configuration2/DataConfiguration.java     |  1 +
 .../configuration2/convert/PropertyConverter.java     | 19 +++++++++++++++++--
 .../commons/configuration2/TestDataConfiguration.java |  9 ++++++---
 5 files changed, 31 insertions(+), 6 deletions(-)


[commons-configuration] 02/03: [CONFIGURATION-813] Support javamail 2.0 and javax to jakarta migration

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mattjuntunen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit 079cf7176989fb91d622a6a06f1fb7023cb79a25
Author: Bruno P. Kinoshita <ki...@users.noreply.github.com>
AuthorDate: Tue May 10 17:41:35 2022 +1200

    [CONFIGURATION-813] Support javamail 2.0 and javax to jakarta migration
---
 src/changes/changes.xml                               |  6 ++++++
 .../commons/configuration2/DataConfiguration.java     |  1 +
 .../configuration2/convert/PropertyConverter.java     | 19 +++++++++++++++++--
 .../commons/configuration2/TestDataConfiguration.java |  9 ++++++---
 4 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 0f7ce718..b97ba57d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -68,6 +68,9 @@
        <action type="fix" dev="ggregory" due-to="Gary Gregory">
          Implement proper concurrency in ConstantLookup.
        </action>
+       <action issue="CONFIGURATION-813" type="fix" dev="kinow" due-to="Dependabot">
+         Support new namespace jakarta.mail.* used by javamail 2.0+ (first release October 2020) #107.
+       </action>
        <!-- ADD -->
        <action type="add" dev="ggregory" due-to="SethiPandi">
          Implement Iterable in ImmutableNode #74.
@@ -200,6 +203,9 @@
        <action type="update" dev="ggregory" due-to="Dependabot">
          Bump slf4j.version from 1.7.33 to 1.7.36 #166.
        </action>
+       <action type="update" dev="kinow" due-to="Dependabot">
+          Bump mailapi from 1.6.6 to 2.0.1 #107.
+       </action>
     </release>
     <release version="2.7" date="2020-03-07"
              description="Minor release with new features and updated dependencies.">
diff --git a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
index 488648cc..0b532dad 100644
--- a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
@@ -46,6 +46,7 @@ import org.apache.commons.lang3.StringUtils;
  * <li>{@link java.awt.Color}</li>
  * <li>{@link java.net.InetAddress}</li>
  * <li>{@code javax.mail.internet.InternetAddress} (requires Javamail in the classpath)</li>
+ * <li>{@code jakarta.mail.internet.InternetAddress} (requires Javamail 2.+ in the classpath)</li>
  * <li>{@link java.lang.Enum} (Java 5 enumeration types)</li>
  * </ul>
  *
diff --git a/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java b/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
index b1a55b2e..2c2b451e 100644
--- a/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
+++ b/src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java
@@ -70,6 +70,9 @@ public final class PropertyConverter {
     /** The fully qualified name of {@code javax.mail.internet.InternetAddress} */
     private static final String INTERNET_ADDRESS_CLASSNAME = "javax.mail.internet.InternetAddress";
 
+    /** The fully qualified name of {@code jakarta.mail.internet.InternetAddress} */
+    private static final String INTERNET_ADDRESS_CLASSNAME_JAKARTA = "jakarta.mail.internet.InternetAddress";
+
     /**
      * Private constructor prevents instances from being created.
      */
@@ -150,6 +153,8 @@ public final class PropertyConverter {
             return toColor(value);
         } else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME)) {
             return toInternetAddress(value);
+        } else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAKARTA)) {
+            return toInternetAddress(value);
         } else if (InetAddress.class.isAssignableFrom(cls)) {
             return toInetAddress(value);
         } else if (Duration.class.equals(cls)) {
@@ -607,12 +612,22 @@ public final class PropertyConverter {
         if (value.getClass().getName().equals(INTERNET_ADDRESS_CLASSNAME)) {
             return value;
         }
+        if (value.getClass().getName().equals(INTERNET_ADDRESS_CLASSNAME_JAKARTA)) {
+            return value;
+        }
         if (!(value instanceof String)) {
             throw new ConversionException("The value " + value + " can't be converted to a InternetAddress");
         }
         try {
-            final Constructor<?> ctor = Class.forName(INTERNET_ADDRESS_CLASSNAME).getConstructor(String.class);
-            return ctor.newInstance(value);
+            try {
+                // javamail-2.0+, with jakarta.mail.* namespace.
+                final Constructor<?> ctor = Class.forName(INTERNET_ADDRESS_CLASSNAME_JAKARTA).getConstructor(String.class);
+                return ctor.newInstance(value);
+            } catch (ClassNotFoundException e) {
+                // maybe javamail-1.*? With javax.mail.* namespace.
+                final Constructor<?> ctor = Class.forName(INTERNET_ADDRESS_CLASSNAME).getConstructor(String.class);
+                return ctor.newInstance(value);
+            }
         } catch (final Exception e) {
             throw new ConversionException("The value " + value + " can't be converted to a InternetAddress", e);
         }
diff --git a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
index 532473f7..af393b0a 100644
--- a/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
+++ b/src/test/java/org/apache/commons/configuration2/TestDataConfiguration.java
@@ -73,10 +73,13 @@ public class TestDataConfiguration {
 
     /**
      * Create an instance of InternetAddress. This trick is necessary to compile and run the test with Java 1.3 and the
-     * javamail-1.4 which is not compatible with Java 1.3
+     * javamail-1.4 which is not compatible with Java 1.3.
+     *
+     * <p>javamail-2.0 had a namespace change, moving javax.mail.* to jakarta.mail.*. This test verifies if we have
+     * javax.mail.* in the classpath before trying the Jakarta classes.</p>
      */
     private Object createInternetAddress(final String email) throws Exception {
-        final Class<?> cls = Class.forName("javax.mail.internet.InternetAddress");
+        final Class<?> cls = Class.forName("jakarta.mail.internet.InternetAddress");
         return cls.getConstructor(String.class).newInstance(email);
     }
 
@@ -839,7 +842,7 @@ public class TestDataConfiguration {
         }
 
         try {
-            conf.get(Class.forName("javax.mail.internet.InternetAddress"), "key1");
+            conf.get(Class.forName("jakarta.mail.internet.InternetAddress"), "key1");
             fail("getInternetAddress didn't throw a ConversionException");
         } catch (final ConversionException e) {
             // expected


[commons-configuration] 01/03: Bump mailapi from 1.6.6 to 2.0.1

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mattjuntunen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit b8e2c81209208dace796153a57c65ed96599b588
Author: dependabot[bot] <49...@users.noreply.github.com>
AuthorDate: Fri Apr 1 17:06:11 2022 +0000

    Bump mailapi from 1.6.6 to 2.0.1
    
    Bumps [mailapi](https://github.com/eclipse-ee4j/mail) from 1.6.6 to 2.0.1.
    - [Release notes](https://github.com/eclipse-ee4j/mail/releases)
    - [Commits](https://github.com/eclipse-ee4j/mail/compare/1.6.6...2.0.1)
    
    Signed-off-by: dependabot[bot] <su...@github.com>
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index bd6f2964..1306215c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -516,7 +516,7 @@
     <dependency>
       <groupId>com.sun.mail</groupId>
       <artifactId>mailapi</artifactId>
-      <version>1.6.7</version>
+      <version>2.0.1</version>
       <scope>test</scope>
     </dependency>
 


[commons-configuration] 03/03: update PR number in changes.xml

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mattjuntunen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit cad24f4a861acd38e9ea025f5d9ed742543e8a39
Author: Matt Juntunen <ma...@apache.org>
AuthorDate: Mon Jun 13 22:44:03 2022 -0400

    update PR number in changes.xml
---
 src/changes/changes.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index b97ba57d..51b3ee68 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -69,7 +69,7 @@
          Implement proper concurrency in ConstantLookup.
        </action>
        <action issue="CONFIGURATION-813" type="fix" dev="kinow" due-to="Dependabot">
-         Support new namespace jakarta.mail.* used by javamail 2.0+ (first release October 2020) #107.
+         Support new namespace jakarta.mail.* used by javamail 2.0+ (first release October 2020) #186.
        </action>
        <!-- ADD -->
        <action type="add" dev="ggregory" due-to="SethiPandi">
@@ -204,7 +204,7 @@
          Bump slf4j.version from 1.7.33 to 1.7.36 #166.
        </action>
        <action type="update" dev="kinow" due-to="Dependabot">
-          Bump mailapi from 1.6.6 to 2.0.1 #107.
+          Bump mailapi from 1.6.6 to 2.0.1 #186.
        </action>
     </release>
     <release version="2.7" date="2020-03-07"