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

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new e245052c9c SonarQube bug fixes
e245052c9c is described below

commit e245052c9c8dcf926d283891742cb512433ab6ac
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 12:28:33 2026 -0500

    SonarQube bug fixes
---
 .../src/main/java/org/apache/juneau/bean/LinkString.java      |  4 ++--
 .../java/org/apache/juneau/config/internal/ConfigMap.java     |  3 ++-
 .../org/apache/juneau/config/internal/ConfigMapEntry.java     |  1 +
 .../src/main/java/org/apache/juneau/MediaRanges.java          | 10 ++++++++++
 .../src/main/java/org/apache/juneau/collections/JsonList.java |  3 ++-
 .../src/main/java/org/apache/juneau/collections/JsonMap.java  |  1 +
 .../main/java/org/apache/juneau/internal/DelegateBeanMap.java | 10 ++++++++++
 .../main/java/org/apache/juneau/internal/DelegateList.java    | 10 ++++++++++
 .../src/main/java/org/apache/juneau/internal/DelegateMap.java | 10 ++++++++++
 .../java/org/apache/juneau/http/entity/BasicHttpEntity.java   |  2 +-
 .../java/org/apache/juneau/http/resource/BasicResource.java   |  2 +-
 .../org/apache/juneau/rest/httppart/RequestFormParams.java    | 10 ++++++++++
 .../java/org/apache/juneau/rest/httppart/RequestHeaders.java  | 10 ++++++++++
 .../java/org/apache/juneau/rest/httppart/RequestHttpPart.java | 11 +++++++++++
 .../org/apache/juneau/rest/httppart/RequestPathParams.java    | 10 ++++++++++
 .../org/apache/juneau/rest/httppart/RequestQueryParams.java   | 10 ++++++++++
 .../org/apache/juneau/rest/staticfile/BasicStaticFiles.java   |  2 +-
 17 files changed, 102 insertions(+), 7 deletions(-)

diff --git 
a/juneau-bean/juneau-bean-common/src/main/java/org/apache/juneau/bean/LinkString.java
 
