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 */