You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by gg...@apache.org on 2022/08/25 12:36:02 UTC

[httpcomponents-core] branch master updated (b87fb0bbe -> 06c480b0f)

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

ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git


    from b87fb0bbe Avoid duplicate redundant objects and use Singleton instead.
     new f813fb902 Deprecate org.apache.hc.core5.util.LangUtils.equals(Object[], Object[]) in favor or java.util.Arrays.equals(Object[], Object[]).
     new 06c480b0f Deprecate org.apache.hc.core5.util.LangUtils.equals(Object, Object) in favor or java.util.Objects.equals(Object, Object).

The 2 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:
 RELEASE_NOTES.txt                                      |  7 +++++++
 .../org/apache/hc/core5/http2/hpack/HPackEncoder.java  |  4 ++--
 .../main/java/org/apache/hc/core5/http/HttpHost.java   |  3 ++-
 .../hc/core5/http/message/BasicNameValuePair.java      |  3 ++-
 .../org/apache/hc/core5/http/message/HeaderGroup.java  |  4 ++--
 .../java/org/apache/hc/core5/net/URIAuthority.java     |  5 +++--
 .../java/org/apache/hc/core5/pool/LaxConnPool.java     |  4 ++--
 .../java/org/apache/hc/core5/pool/StrictConnPool.java  |  4 ++--
 .../main/java/org/apache/hc/core5/util/LangUtils.java  | 18 ++++++------------
 .../java/org/apache/hc/core5/http/HeaderMatcher.java   |  5 +++--
 .../java/org/apache/hc/core5/http/HeadersMatcher.java  |  5 +++--
 .../apache/hc/core5/http/NameValuePairListMatcher.java |  6 +++---
 .../java/org/apache/hc/core5/util/TestLangUtils.java   |  8 +++++---
 13 files changed, 42 insertions(+), 34 deletions(-)


[httpcomponents-core] 01/02: Deprecate org.apache.hc.core5.util.LangUtils.equals(Object[], Object[]) in favor or java.util.Arrays.equals(Object[], Object[]).

Posted by gg...@apache.org.
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/httpcomponents-core.git

commit f813fb9023824379a38a5fa9ae7b7e03431ea41e
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Aug 25 08:23:19 2022 -0400

    Deprecate org.apache.hc.core5.util.LangUtils.equals(Object[], Object[])
    in favor or java.util.Arrays.equals(Object[], Object[]).
---
 RELEASE_NOTES.txt                                        |  6 ++++++
 .../main/java/org/apache/hc/core5/util/LangUtils.java    | 16 ++++------------
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index f524b55d1..4aaf4ef6e 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -1,3 +1,9 @@
+Release 5.2 BETA3
+------------------
+
+* Deprecate org.apache.hc.core5.util.LangUtils.equals(Object[], Object[]) in favor or java.util.Arrays.equals(Object[], Object[]).
+
+
 Release 5.2 BETA2
 ------------------
 
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java b/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
index 6857bd2a3..eca1b7f16 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
@@ -27,6 +27,7 @@
 
 package org.apache.hc.core5.util;
 
+import java.util.Arrays;
 import java.util.Objects;
 
 /**
@@ -81,20 +82,11 @@ public final class LangUtils {
      * @param a1 first array to compare, may be {@code null}
      * @param a2 second array to compare, may be {@code null}
      * @return {@code true} if the arrays are equal or both null
+     * @deprecated Use {@link Arrays#equals(Object)}.
      */
+    @Deprecated
     public static boolean equals(final Object[] a1, final Object[] a2) {
-        if (a1 == null) {
-            return a2 == null;
-        }
-        if (a2 != null && a1.length == a2.length) {
-            for (int i = 0; i < a1.length; i++) {
-                if (!equals(a1[i], a2[i])) {
-                    return false;
-                }
-            }
-            return true;
-        }
-        return false;
+        return Arrays.equals(a1, a2);
     }
 
 }


[httpcomponents-core] 02/02: Deprecate org.apache.hc.core5.util.LangUtils.equals(Object, Object) in favor or java.util.Objects.equals(Object, Object).

Posted by gg...@apache.org.
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/httpcomponents-core.git