b/juneau-bean/juneau-bean-common/src/main/java/org/apache/juneau/bean/LinkString.java
index 3a9adb7dc0..2a7afe1376 100644
--- 
a/juneau-bean/juneau-bean-common/src/main/java/org/apache/juneau/bean/LinkString.java
+++ 
b/juneau-bean/juneau-bean-common/src/main/java/org/apache/juneau/bean/LinkString.java
@@ -71,7 +71,7 @@ public class LinkString implements Comparable<LinkString> {
 
        @Override /* Overridden from Object */
        public boolean equals(Object o) {
-               return (o instanceof LinkString o2) && eq(this, o2, (x, y) -> 
x.name.equals(y.name));
+               return (o instanceof LinkString o2) && eq(this, o2, (x, y) -> 
eq(x.name, y.name));
        }
 
        /**
@@ -96,7 +96,7 @@ public class LinkString implements Comparable<LinkString> {
 
        @Override /* Overridden from Object */
        public int hashCode() {
-               return super.hashCode();
+               return name != null ? name.hashCode() : 0;
        }
 
        /**
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
index ff4b0b1465..0d27ab1d74 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMap.java
@@ -38,9 +38,10 @@ import org.apache.juneau.config.store.*;
 /**
  * Represents the parsed contents of a configuration.
  */
-@SuppressWarnings("resource")
+@SuppressWarnings({ "resource", "java:S1206" }) // Complex nested structure; 
value equality not practical
 public class ConfigMap implements ConfigStoreListener {
 
+       @SuppressWarnings("java:S1206") // Internal config structure; value 
equality not needed
        class ConfigSection {
 
                final String name;   // The config section name, or blank if 
the default section.  Never null.
diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
index e170d50fbf..2264f67bce 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/internal/ConfigMapEntry.java
@@ -30,6 +30,7 @@ import org.apache.juneau.commons.lang.*;
  *
  * This is a read-only object.
  */
+@SuppressWarnings("java:S1206") // Internal config representation; value 
equality not needed
 public class ConfigMapEntry {
        static final ConfigMapEntry NULL = new ConfigMapEntry(null, null, null, 
null, null);
        private static final AsciiSet REPLACE_CHARS = AsciiSet.of("\\#");
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MediaRanges.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MediaRanges.java
index 531fc91bd4..b8fe79065f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MediaRanges.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/MediaRanges.java
@@ -230,6 +230,16 @@ public class MediaRanges {
                return l(ranges);
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return o instanceof MediaRanges other && eq(this, other, (x, y) 
-> eq(x.string, y.string));
+       }
+
+       @Override
+       public int hashCode() {
+               return string != null ? string.hashCode() : 0;
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return string;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
index 5f7df5629c..bd4e9b8898 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonList.java
@@ -111,7 +111,8 @@ import org.apache.juneau.serializer.*;
  * @serial exclude
  */
 @SuppressWarnings({
-       "java:S110" // Class has many fields, acceptable for collection 
implementation
+       "java:S110",  // Class has many fields, acceptable for collection 
implementation
+       "java:S1206"  // Inherits equals/hashCode from LinkedList; List 
equality is element-based
 })
 public class JsonList extends LinkedList<Object> {
        @SuppressWarnings({
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
index 2aa7f91a86..66672cc5da 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/collections/JsonMap.java
@@ -104,6 +104,7 @@ import org.apache.juneau.swap.*;
  *     <li class='warn'>This class is not thread safe.
  * </ul>
  */
+@SuppressWarnings("java:S1206") // Inherits equals/hashCode from 
LinkedHashMap; Map equality is entrySet-based
 public class JsonMap extends LinkedHashMap<String,Object> {
        private static class UnmodifiableJsonMap extends JsonMap {
                private static final long serialVersionUID = 1L;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
index 426c3b8d54..c21a70ab5f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateBeanMap.java
@@ -150,6 +150,16 @@ public class DelegateBeanMap<T> extends BeanMap<T> {
                return null;
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof Map<?,?> m && 
entrySet().equals(m.entrySet()));
+       }
+
+       @Override
+       public int hashCode() {
+               return entrySet().hashCode();
+       }
+
        @Override /* Overridden from Map */
        public Object remove(Object key) {
                keys.remove(key);
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateList.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateList.java
index edbaeba416..2c68046a48 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateList.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateList.java
@@ -46,6 +46,16 @@ public class DelegateList<T extends Collection<?>> extends 
JsonList implements D
                this.classMeta = classMeta;
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof List<?> other && 
super.equals(other));
+       }
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
        @Override /* Overridden from Delegate */
        public ClassMeta<T> getClassMeta() { return classMeta; }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateMap.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateMap.java
index b78408cce1..c68e06853b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateMap.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/internal/DelegateMap.java
@@ -68,6 +68,16 @@ public class DelegateMap<T extends Map> extends JsonMap 
implements Delegate<T> {
                return this;
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof Map<?,?> m && 
entrySet().equals(m.entrySet()));
+       }
+
+       @Override
+       public int hashCode() {
+               return entrySet().hashCode();
+       }
+
        @Override /* Overridden from Delegate */
        public ClassMeta<T> getClassMeta() { return classMeta; }
 }
\ No newline at end of file
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
index dc26e373a5..b033eac7ba 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/entity/BasicHttpEntity.java
@@ -49,7 +49,7 @@ import org.apache.juneau.http.header.*;
  * </ul>
  */
 @BeanIgnore
-@SuppressWarnings("resource")
+@SuppressWarnings({ "resource", "java:S1206" }) // Content may be streams; 
value equality not practical
 public class BasicHttpEntity implements HttpEntity {
 
        /**
diff --git 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/resource/BasicResource.java
 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/resource/BasicResource.java
index 9e252f45d9..18399af41d 100644
--- 
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/resource/BasicResource.java
+++ 
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/resource/BasicResource.java
@@ -48,7 +48,7 @@ import org.apache.juneau.http.header.*;
  * </ul>
  */
 @BeanIgnore /* Use toString() to serialize */
-@SuppressWarnings("resource")
+@SuppressWarnings({ "resource", "java:S1206" }) // Depends on entity 
(streams); value equality not practical
 public class BasicResource implements HttpResource {
        BasicHttpEntity entity;
        HeaderList headers = HeaderList.create();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
index 19c6cba6cf..95f1d20fc5 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
@@ -567,6 +567,16 @@ public class RequestFormParams extends 
ArrayList<RequestFormParam> {
                // @formatter:on
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof RequestFormParams other && 
super.equals(other));
+       }
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return r(properties());
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHeaders.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHeaders.java
index d945fca392..66dd293b32 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHeaders.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHeaders.java
@@ -503,6 +503,16 @@ public class RequestHeaders extends 
ArrayList<RequestHeader> {
                // @formatter:on
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof RequestHeaders other && 
super.equals(other));
+       }
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return r(properties());
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
index 263451155e..5d17c909dd 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestHttpPart.java
@@ -22,6 +22,7 @@ import static org.apache.juneau.httppart.HttpPartType.*;
 import java.lang.reflect.*;
 import java.time.*;
 import java.util.*;
+import java.util.Objects;
 import java.util.regex.*;
 
 import org.apache.http.*;
@@ -517,6 +518,16 @@ public class RequestHttpPart {
                return this;
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return o instanceof NameValuePair nvp && eq(this, nvp, (x, y) 
-> eq(x.getName(), y.getName()) && eq(x.getValue(), y.getValue()));
+       }
+
+       @Override
+       public int hashCode() {
+               return Objects.hash(getName(), getValue());
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return getName() + "=" + getValue();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
index 38e5307cfa..7cac49f4da 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestPathParams.java
@@ -572,6 +572,16 @@ public class RequestPathParams extends 
ArrayList<RequestPathParam> {
                return m;
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof RequestPathParams other && 
super.equals(other));
+       }
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return r(properties());
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestQueryParams.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestQueryParams.java
index 3ff31d9c52..9e92a023c1 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestQueryParams.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestQueryParams.java
@@ -569,6 +569,16 @@ public class RequestQueryParams extends 
ArrayList<RequestQueryParam> {
                // @formatter:on
        }
 
+       @Override
+       public boolean equals(Object o) {
+               return this == o || (o instanceof RequestQueryParams other && 
super.equals(other));
+       }
+
+       @Override
+       public int hashCode() {
+               return super.hashCode();
+       }
+
        @Override /* Overridden from Object */
        public String toString() {
                return r(properties());
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
index 325eb8ffec..8cf3986133 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/staticfile/BasicStaticFiles.java
@@ -114,7 +114,7 @@ public class BasicStaticFiles implements StaticFiles {
 
        @Override /* Overridden from Object */
        public boolean equals(Object o) {
-               return super.equals(o) && o instanceof BasicStaticFiles o2 && 
eq(this, o2, (x, y) -> eq(x.headers, y.headers));
+               return this == o || (o instanceof BasicStaticFiles other && 
eq(this, other, (x, y) -> Arrays.equals(x.headers, y.headers)));
        }
 
        @Override /* Overridden from FileFinder */

Reply via email to