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 c94a029723bbb7c42ad81d22a04e2b0978b50ad6
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Dec 14 10:06:30 2023 -0500

    Internal refactoring
---
 .../mail/util/IDNEmailAddressConverter.java        | 32 +++++-----------------
 1 file changed, 7 insertions(+), 25 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java 
b/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java
index b8d0a73..67b2ea8 100644
--- a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java
+++ b/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java
@@ -33,16 +33,6 @@ import javax.mail.internet.InternetAddress;
  */
 public class IDNEmailAddressConverter {
 
-    /**
-     * Null-safe wrapper for {@link String#indexOf} to find the '@' character.
-     *
-     * @param value String value.
-     * @return index of first '@' character or {@code -1}
-     */
-    private int findAtSymbolIndex(final String value) {
-        return value == null ? -1 : value.indexOf('@');
-    }
-
     /**
      * Extracts the domain part of the email address.
      *
@@ -72,11 +62,15 @@ public class IDNEmailAddressConverter {
      * @return The ASCII representation
      */
     public String toASCII(final String email) {
-        final int idx = findAtSymbolIndex(email);
+        return toString(email, IDN::toASCII);
+    }
+
+    private String toString(final String email, final Function<String, String> 
converter) {
+        final int idx = email == null ? -1 : email.indexOf('@');
         if (idx < 0) {
             return email;
         }
-        return getLocalPart(email, idx) + '@' + 
IDN.toASCII(getDomainPart(email, idx));
+        return getLocalPart(email, idx) + '@' + 
converter.apply(getDomainPart(email, idx));
     }
 
     /**
@@ -96,18 +90,6 @@ public class IDNEmailAddressConverter {
      * @return The Unicode representation
      */
     String toUnicode(final String email) {
-        final int idx = findAtSymbolIndex(email);
-        if (idx < 0) {
-            return email;
-        }
-        return getLocalPart(email, idx) + '@' + 
IDN.toUnicode(getDomainPart(email, idx));
-    }
-    
-    private String toString(final String email, Function<String, String> 
converter) {
-        final int idx = findAtSymbolIndex(email);
-        if (idx < 0) {
-            return email;
-        }
-        return getLocalPart(email, idx) + '@' + 
converter.apply((getDomainPart(email, idx)));
+        return toString(email, IDN::toUnicode);
     }
 }

Reply via email to