commit 06c480b0fd15bc78781bf6505e4a5d0f8eb09905
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Thu Aug 25 08:35:54 2022 -0400

    Deprecate org.apache.hc.core5.util.LangUtils.equals(Object, Object) in
    favor or java.util.Objects.equals(Object, Object).
---
 RELEASE_NOTES.txt                                                 | 1 +
 .../main/java/org/apache/hc/core5/http2/hpack/HPackEncoder.java   | 4 ++--
 httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java    | 3 ++-
 .../java/org/apache/hc/core5/http/message/BasicNameValuePair.java | 3 ++-
 .../main/java/org/apache/hc/core5/http/message/HeaderGroup.java   | 4 ++--
 httpcore5/src/main/java/org/apache/hc/core5/net/URIAuthority.java | 5 +++--
 httpcore5/src/main/java/org/apache/hc/core5/pool/LaxConnPool.java | 4 ++--
 .../src/main/java/org/apache/hc/core5/pool/StrictConnPool.java    | 4 ++--
 httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java   | 2 ++
 .../src/test/java/org/apache/hc/core5/http/HeaderMatcher.java     | 5 +++--
 .../src/test/java/org/apache/hc/core5/http/HeadersMatcher.java    | 5 +++--
 .../java/org/apache/hc/core5/http/NameValuePairListMatcher.java   | 6 +++---
 .../src/test/java/org/apache/hc/core5/util/TestLangUtils.java     | 8 +++++---
 13 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 4aaf4ef6e..92f2b5439 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -2,6 +2,7 @@ Release 5.2 BETA3
 ------------------
 
 * Deprecate org.apache.hc.core5.util.LangUtils.equals(Object[], Object[]) in favor or java.util.Arrays.equals(Object[], Object[]).
+* Deprecate org.apache.hc.core5.util.LangUtils.equals(Object, Object) in favor or java.util.Objects.equals(Object, Object).
 
 
 Release 5.2 BETA2
diff --git a/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/hpack/HPackEncoder.java b/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/hpack/HPackEncoder.java
index c58218792..b64b27a51 100644
--- a/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/hpack/HPackEncoder.java
+++ b/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/hpack/HPackEncoder.java
@@ -35,12 +35,12 @@ import java.nio.charset.CharsetEncoder;
 import java.nio.charset.CoderResult;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.hc.core5.annotation.Internal;
 import org.apache.hc.core5.http.Header;
 import org.apache.hc.core5.util.Args;
 import org.apache.hc.core5.util.ByteArrayBuffer;
-import org.apache.hc.core5.util.LangUtils;
 
 /**
  * HPACK encoder.
@@ -245,7 +245,7 @@ public final class HPackEncoder {
         }
         for (int i = 0; i < entries.size(); i++) {
             final HPackEntry entry = entries.get(i);
-            if (LangUtils.equals(value, entry.getHeader().getValue())) {
+            if (Objects.equals(value, entry.getHeader().getValue())) {
                 return entry.getIndex();
             }
         }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
index 97baf76cf..52938cddb 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/HttpHost.java
@@ -31,6 +31,7 @@ import java.io.Serializable;
 import java.net.InetAddress;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.util.Objects;
 
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
@@ -333,7 +334,7 @@ public final class HttpHost implements NamedEndpoint, Serializable {
             final HttpHost that = (HttpHost) obj;
             return this.schemeName.equals(that.schemeName) &&
                     this.host.equals(that.host) &&
-                    LangUtils.equals(this.address, that.address);
+                    Objects.equals(this.address, that.address);
         }
         return false;
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
index b121cf2fb..ff21d4b3d 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/BasicNameValuePair.java
@@ -28,6 +28,7 @@
 package org.apache.hc.core5.http.message;
 
 import java.io.Serializable;
+import java.util.Objects;
 
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
@@ -93,7 +94,7 @@ public class BasicNameValuePair implements NameValuePair, Serializable {
         }
         if (obj instanceof BasicNameValuePair) {
             final BasicNameValuePair that = (BasicNameValuePair) obj;
-            return this.name.equalsIgnoreCase(that.name) && LangUtils.equals(this.value, that.value);
+            return this.name.equalsIgnoreCase(that.name) && Objects.equals(this.value, that.value);
         }
         return false;
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
index 465f963d9..072ea7ca5 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HeaderGroup.java
@@ -32,12 +32,12 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.hc.core5.http.Header;
 import org.apache.hc.core5.http.MessageHeaders;
 import org.apache.hc.core5.http.ProtocolException;
 import org.apache.hc.core5.util.CharArrayBuffer;
-import org.apache.hc.core5.util.LangUtils;
 import org.apache.hc.core5.util.TextUtils;
 
 /**
@@ -105,7 +105,7 @@ public class HeaderGroup implements MessageHeaders, Serializable {
 
     private boolean headerEquals(final Header header1, final Header header2) {
         return header2 == header1 || header2.getName().equalsIgnoreCase(header1.getName())
-                && LangUtils.equals(header1.getValue(), header2.getValue());
+                && Objects.equals(header1.getValue(), header2.getValue());
     }
 
     /**
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/net/URIAuthority.java b/httpcore5/src/main/java/org/apache/hc/core5/net/URIAuthority.java
index 5fa2553d4..a9fed758c 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/net/URIAuthority.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/net/URIAuthority.java
@@ -29,6 +29,7 @@ package org.apache.hc.core5.net;
 
 import java.io.Serializable;
 import java.net.URISyntaxException;
+import java.util.Objects;
 
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
@@ -179,8 +180,8 @@ public final class URIAuthority implements NamedEndpoint, Serializable {
         }
         if (obj instanceof URIAuthority) {
             final URIAuthority that = (URIAuthority) obj;
-            return LangUtils.equals(this.userInfo, that.userInfo) &&
-                    LangUtils.equals(this.host, that.host);
+            return Objects.equals(this.userInfo, that.userInfo) &&
+                    Objects.equals(this.host, that.host);
         }
         return false;
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/pool/LaxConnPool.java b/httpcore5/src/main/java/org/apache/hc/core5/pool/LaxConnPool.java
index f14a998e9..4a40470ee 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/pool/LaxConnPool.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/pool/LaxConnPool.java
@@ -29,6 +29,7 @@ package org.apache.hc.core5.pool;
 import java.util.Deque;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedDeque;
@@ -55,7 +56,6 @@ import org.apache.hc.core5.util.Args;
 import org.apache.hc.core5.util.Asserts;
 import org.apache.hc.core5.util.Deadline;
 import org.apache.hc.core5.util.DeadlineTimeoutException;
-import org.apache.hc.core5.util.LangUtils;
 import org.apache.hc.core5.util.TimeValue;
 import org.apache.hc.core5.util.Timeout;
 
@@ -445,7 +445,7 @@ public class LaxConnPool<T, C extends ModalCloseable> implements ManagedConnPool
                     if (entry.getExpiryDeadline().isExpired()) {
                         entry.discardConnection(CloseMode.GRACEFUL);
                     }
-                    if (!LangUtils.equals(entry.getState(), state)) {
+                    if (!Objects.equals(entry.getState(), state)) {
                         entry.discardConnection(CloseMode.GRACEFUL);
                     }
                     return entry;
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java b/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java
index 93e1b3193..9801cf82e 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java
@@ -32,6 +32,7 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.ListIterator;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.ExecutionException;
@@ -53,7 +54,6 @@ import org.apache.hc.core5.util.Args;
 import org.apache.hc.core5.util.Asserts;
 import org.apache.hc.core5.util.Deadline;
 import org.apache.hc.core5.util.DeadlineTimeoutException;
-import org.apache.hc.core5.util.LangUtils;
 import org.apache.hc.core5.util.TimeValue;
 import org.apache.hc.core5.util.Timeout;
 
@@ -531,7 +531,7 @@ public class StrictConnPool<T, C extends ModalCloseable> implements ManagedConnP
             final PerRoutePool<T, C> pool = getPool(route);
             int pendingCount = 0;
             for (final LeaseRequest<T, C> request: pendingRequests) {
-                if (LangUtils.equals(route, request.getRoute())) {
+                if (Objects.equals(route, request.getRoute())) {
                     pendingCount++;
                 }
             }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java b/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
index eca1b7f16..48b9d095d 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/util/LangUtils.java
@@ -64,7 +64,9 @@ public final class LangUtils {
      * @param obj1 first object to compare, may be {@code null}
      * @param obj2 second object to compare, may be {@code null}
      * @return {@code true} if the objects are equal or both null
+     * @deprecated Use {@link Objects#equals(Object)}.
      */
+    @Deprecated
     public static boolean equals(final Object obj1, final Object obj2) {
         return Objects.equals(obj1, obj2);
     }
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/HeaderMatcher.java b/httpcore5/src/test/java/org/apache/hc/core5/http/HeaderMatcher.java
index 31b247ffe..df7e04865 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/http/HeaderMatcher.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/http/HeaderMatcher.java
@@ -26,7 +26,8 @@
  */
 package org.apache.hc.core5.http;
 
-import org.apache.hc.core5.util.LangUtils;
+import java.util.Objects;
+
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -45,7 +46,7 @@ public class HeaderMatcher extends BaseMatcher<Header> {
     public boolean matches(final Object item) {
         if (item instanceof Header) {
             final Header header = (Header) item;
-            if (headerName.equalsIgnoreCase(header.getName()) && LangUtils.equals(headerValue, header.getValue())) {
+            if (headerName.equalsIgnoreCase(header.getName()) && Objects.equals(headerValue, header.getValue())) {
                 return true;
             }
         }
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/HeadersMatcher.java b/httpcore5/src/test/java/org/apache/hc/core5/http/HeadersMatcher.java
index d958d6e93..b4108428f 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/http/HeadersMatcher.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/http/HeadersMatcher.java
@@ -26,7 +26,8 @@
  */
 package org.apache.hc.core5.http;
 
-import org.apache.hc.core5.util.LangUtils;
+import java.util.Objects;
+
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -48,7 +49,7 @@ public class HeadersMatcher extends BaseMatcher<Header[]> {
                     final Header h1 = headers[i];
                     final Header h2 = expectedHeaders[i];
                     if (!h1.getName().equalsIgnoreCase(h2.getName())
-                            || !LangUtils.equals(h1.getValue(), h2.getValue())) {
+                            || !Objects.equals(h1.getValue(), h2.getValue())) {
                         return false;
                     }
                 }
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/NameValuePairListMatcher.java b/httpcore5/src/test/java/org/apache/hc/core5/http/NameValuePairListMatcher.java
index 4600c4f21..b802e8d82 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/http/NameValuePairListMatcher.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/http/NameValuePairListMatcher.java
@@ -29,8 +29,8 @@ package org.apache.hc.core5.http;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
-import org.apache.hc.core5.util.LangUtils;
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -55,8 +55,8 @@ public class NameValuePairListMatcher extends BaseMatcher<List<NameValuePair>> {
                 if (obj instanceof NameValuePair) {
                     final NameValuePair nvp = (NameValuePair) obj;
                     final NameValuePair expected = nvps.get(i);
-                    if (!LangUtils.equals(nvp.getName(), expected.getName())
-                            || !LangUtils.equals(nvp.getValue(), expected.getValue())) {
+                    if (!Objects.equals(nvp.getName(), expected.getName())
+                            || !Objects.equals(nvp.getValue(), expected.getValue())) {
                         return false;
                     }
                 }
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/util/TestLangUtils.java b/httpcore5/src/test/java/org/apache/hc/core5/util/TestLangUtils.java
index f7e05595e..5a0f2072e 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/util/TestLangUtils.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/util/TestLangUtils.java
@@ -27,6 +27,8 @@
 
 package org.apache.hc.core5.util;
 
+import java.util.Objects;
+
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -65,9 +67,9 @@ public class TestLangUtils {
     @Test
     public void testBasicEquality() {
         Assertions.assertTrue(LangUtils.equals(null, null));
-        Assertions.assertFalse(LangUtils.equals(null, "abc"));
-        Assertions.assertFalse(LangUtils.equals("abc", null));
-        Assertions.assertTrue(LangUtils.equals("abc", "abc"));
+        Assertions.assertFalse(Objects.equals(null, "abc"));
+        Assertions.assertFalse(Objects.equals("abc", null));
+        Assertions.assertTrue(Objects.equals("abc", "abc"));
     }
 
     @Test